const CryptoJS = require('crypto') class Tik { // 创建签名 createSignature (secretKey, data) { const hmac = CryptoJS.createHmac('sha256', secretKey) hmac.update(this.toQueryString(data)) return hmac.digest('hex') } // 将map转换为queryString toQueryString (data) { let queryString = '' for (let key in data) { queryString = queryString + `${key}=${data[key]}&` } return queryString.substring(0, queryString.length - 1) } // 获取最终QueryURL toFinalQueryURL (url, data, signature) { return url + '?' + this.toQueryString(data) + '&signature=' + signature } } module.exports = Tik