完善SDK

This commit is contained in:
六如
2025-02-02 21:14:07 +08:00
parent 10b060255c
commit e09c0106a0
8 changed files with 10 additions and 27 deletions

View File

@@ -83,11 +83,6 @@ module.exports = class BaseRequest {
* @returns 返回结果
*/
parseResponse(responseData) {
let data = responseData['error_response'];
if (!data) {
const dataNodeName = this.getMethod().replace(/\./g, '_') + '_response';
data = responseData[dataNodeName];
}
return data;
return responseData;
}
};

View File

@@ -1,20 +1,20 @@
const OpenClient = require('./common/OpenClient');
const StoryGetRequest = require('./request/StoryGetRequest');
const ProductGetRequest = require('./request/ProductGetRequest');
// 应用ID
const appId = '2019032617262200001';
// 应用私钥,2048位PKCS8
const privateKey = 'MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCXJv1pQFqWNA/++OYEV7WYXwexZK/J8LY1OWlP9X0T6wHFOvxNKRvMkJ5544SbgsJpVcvRDPrcxmhPbi/sAhdO4x2PiPKIz9Yni2OtYCCeaiE056B+e1O2jXoLeXbfi9fPivJZkxH/tb4xfLkH3bA8ZAQnQsoXA0SguykMRZntF0TndUfvDrLqwhlR8r5iRdZLB6F8o8qXH6UPDfNEnf/K8wX5T4EB1b8x8QJ7Ua4GcIUqeUxGHdQpzNbJdaQvoi06lgccmL+PHzminkFYON7alj1CjDN833j7QMHdPtS9l7B67fOU/p2LAAkPMtoVBfxQt9aFj7B8rEhGCz02iJIBAgMBAAECggEARqOuIpY0v6WtJBfmR3lGIOOokLrhfJrGTLF8CiZMQha+SRJ7/wOLPlsH9SbjPlopyViTXCuYwbzn2tdABigkBHYXxpDV6CJZjzmRZ+FY3S/0POlTFElGojYUJ3CooWiVfyUMhdg5vSuOq0oCny53woFrf32zPHYGiKdvU5Djku1onbDU0Lw8w+5tguuEZ76kZ/lUcccGy5978FFmYpzY/65RHCpvLiLqYyWTtaNT1aQ/9pw4jX9HO9NfdJ9gYFK8r/2f36ZE4hxluAfeOXQfRC/WhPmiw/ReUhxPznG/WgKaa/OaRtAx3inbQ+JuCND7uuKeRe4osP2jLPHPP6AUwQKBgQDUNu3BkLoKaimjGOjCTAwtp71g1oo+k5/uEInAo7lyEwpV0EuUMwLA/HCqUgR4K9pyYV+Oyb8d6f0+Hz0BMD92I2pqlXrD7xV2WzDvyXM3s63NvorRooKcyfd9i6ccMjAyTR2qfLkxv0hlbBbsPHz4BbU63xhTJp3Ghi0/ey/1HQKBgQC2VsgqC6ykfSidZUNLmQZe3J0p/Qf9VLkfrQ+xaHapOs6AzDU2H2osuysqXTLJHsGfrwVaTs00ER2z8ljTJPBUtNtOLrwNRlvgdnzyVAKHfOgDBGwJgiwpeE9voB1oAV/mXqSaUWNnuwlOIhvQEBwekqNyWvhLqC7nCAIhj3yvNQKBgQCqYbeec56LAhWP903Zwcj9VvG7sESqXUhIkUqoOkuIBTWFFIm54QLTA1tJxDQGb98heoCIWf5x/A3xNI98RsqNBX5JON6qNWjb7/dobitti3t99v/ptDp9u8JTMC7penoryLKK0Ty3bkan95Kn9SC42YxaSghzqkt+uvfVQgiNGQKBgGxU6P2aDAt6VNwWosHSe+d2WWXt8IZBhO9d6dn0f7ORvcjmCqNKTNGgrkewMZEuVcliueJquR47IROdY8qmwqcBAN7Vg2K7r7CPlTKAWTRYMJxCT1Hi5gwJb+CZF3+IeYqsJk2NF2s0w5WJTE70k1BSvQsfIzAIDz2yE1oPHvwVAoGAA6e+xQkVH4fMEph55RJIZ5goI4Y76BSvt2N5OKZKd4HtaV+eIhM3SDsVYRLIm9ZquJHMiZQGyUGnsvrKL6AAVNK7eQZCRDk9KQz+0GKOGqku0nOZjUbAu6A2/vtXAaAuFSFx1rUQVVjFulLexkXR3KcztL1Qu2k5pB6Si0K/uwQ=';
// 接口url
const url = 'http://localhost:8081';
const url = 'http://localhost:8081/api';
// 创建客户端
const openClient = new OpenClient().setUrl(url).setAppId(appId).setPrivateKey(privateKey);
(async () => {
// 创建请求
const request = new StoryGetRequest();
const request = new ProductGetRequest();
// 设置业务参数
const bizModel = {

View File

@@ -4,7 +4,7 @@
## 封装步骤
1. 新建request类继承BaseRequest参考`StoryGetRequest.js`
1. 新建request类继承BaseRequest参考`ProductGetRequest.js`
2. 调用接口,参考`main.js`

View File

@@ -4,9 +4,9 @@ const RequestType = require('../common/RequestType');
/**
* 创建一个请求类继承BaseRequest重写三个函数
*/
module.exports = class StoryGetRequest extends BaseRequest {
module.exports = class ProductGetRequest extends BaseRequest {
getMethod() {
return 'story.get';
return 'product.get';
}
getVersion() {

View File

@@ -40,11 +40,7 @@ class BaseRequest:
raise Exception('未实现BaseRequest.get_request_type()方法')
def parse_response(self, response_dict):
response_data = response_dict.get('error_response')
if response_data is None:
data_name = self.get_method().replace('.', '_') + '_response'
response_data = response_dict.get(data_name)
return response_data
return response_dict

View File

@@ -48,7 +48,7 @@ class MyTestCase(unittest.TestCase):
# for f in files.values():
# f.close()
if response.get('code') == '10000':
if response.get('code') == '0':
print 'response: ', response
print 'is_vip:', response.get('member_info').get('is_vip', 0)
else:

View File

@@ -29,12 +29,7 @@ pub trait Request {
fn get_base(&self) -> &BaseRequest;
fn parse_response<T: DeserializeOwned>(&self, root: HashMap<String, Value>) -> T {
let mut data = root.get("error_response");
if data.is_none() {
let data_name = self.get_method().replace(".", "_") + "_response";
data = root.get(data_name.as_str());
}
let value = serde_json::to_value(data.unwrap()).unwrap();
let value = serde_json::to_value(root).unwrap();
serde_json::from_value(value).unwrap()
}
}