Commit 4bc8b79a by 宋毅

tj

parent 3cedda34
var system = require("../../../system"); var system = require("../../../system");
var settings = require("../../../../config/settings"); var settings = require("../../../../config/settings");
const CtlBase = require("../../ctl.base"); const CtlBase = require("../../ctl.base");
const md5 = require("MD5");
class tmqueryCtl extends CtlBase { class tmqueryCtl extends CtlBase {
constructor() { constructor() {
super(); super();
...@@ -25,19 +26,54 @@ class tmqueryCtl extends CtlBase { ...@@ -25,19 +26,54 @@ class tmqueryCtl extends CtlBase {
if (!pobj.actionBody) { if (!pobj.actionBody) {
return system.getResult(null, "actionBody不能为空"); return system.getResult(null, "actionBody不能为空");
} }
var reqobj = { var reqobj = {
"actionProcess": pobj.actionProcess || "", "actionProcess": pobj.actionProcess || "",
"actionType": pobj.actionType || "", "actionType": pobj.actionType || "",
"sign": pobj.sign || "", "sign": pobj.sign || "",
"isUser": pobj.isUser || "yes",//是否需要验证用户,no否,yes是 "isUser": pobj.isUser || "yes",//是否需要验证用户,no否,yes是
"isDecryptUser": pobj.isDecryptUser || "no",//是否解密用户Id,no否,yes是
"actionBody": pobj.actionBody || null "actionBody": pobj.actionBody || null
}; };
var tokenInfo = await this.getToken(reqobj.actionProcess); var tokenInfo = await this.getToken(reqobj.actionProcess);
if (tokenInfo.status != 0) { if (tokenInfo.status != 0) {
return tokenInfo; return tokenInfo;
} }
if (!pobj.timeStamp) {
let currentDate = Math.floor(new Date().getTime() / 1000);
reqobj.actionBody.timeStamp = currentDate;
}
var oldActionType = reqobj.actionType;
var oldActionBody = reqobj.actionBody;
if (reqobj.isDecryptUser == "yes") {
reqobj.actionType = "decryptStr";
reqobj.actionBody = { opStr: oldActionBody.channelUserId };
var decryptSignResult = await this.createSign(reqobj.actionBody, tokenInfo.data.secret);
if (decryptSignResult.status != 0) {
return decryptSignResult;
}
reqobj.sign = decryptSignResult.data;
var decryptResult = await this.execClient.execPostTK(reqobj, reqUrl, tokenInfo.data.token);
if (!decryptResult) {
return system.getResult(null, "处理decryptStr请求失败");
}
if (decryptResult.status && decryptResult.status != 0) {
return decryptResult;
}
if (!decryptResult.data || decryptResult.data == "") {
decryptResult.status = -201;
decryptResult.msg = "decrypt channelUserId error";
return decryptResult;
}
oldActionBody.channelUserId = decryptResult.data;
reqobj.actionType = oldActionType;
reqobj.actionBody = oldActionBody;
var signResult = await this.createSign(reqobj.actionBody, tokenInfo.data.secret);
if (signResult.status != 0) {
return signResult;
}
reqobj.sign = signResult.data;
}//解密操作
if (!reqobj.sign) { if (!reqobj.sign) {
var signInfo = await this.createSign(reqobj.actionBody, tokenInfo.data.secret); var signInfo = await this.createSign(reqobj.actionBody, tokenInfo.data.secret);
if (signInfo.status != 0) { if (signInfo.status != 0) {
...@@ -53,35 +89,36 @@ class tmqueryCtl extends CtlBase { ...@@ -53,35 +89,36 @@ class tmqueryCtl extends CtlBase {
if (result.status && result.status != 0) { if (result.status && result.status != 0) {
return result; return result;
} }
if (pobj.actionType == "getChannelOrderInfo") { // if (pobj.actionType == "getChannelOrderInfo") {
var tmpSkipUrl = await this.getPageSkipUrl(reqobj.actionProcess, reqobj.actionBody.itemCode); // var tmpSkipUrl = await this.getPageSkipUrl(reqobj.actionProcess, reqobj.actionBody.itemCode);
if (!tmpSkipUrl) { // if (!tmpSkipUrl) {
return system.getResult(null, "获取页面url失败"); // return system.getResult(null, "获取页面url失败");
} // }
result.skipUrl = tmpSkipUrl; // result.skipUrl = tmpSkipUrl;
}//获取渠道订单信息 // }//获取渠道订单信息
return result; return result;
} catch (e) { } catch (e) {
console.log(e.stack,"操作error..................."); console.log(e.stack, "操作error...................");
return system.getResult(null, "操作失败"); return system.getResult(null, "操作失败");
} }
} }
async getPageSkipUrl(reqType, itemCode) { // async getPageSkipUrl(reqType, itemCode) {
var self = this; // var self = this;
var skipUrl = ""; // var skipUrl = "";
switch (reqType) { // switch (reqType) {
case "1688": // case "1688":
if (self.appInfo["1688"].selfRegistProduct.indexOf(itemCode) < 0) { // if (self.appInfo["1688"].selfRegistProduct.indexOf(itemCode) < 0) {
skipUrl = "/#/1688/jdindentlist"; // skipUrl = "/#/1688/jdindentlist";
} else { // } else {
skipUrl = "/#/1688/selftmreg"; // skipUrl = "/#/1688/selftmreg";
} // }
break; // break;
default: // default:
break; // break;
} // }
return skipUrl; // return skipUrl;
} // }
async getToken(reqType) { async getToken(reqType) {
var self = this; var self = this;
var token = ""; var token = "";
...@@ -116,9 +153,6 @@ class tmqueryCtl extends CtlBase { ...@@ -116,9 +153,6 @@ class tmqueryCtl extends CtlBase {
if (!params) { if (!params) {
return system.getResult(null, "请求参数为空"); return system.getResult(null, "请求参数为空");
} }
if (!params.sign) {
return system.getResult(null, "请求参数sign为空");
}
if (!params.timeStamp) { if (!params.timeStamp) {
return system.getResult(null, "请求参数timeStamp为空"); return system.getResult(null, "请求参数timeStamp为空");
} }
......
...@@ -3,23 +3,38 @@ var System = require("../../base/system"); ...@@ -3,23 +3,38 @@ var System = require("../../base/system");
var metaCtl = System.getObject("web.common.metaCtl"); var metaCtl = System.getObject("web.common.metaCtl");
var tmqueryCtl = System.getObject("web.trademark.tmqueryCtl"); var tmqueryCtl = System.getObject("web.trademark.tmqueryCtl");
module.exports = function (app) { module.exports = function (app) {
app.get("/1688/proxy", async function (req, res) { app.get("/1688/selfRegister", async function (req, res) {
var params = { var params = {
actionProcess: "1688", actionProcess: "1688",
requrl: "/action/tmOrder/springBoard", requrl: "/action/tmOrder/springBoard",
actionType: "getChannelOrderInfo", actionType: "op1688ChannelPushOrder",
actionBody: req.query actionBody: req.query
}; };
if (params.actionBody.sign) { params.actionBody.channelItemCode = "1329709";
params.sign = params.actionBody.sign; var result = await tmqueryCtl.doPost(params, null, req);
delete params.actionBody["sign"]; if (result.status != 0) {
console.log(result, "result.........");
res.end(JSON.stringify(result));
return;
} }
var skipUrl = "/#/1688/jdindentlist?channelUserId=" + result.data;
res.redirect(skipUrl);
});
app.get("/1688/auxRegister", async function (req, res) {
var params = {
actionProcess: "1688",
requrl: "/action/tmOrder/springBoard",
actionType: "op1688ChannelPushOrder",
actionBody: req.query
};
params.actionBody.channelItemCode = "5743091";
var result = await tmqueryCtl.doPost(params, null, req); var result = await tmqueryCtl.doPost(params, null, req);
if (result.status != 0) { if (result.status != 0) {
console.log(result, "result.........");
res.end(JSON.stringify(result)); res.end(JSON.stringify(result));
return; return;
} }
var skipUrl = result.skipUrl + "?itemCode=" + result.itemCode + "&channelUser=" + JSON.stringify(result.data.channelUser) + "&channelOrder=" + JSON.stringify(result.data.channelOrder) + "&channelParams=" + result.channelParams; var skipUrl = "/#/1688/jdindentlist?channelUserId=" + result.data;
res.redirect(skipUrl); res.redirect(skipUrl);
}); });
app.get("/", async function (req, res) { app.get("/", async function (req, res) {
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
"author": "jy", "author": "jy",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"MD5": "^1.3.0",
"after": "^0.8.2", "after": "^0.8.2",
"ali-oss": "^4.12.2", "ali-oss": "^4.12.2",
"babel-polyfill": "^6.26.0", "babel-polyfill": "^6.26.0",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment