1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- // signatureUtil.js
- import md5 from "js-md5";
- export function signatureGenerate({ data, url, headers }) {
- // 参数签名 密钥 + 时间戳 + header参数 + url
- // 密钥
- let secret = "3g7Xn1yl";
- // 时间戳
- let timestamp = new Date().getTime();
-
- // post参数
- let dataStr = dataSerialize(dataSort(data));
- // console.log("签名部分,排序后的请求参数");
- // console.log(dataStr);
- let str = (url + dataStr + "timestamp=" + timestamp).toUpperCase() + secret;
- const sign = md5(str).toUpperCase();
- return {
- signature: sign,
- timestamp,
- secret,
- };
- }
- // 参数排序
- function dataSort(obj) {
- if (JSON.stringify(obj) == "{}" || obj == null) {
- return {};
- }
- let key = Object.keys(obj).sort();
- let newObj = {};
- for (let i = 0; i < key.length; i++) {
- newObj[key[i]] = obj[key[i]];
- }
- return newObj;
- }
- // 参数序列化
- function dataSerialize(sortObj) {
- let strJoin = "";
- for (let key in sortObj) {
- if (notObject(sortObj[key])) {
- strJoin += key + "=" + sortObj[key] + "&";
- }
-
-
-
-
- }
- // console.log(strJoin)
- return strJoin;
- }
- function notObject(value) {
- return typeof value != 'object' ;
- }
|