|
@@ -1,35 +1,39 @@
|
|
|
const sm4 = require('../js/SM4');
|
|
|
const SM4Exten = require('../js/SM4Exten');
|
|
|
const miniprogramsm4 = require("../miniprogram_npm/miniprogram-sm-crypto/index").sm4;
|
|
|
-const secretId = "D2BCF8DE-AA24-4BF6-9C34-C8DD325E412B";//小程序应用ID
|
|
|
-const Secret = "6C680A47B87740138DFB299FC69A64E1";//小程序应用密钥
|
|
|
-const api_root = 'http://192.168.5.5:5006/'
|
|
|
+const secretId = "D2BCF8DE-AA24-4BF6-9C34-C8DD325E412B"; //小程序应用ID
|
|
|
+const Secret = "6C680A47B87740138DFB299FC69A64E1"; //小程序应用密钥
|
|
|
+const api_root = 'http://192.168.0.202:5006/'
|
|
|
const CurrentBuId = '12345678-9abc-def0-1234-56789abcdef0';
|
|
|
|
|
|
function request(path, method = 'GET', data = null) {
|
|
|
var WachatID = wx.getStorageSync('WachatID')
|
|
|
- return new Promise((resolve, reject) => {
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
var sign_method = "HMAC_SM4";
|
|
|
- var url = api_root + path;
|
|
|
+ var url = api_root + path;
|
|
|
var nonce = generateRandomString();
|
|
|
const timestamp = Date.now();
|
|
|
console.log('data :' + data);
|
|
|
let jsonString = (data != null && method != 'GET') ? JSON.stringify(data) : '';
|
|
|
console.log('request :' + jsonString);
|
|
|
- var stringToSign = "sign_method=" +sign_method +
|
|
|
- "&secret_id=" +secretId+
|
|
|
- "&nonce=" + nonce +
|
|
|
- "×tamp=" + timestamp;
|
|
|
- if(jsonString != '')
|
|
|
- {
|
|
|
- stringToSign += "&"+jsonString
|
|
|
- }
|
|
|
+ var stringToSign = "sign_method=" + sign_method +
|
|
|
+ "&secret_id=" + secretId +
|
|
|
+ "&nonce=" + nonce +
|
|
|
+ "×tamp=" + timestamp;
|
|
|
+ if (jsonString != '') {
|
|
|
+ stringToSign += "&" + jsonString
|
|
|
+ }
|
|
|
+ const resultArray = path.split('?');
|
|
|
+ if (resultArray.length == 2) {
|
|
|
+ stringToSign += "&" + resultArray[1]
|
|
|
+ }
|
|
|
console.log('加密串 :' + stringToSign);
|
|
|
- let key = stringToHex(Secret);//key转16进制
|
|
|
- key = getFirst32Chars(key);//截取前16位
|
|
|
- let signature = miniprogramsm4.encrypt(stringToSign, key)//sm4加密
|
|
|
+ if(path == 'api/Site/GetSiteInfo') console.log('获取站点信息加密串 :' + stringToSign);
|
|
|
+ let key = stringToHex(Secret); //key转16进制
|
|
|
+ key = getFirst32Chars(key); //截取前16位
|
|
|
+ let signature = miniprogramsm4.encrypt(stringToSign, key) //sm4加密
|
|
|
//signature = signature.toUpperCase();
|
|
|
- signature = stringToBase64(signature);//加密字符串转base64
|
|
|
+ signature = stringToBase64(signature); //加密字符串转base64
|
|
|
console.log('signature :' + signature);
|
|
|
wx.request({
|
|
|
header: {
|
|
@@ -38,10 +42,10 @@ function request(path, method = 'GET', data = null) {
|
|
|
"nonce": nonce,
|
|
|
"timestamp": timestamp,
|
|
|
"signature": signature,
|
|
|
- "CurrentBuId" : CurrentBuId,
|
|
|
- "WachatID":WachatID
|
|
|
+ "CurrentBuId": CurrentBuId,
|
|
|
+ "WachatID": WachatID
|
|
|
},
|
|
|
- url: url,
|
|
|
+ url: url,
|
|
|
method: method,
|
|
|
data: data,
|
|
|
success: res => {
|
|
@@ -61,12 +65,12 @@ function request(path, method = 'GET', data = null) {
|
|
|
function stringToBase64(str) {
|
|
|
// 定义Base64字符集
|
|
|
const base64Chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
|
|
|
-
|
|
|
+
|
|
|
// 将字符串转换为UTF-8字节数组
|
|
|
let utf8Bytes = [];
|
|
|
for (let i = 0; i < str.length; i++) {
|
|
|
let charCode = str.charCodeAt(i);
|
|
|
-
|
|
|
+
|
|
|
if (charCode < 128) { // 1字节字符
|
|
|
utf8Bytes.push(charCode);
|
|
|
} else if (charCode < 2048) { // 2字节字符
|
|
@@ -115,7 +119,7 @@ function getFirst32Chars(str) {
|
|
|
if (typeof str !== 'string') {
|
|
|
throw new Error('Input must be a string');
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
// 如果字符串长度小于等于32,则返回整个字符串;否则返回前32个字符
|
|
|
return str.length <= 32 ? str : str.slice(0, 32);
|
|
|
}
|
|
@@ -156,7 +160,7 @@ function generateRandomString(minLength = 6, maxLength = 10) {
|
|
|
// }
|
|
|
//支付
|
|
|
function request_wechatPay(data) {
|
|
|
- return request('api/Transactions/UnifiedOrder?trxid='+ data, "GET",data);
|
|
|
+ return request('api/Transactions/UnifiedOrder?trxid=' + data, "POST", data);
|
|
|
}
|
|
|
|
|
|
//获取站点信息与用户信息
|
|
@@ -166,37 +170,51 @@ function request_GetSiteInfo() {
|
|
|
|
|
|
//小程序用户查询未支付订单
|
|
|
function request_GetMiniProgramTransactionsUnpaidQuery(data) {
|
|
|
- return request('api/Transactions/GetMiniProgramTransactionsUnpaidQuery', "GET",data);
|
|
|
+ return request('api/Transactions/GetMiniProgramTransactionsUnpaidQuery', "GET", data);
|
|
|
}
|
|
|
|
|
|
//小程序用户根据抢号查询未支付订单
|
|
|
function request_GetMiniProgramTransactionsUnpaidNozzle(data) {
|
|
|
- return request('api/Transactions/GetMiniProgramTransactionsUnpaidNozzle?NozzleId='+data, "GET",data);
|
|
|
+ return request('api/Transactions/GetMiniProgramTransactionsUnpaidNozzle?NozzleId=' + data, "GET", data);
|
|
|
}
|
|
|
//小程序登录
|
|
|
function request_Wechatlogin(data) {
|
|
|
- return request('api/Auth/Wechatlogin?code='+ data, "GET",data);
|
|
|
+ return request('api/Auth/Wechatlogin?code=' + data, "GET", data);
|
|
|
+}
|
|
|
+
|
|
|
+//获取历史订单
|
|
|
+function request_WXFindOrders(dateTime,pageNum,lineCount) {
|
|
|
+ return request('api/Transactions/WXFindOrders?dateTime='+ dateTime + '&pageNum='+ pageNum+ '&lineCount='+ lineCount, "GET");
|
|
|
}
|
|
|
|
|
|
//添加用户信息
|
|
|
function request_AddMiniprogramUser(data) {
|
|
|
- return request('api/Site/AddMiniprogramUser', "POST",data);
|
|
|
+ return request('api/Site/AddMiniprogramUser', "POST", data);
|
|
|
}
|
|
|
|
|
|
//向fcc发起油枪授权
|
|
|
function request_NozzleAuthorization(data) {
|
|
|
- return request('api/Nozzle/NozzleAuthorization?trxid=' +data, "GET",data);
|
|
|
+ return request('api/Nozzle/NozzleAuthorization?trxid=' + data, "GET", data);
|
|
|
}
|
|
|
|
|
|
//向fcc发起取消油枪授权
|
|
|
function request_CancelNozzleAuthorization(data) {
|
|
|
- return request('api/Nozzle/CancelNozzleAuthorization?trxid=' +data, "GET",data);
|
|
|
+ return request('api/Nozzle/CancelNozzleAuthorization?trxid=' + data, "GET", data);
|
|
|
}
|
|
|
//退款
|
|
|
function request_RefundTrx(data) {
|
|
|
- return request('api/Transactions/RefundTrx', "POST",data);
|
|
|
+ return request('api/Transactions/RefundTrx', "POST", data);
|
|
|
}
|
|
|
|
|
|
+//根据油枪id获取油枪信息
|
|
|
+function request_GetNozzleInfo(data) {
|
|
|
+ return request('api/Nozzle/GetFuelNozzleInfoById', 'GET', data)
|
|
|
+}
|
|
|
+
|
|
|
+//发送消息模板
|
|
|
+function request_sendMessage(data) {
|
|
|
+ return request('api/Transactions/SendMessage','POST',data)
|
|
|
+}
|
|
|
export default {
|
|
|
request_GetSiteInfo,
|
|
|
request_wechatPay,
|
|
@@ -207,5 +225,8 @@ export default {
|
|
|
request_GetMiniProgramTransactionsUnpaidQuery,
|
|
|
request_GetMiniProgramTransactionsUnpaidNozzle,
|
|
|
request_AddMiniprogramUser,
|
|
|
- request_RefundTrx
|
|
|
+ request_RefundTrx,
|
|
|
+ request_GetNozzleInfo,
|
|
|
+ request_WXFindOrders,
|
|
|
+ request_sendMessage
|
|
|
}
|