Kaynağa Gözat

config配置

dev_tt
@weixixuan 1 hafta önce
ebeveyn
işleme
37bff4a8eb

+ 26
- 1
wxminipro/plugin/config.js Dosyayı Görüntüle

@@ -26,15 +26,28 @@ const baseObject = {
reqEtcNewUrl: "https://qtzl.etcjz.cn/newDev/ndev",
privateKey: "6aa8a045fe88847e6394cb0171e24487b5486b9a0d3d7f700640b5ece2d69e4b",
publicKey: "048b9fed5495248d0f88f0084f98e8dc07e7eb1f7ac4077731cd57a42bd5f00d366083ff8b9493f7f8fafb196f93b0acfecd278eeef9d7d47c36366a3903e256b7",
//-----------------------
// reqEtcAppId: "52188934",
// sm3Key: "TlRJeE9EZzVNalZmTWpBeU5UQXhNVEV4TURNeU1EYz0=",
// reqEncryptType: "SM4",
// sm4Key: "0db682514bfeadd0"
//-----------------------

//-----------------------
// reqEtcAppId: "52088945",
// sm3Key: "TIRJd09EZzVORFZmTWpBeU5UQUNVGd5TWpJMk16UT0=",
// reqEncryptType: "SM4",
// sm4Key: "70c6bc714096bdcb"
//-----------------------

//-----------------------
reqEtcAppId: "admin001",
sm3Key: "WVdSdGFXNHdNREZmTWpBeU16QTRNRE09",
reqEncryptType: "NONE",
sm4Key: "MIGfMA0GCSqGSIb3"
//-----------------------

},
// 体验版
trial: {},
@@ -52,6 +65,7 @@ const baseObject = {
publicKey: "048b9fed5495248d0f88f0084f98e8dc07e7eb1f7ac4077731cd57a42bd5f00d366083ff8b9493f7f8fafb196f93b0acfecd278eeef9d7d47c36366a3903e256b7",
reqEtcAppId: "52088945",
sm3Key: "TIRJd09EZzVORFZmTWpBeU5UQUNVGd5TWpJMk16UT0=",
reqEncryptType: "SM4",
sm4Key: "70c6bc714096bdcb"
},
}
@@ -117,6 +131,16 @@ function updateData(data) {
pluginData.activeResult = data;
}

// 是否需要加密
function isNeedEncry () {
// appid为:admin001 不需要加密
if (configObj.reqEncryptType === 'NONE') {
return false
} else {
return true
}
}

// CommonJS 导出
module.exports = {
configObj,
@@ -126,5 +150,6 @@ module.exports = {
configPluginData,
failPluginData,
successPluginData,
updateData
updateData,
isNeedEncry
};

+ 8
- 3
wxminipro/plugin/network/request.js Dosyayı Görüntüle

@@ -1,11 +1,12 @@
const {
configObj
configObj, isNeedEncry
} = require('../config.js');
const {
encryption,
sm4Decrypt
} = require('../new-utils/encryption.js');


/**
* 网络请求工具类
* 封装微信小程序的网络请求,支持加密和签名
@@ -38,6 +39,7 @@ class NetworkRequest {
},
timeout: options.timeout || this.timeout,
success: (res) => {
console.log(res)
this.handleResponse(res, resolve, reject);
},
fail: (err) => {
@@ -114,8 +116,11 @@ class NetworkRequest {
});
} else {
if (res.bizContent) {
// decrypting = sm4Decrypt(res.bizContent);
decrypting = JSON.parse(res.bizContent);
if (isNeedEncry()) {
decrypting = sm4Decrypt(res.bizContent);
} else {
decrypting = JSON.parse(res.bizContent);
}
}
console.log("返回数据", decrypting)
if (decrypting.errcode != 0 && decrypting.errcode) {

+ 10
- 4
wxminipro/plugin/new-utils/encryption.js Dosyayı Görüntüle

@@ -5,7 +5,7 @@ const {
default: SM4Util
} = require('./sm4');
const sm3 = require('./SM3.js').sm3;
const configObj = require("../config.js").configObj;
const {configObj, isNeedEncry} = require("../config.js");

const _signCode = "etc123456"; //签名码
const s4 = new SM4Util();
@@ -216,12 +216,18 @@ function encryption(ifCode, subdata, type) {
let requestData = new Array();
requestData["ifCode"] = ifCode;
requestData["appId"] = configObj.reqEtcAppId; //"52088945";
requestData["encryptType"] = "NONE";
requestData["encryptType"] = configObj.reqEncryptType;

// 执行SM4加密
console.log("sm4Key", configObj.sm4Key)
requestData["bizContent"] = JSON.stringify(subdata);
// requestData["bizContent"] = s4.encryptData_CBC(subdata, configObj.sm4Key);

// 是否需要加密
if (isNeedEncry()) {
requestData["bizContent"] = s4.encryptData_CBC(subdata, configObj.sm4Key);
} else {
requestData["bizContent"] = JSON.stringify(subdata);
}

console.log('加密后的bizContent:', requestData["bizContent"]);

requestData["reqId"] = requestData["appId"] + "_" + getDate() + "_" + generateMixed(5);

Loading…
İptal
Kaydet