1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | const CryptoJS = require("crypto-js"); const axios = require('axios'); const dayjs = require("dayjs"); const params = { token: '58e94a16-ef31-486c-90fb-b689e71a4621', app_key: '7c3000cb9dbe4610b7f27a2e16c279cc', timestamp: new Date(), format: 'json', v: '1.0', // jd_param_json: { // "skuId": "123456789", // "stationNo": "135792468", // "price": "20", // "marketPrice": "20" // }, jd_param_json: { "StoreNo":'12329110' } } const appSecret = '285e8394f0ab40eba7babbde0a6713fc' function concatParams(params) { params.timestamp = dayjs(params.timestamp).format('YYYY-MM-DD hh:mm:ss') const keysArr = Object.keys(params).sort() const mapParams = new Array() keysArr.forEach(item => { if (isJsonObj(params[item])) { params[item] = JSON.stringify(params[item]) } mapParams.push(item, params[item]) }); return mapParams } function isJsonObj(obj) { var isjson = typeof (obj) == "object" && Object.prototype.toString.call(obj).toLowerCase() == "[object object]" && !obj.length; return isjson; } function getSign(params, appSecret) { const sysStr = concatParams(params).join('') const resultStr = `${appSecret}${sysStr}${appSecret}` const md5ResultStr = CryptoJS.MD5(resultStr).toString().toUpperCase() console.log(md5ResultStr); return md5ResultStr; } // getSign(params,appSecret) async function getData(params, appSecret) { const sign = getSign(params, appSecret) // const res = await axios.get(`https://openapi.jddj.com/mockapi/order/finish?jd_param_json=${params.jd_param_json}&token=${params.token}&app_key=${params.app_key}×tamp=${params.timestamp}&v=${params.v}&format=${params.format}&sign=${sign}`) // const res = await axios.get('https://api.apiopen.top/api/getHaoKanVideo?page=0&size=2') const url = `https://openapi.jddj.com/djapi/storeapi/getStoreInfoByStationNo?jd_param_json=${params.jd_param_json}&token=${params.token}&app_key=${params.app_key}×tamp=${params.timestamp}&v=${params.v}&format=${params.format}&sign=${sign}` const encodeUrl = encodeURI(url) const res = await axios( { method:'get', url: encodeUrl, }) console.log(res.data); } getData(params, appSecret) |
接入第三方api接口,前端js签名算法
最新推荐文章于 2024-05-30 08:49:28 发布