var KJUR = require("./jsrsasign-latest-all-copy.js");
var { formatTime
} = require('./util.js')
var privateKey_pkcs1 = '-----BEGIN PRIVATE KEY-----\n' +
'MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAIrRLDgUd2KN4+4Cp\n' +
'P+B2/iYGMG8Rroo1kQSlxHvi0kXI1bR12jo2xEgIsEj4oq5MFJNWoVX6c6q35jjNg\n' +
'kcNdRTIuUbXXokrbhiT98usV7ofzB9sdcG5k+G8d4pYEy0Y9bv6uixfkIWO0Gcyi+\n' +
'4nF5zsDaKa7nRzWLxrufaqtJpAgMBAAECgYArN3Gvx9dfDFOAfrxFe3UzEI7siaPv\n' +
'QtVp/eugPtY7HAP5fHy2gX/p9fo77OMTUxITHVfoGXWFzLatz1a8QVcUXDM0I/9N5\n' +
'nGBCmpviQC+w/j/E08hpus8BAh9lRb8vMoMgLgx3Gb1Tc9rmIOiXtiZIVo28F28ep\n' +
'onBPPgwdlDvQJBAM3y8eODfut5gTtLvrN+6SM4xT6Zbbn5l0mqiU9HO+28zwQkVRp\n' +
'5gxzc+9MkDX2zzzR7mnD7RrWp+Cq8VB27+u8CQQCsjaKzT2L0QI5H7xX8fgJtj45J\n' +
'cbXGXsY54nHHSFU5P50MDQJS48AoDBVhqupm1iP+iHV4zUaM95g1iiaOUegnAkBj+\n' +
'Zmevkiweo1XgY+ThvoZ1Qc7OjPf4d+lLRn22DepUsyT0CdX8MDLFCNS/d9mtBDUA2\n' +
'SXkANlUJtd84pJ3OUVAkBCIYIykIFPNRKSlRnrC+woSzVwBmlxHk+ATb3nb1xiNXQ\n' +
'd8zppxCmX75GePd/aC8X9vhSveJTKX/XwxwKh1thPAkBlvz74WAzgI0LwSiiIPM00\n' +
'm7xfdOjpUTRIZrXx1SCrBiZFXGkFIKBaGAAnoqQ8PcZOCfE5zyeUxGklyc27O61R\n' +
'-----END PRIVATE KEY-----'
var publicKey_pkcs1 = '-----BEGIN PUBLIC KEY-----MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCk7WKdggwBOtteLL5sPom8RYCjuw0hy6R1jH39tCaep1Dns02bi4CYHk2dSR / t0ABgF5pHYeMxHa74Dp6Z6SjfAKMUu53BbTR615ehK + 03BjtzJzviTF1/ NtLmGaR3aawrDp7oQgq33dfIYbWLuAMkHNiWaoXaGyHh3a8jS2vxfQIDAQAB-----END PUBLIC KEY-----'
var baseUrl = 'https://www.jdd966.com/CoBrandedCard'
var timestamp = formatTime()
var version = '3.0.0'
const versionAdd = {
version,
timestamp
}
function toSha1 (params) {
console.log('params', params)
var str = '';//拼接参数
const arr = Object.keys(params.data)
for (var i in arr) {
str += arr[i] + '=' + data[arr[i]] + '&';
}
str = str.substr(0, str.length - 1);
var data = params.url + '?' + str;
// 方式1: 先建立 key 对象, 构建 signature 实例, 传入 key 初始化 -> 签名
// 创建 Signature 对象
let signature = new KJUR.KJUR.crypto.Signature({ alg: "SHA1withRSA" });
// 传入key实例, 初始化signature实例
signature.init(privateKey_pkcs1);
// 传入待签明文
signature.updateString(data);
// 签名, 得到16进制字符结果
let a = signature.sign();
let sign = KJUR.hextob64(a);
console.log("a", sign);
return {
sign: sign
}
}
export default {
request (json) {
json.data = Object.assign(json.data, versionAdd)
console.log("xcq", json)
wx.request({
url: json.url,
header: {
'content-type': 'application/json'
},
responseType: json.type,
data: json.data,
dataType: json.dataType,
success (res) {
fnSuc && fnSuc(ret);
repeat = true;
},
error: function (err) {
errSuc && errSuc(err);
repeat = true;
}
})
},
axiosPost (json) {
console.log('json', json)
json.data = toSha1(json)
return new Promise((resolve, reject) => {
wx.request({
url: baseUrl + json.url,
data: json.data,
method: 'POST', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
header: {
'content-type': 'application/x-www-form-urlencoded'
},// 设置请求的 header
success: function (res) {
resolve(res)
},
fail: function (err) {
reject(err)
},
complete: function () {
// complete
}
})
})
},
axiosGet (json) {
return new Promise((resolve, reject) => {
json.data = toSha1(json)
wx.request({
url: baseUrl + json.url,
data: json.data,
method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
header: {
'Content-Type': 'application/json'
},// 设置请求的 header
success: function (res) {
resolve(res)
},
fail: function (err) {
reject(err)
},
complete: function () {
// complete
}
})
})
}
}