Commit 4bc8b79a by 宋毅

tj

parent 3cedda34
var system = require("../../../system");
var settings = require("../../../../config/settings");
const CtlBase = require("../../ctl.base");
const md5 = require("MD5");
class tmqueryCtl extends CtlBase {
constructor() {
super();
......@@ -25,19 +26,54 @@ class tmqueryCtl extends CtlBase {
if (!pobj.actionBody) {
return system.getResult(null, "actionBody不能为空");
}
var reqobj = {
"actionProcess": pobj.actionProcess || "",
"actionType": pobj.actionType || "",
"sign": pobj.sign || "",
"isUser": pobj.isUser || "yes",//是否需要验证用户,no否,yes是
"isDecryptUser": pobj.isDecryptUser || "no",//是否解密用户Id,no否,yes是
"actionBody": pobj.actionBody || null
};
var tokenInfo = await this.getToken(reqobj.actionProcess);
if (tokenInfo.status != 0) {
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) {
var signInfo = await this.createSign(reqobj.actionBody, tokenInfo.data.secret);
if (signInfo.status != 0) {
......@@ -53,35 +89,36 @@ class tmqueryCtl extends CtlBase {
if (result.status && result.status != 0) {
return result;
}
if (pobj.actionType == "getChannelOrderInfo") {
var tmpSkipUrl = await this.getPageSkipUrl(reqobj.actionProcess, reqobj.actionBody.itemCode);
if (!tmpSkipUrl) {
return system.getResult(null, "获取页面url失败");
}
result.skipUrl = tmpSkipUrl;
}//获取渠道订单信息
// if (pobj.actionType == "getChannelOrderInfo") {
// var tmpSkipUrl = await this.getPageSkipUrl(reqobj.actionProcess, reqobj.actionBody.itemCode);
// if (!tmpSkipUrl) {
// return system.getResult(null, "获取页面url失败");
// }
// result.skipUrl = tmpSkipUrl;
// }//获取渠道订单信息
return result;
} catch (e) {
console.log(e.stack,"操作error...................");
console.log(e.stack, "操作error...................");
return system.getResult(null, "操作失败");
}
}
async getPageSkipUrl(reqType, itemCode) {
var self = this;
var skipUrl = "";
switch (reqType) {
case "1688":
if (self.appInfo["1688"].selfRegistProduct.indexOf(itemCode) < 0) {
skipUrl = "/#/1688/jdindentlist";
} else {
skipUrl = "/#/1688/selftmreg";
}
break;
default:
break;
}
return skipUrl;
}
// async getPageSkipUrl(reqType, itemCode) {
// var self = this;
// var skipUrl = "";
// switch (reqType) {
// case "1688":
// if (self.appInfo["1688"].selfRegistProduct.indexOf(itemCode) < 0) {
// skipUrl = "/#/1688/jdindentlist";
// } else {
// skipUrl = "/#/1688/selftmreg";
// }
// break;
// default:
// break;
// }
// return skipUrl;
// }
async getToken(reqType) {
var self = this;
var token = "";
......@@ -116,9 +153,6 @@ class tmqueryCtl extends CtlBase {
if (!params) {
return system.getResult(null, "请求参数为空");
}
if (!params.sign) {
return system.getResult(null, "请求参数sign为空");
}
if (!params.timeStamp) {
return system.getResult(null, "请求参数timeStamp为空");
}
......
......@@ -3,23 +3,38 @@ var System = require("../../base/system");
var metaCtl = System.getObject("web.common.metaCtl");
var tmqueryCtl = System.getObject("web.trademark.tmqueryCtl");
module.exports = function (app) {
app.get("/1688/proxy", async function (req, res) {
app.get("/1688/selfRegister", async function (req, res) {
var params = {
actionProcess: "1688",
requrl: "/action/tmOrder/springBoard",
actionType: "getChannelOrderInfo",
actionType: "op1688ChannelPushOrder",
actionBody: req.query
};
if (params.actionBody.sign) {
params.sign = params.actionBody.sign;
delete params.actionBody["sign"];
params.actionBody.channelItemCode = "1329709";
var result = await tmqueryCtl.doPost(params, null, req);
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);
if (result.status != 0) {
console.log(result, "result.........");
res.end(JSON.stringify(result));
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);
});
app.get("/", async function (req, res) {
......
......@@ -9,6 +9,7 @@
"author": "jy",
"license": "ISC",
"dependencies": {
"MD5": "^1.3.0",
"after": "^0.8.2",
"ali-oss": "^4.12.2",
"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