1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- import CryptoJS from 'crypto-js'
- const TopDomain = 'hoolihome.com'
- export const commonParams = (language, userToken) => {
- language = language || 'cn'
- userToken = userToken || ''
- let params = {
- language, // 语言参数
- deviceType: 'web', // 接口调用来源参数
- deviceId: 'node', // 设备唯一标识码
- apiVersion: '1.4.3', // api版本号
- systemVersion: 'v10.8.0' // 操作系统及版本号
- }
- if (typeof window !== 'undefined') {
- // browser
- let { navigator } = window
- let systemInfo = {
- appCodeName: navigator.appCodeName || '',
- appName: navigator.appName || '',
- appVersion: navigator.appVersion || ''
- }
- params.deviceId = systemInfo.appCodeName + '_' + systemInfo.appName
- params.systemVersion = systemInfo.appVersion
- }
- if (userToken) {
- params.token = userToken
- }
- return params
- }
- export const paramsSign = (params, url) => {
- /* 参数签名 */
- const commonReg = new RegExp(TopDomain + '(:\\d+)?/common/')
- let key = '1ecb91284fffeec4686220a450596af4'
- if (commonReg.test(url)) {
- key = 'b15681f74461af9642ab5356fba7962b'
- }
- let allKeys = []
- let paramsLower = {}
- let sArr = []
- let res = ''
- for (let k in params) {
- let kLower = k
- allKeys.push(kLower)
- paramsLower[kLower] = ''
- if (params[k] && params[k] !== 'undefined') {
- paramsLower[kLower] = params[k]
- }
- }
- allKeys.sort()
- allKeys.forEach((v, i, a) => {
- sArr.push(`${v}=${paramsLower[v]}`)
- })
- sArr.push(`key=${key}`)
- res = sArr.join('&')
- res = CryptoJS.MD5(res).toString()
- return res.toLowerCase()
- }
|