mirror of
https://gitee.com/durcframework/SOP.git
synced 2025-08-11 12:56:28 +08:00
完善SDK
This commit is contained in:
@@ -1,11 +1,8 @@
|
|||||||
package com.gitee.sop.gateway.config;
|
package com.gitee.sop.gateway.config;
|
||||||
|
|
||||||
import com.gitee.sop.gateway.service.ParamExecutor;
|
import com.gitee.sop.gateway.service.ParamExecutor;
|
||||||
import com.gitee.sop.gateway.service.RouteService;
|
|
||||||
import com.gitee.sop.gateway.service.Serde;
|
import com.gitee.sop.gateway.service.Serde;
|
||||||
import com.gitee.sop.gateway.service.impl.ParamExecutorImpl;
|
import com.gitee.sop.gateway.service.impl.ParamExecutorImpl;
|
||||||
import com.gitee.sop.gateway.service.impl.RestRouteServiceImpl;
|
|
||||||
import com.gitee.sop.gateway.service.impl.RouteServiceImpl;
|
|
||||||
import com.gitee.sop.gateway.service.impl.SerdeGsonImpl;
|
import com.gitee.sop.gateway.service.impl.SerdeGsonImpl;
|
||||||
import com.gitee.sop.gateway.service.impl.SerdeImpl;
|
import com.gitee.sop.gateway.service.impl.SerdeImpl;
|
||||||
import com.gitee.sop.gateway.service.manager.ApiManager;
|
import com.gitee.sop.gateway.service.manager.ApiManager;
|
||||||
|
@@ -83,11 +83,6 @@ module.exports = class BaseRequest {
|
|||||||
* @returns 返回结果
|
* @returns 返回结果
|
||||||
*/
|
*/
|
||||||
parseResponse(responseData) {
|
parseResponse(responseData) {
|
||||||
let data = responseData['error_response'];
|
return responseData;
|
||||||
if (!data) {
|
|
||||||
const dataNodeName = this.getMethod().replace(/\./g, '_') + '_response';
|
|
||||||
data = responseData[dataNodeName];
|
|
||||||
}
|
|
||||||
return data;
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@@ -1,20 +1,20 @@
|
|||||||
const OpenClient = require('./common/OpenClient');
|
const OpenClient = require('./common/OpenClient');
|
||||||
|
|
||||||
const StoryGetRequest = require('./request/StoryGetRequest');
|
const ProductGetRequest = require('./request/ProductGetRequest');
|
||||||
|
|
||||||
// 应用ID
|
// 应用ID
|
||||||
const appId = '2019032617262200001';
|
const appId = '2019032617262200001';
|
||||||
// 应用私钥,2048位,PKCS8
|
// 应用私钥,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=';
|
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
|
// 接口url
|
||||||
const url = 'http://localhost:8081';
|
const url = 'http://localhost:8081/api';
|
||||||
|
|
||||||
// 创建客户端
|
// 创建客户端
|
||||||
const openClient = new OpenClient().setUrl(url).setAppId(appId).setPrivateKey(privateKey);
|
const openClient = new OpenClient().setUrl(url).setAppId(appId).setPrivateKey(privateKey);
|
||||||
|
|
||||||
(async () => {
|
(async () => {
|
||||||
// 创建请求
|
// 创建请求
|
||||||
const request = new StoryGetRequest();
|
const request = new ProductGetRequest();
|
||||||
|
|
||||||
// 设置业务参数
|
// 设置业务参数
|
||||||
const bizModel = {
|
const bizModel = {
|
||||||
|
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
## 封装步骤
|
## 封装步骤
|
||||||
|
|
||||||
1. 新建request类,继承BaseRequest,参考`StoryGetRequest.js`
|
1. 新建request类,继承BaseRequest,参考`ProductGetRequest.js`
|
||||||
|
|
||||||
2. 调用接口,参考`main.js`
|
2. 调用接口,参考`main.js`
|
||||||
|
|
||||||
|
@@ -4,9 +4,9 @@ const RequestType = require('../common/RequestType');
|
|||||||
/**
|
/**
|
||||||
* 创建一个请求类,继承BaseRequest,重写三个函数
|
* 创建一个请求类,继承BaseRequest,重写三个函数
|
||||||
*/
|
*/
|
||||||
module.exports = class StoryGetRequest extends BaseRequest {
|
module.exports = class ProductGetRequest extends BaseRequest {
|
||||||
getMethod() {
|
getMethod() {
|
||||||
return 'story.get';
|
return 'product.get';
|
||||||
}
|
}
|
||||||
|
|
||||||
getVersion() {
|
getVersion() {
|
@@ -40,11 +40,7 @@ class BaseRequest:
|
|||||||
raise Exception('未实现BaseRequest.get_request_type()方法')
|
raise Exception('未实现BaseRequest.get_request_type()方法')
|
||||||
|
|
||||||
def parse_response(self, response_dict):
|
def parse_response(self, response_dict):
|
||||||
response_data = response_dict.get('error_response')
|
return response_dict
|
||||||
if response_data is None:
|
|
||||||
data_name = self.get_method().replace('.', '_') + '_response'
|
|
||||||
response_data = response_dict.get(data_name)
|
|
||||||
return response_data
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -48,7 +48,7 @@ class MyTestCase(unittest.TestCase):
|
|||||||
# for f in files.values():
|
# for f in files.values():
|
||||||
# f.close()
|
# f.close()
|
||||||
|
|
||||||
if response.get('code') == '10000':
|
if response.get('code') == '0':
|
||||||
print 'response: ', response
|
print 'response: ', response
|
||||||
print 'is_vip:', response.get('member_info').get('is_vip', 0)
|
print 'is_vip:', response.get('member_info').get('is_vip', 0)
|
||||||
else:
|
else:
|
||||||
|
@@ -29,12 +29,7 @@ pub trait Request {
|
|||||||
fn get_base(&self) -> &BaseRequest;
|
fn get_base(&self) -> &BaseRequest;
|
||||||
|
|
||||||
fn parse_response<T: DeserializeOwned>(&self, root: HashMap<String, Value>) -> T {
|
fn parse_response<T: DeserializeOwned>(&self, root: HashMap<String, Value>) -> T {
|
||||||
let mut data = root.get("error_response");
|
let value = serde_json::to_value(root).unwrap();
|
||||||
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();
|
|
||||||
serde_json::from_value(value).unwrap()
|
serde_json::from_value(value).unwrap()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user