yuebonui-vue3/src/utils/yuebon.js
(开头部分) 1KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
import md5 from 'js-md5'
/**
* 获取一个32位随机字符串
* @returns
*/
export function GetRandomString() {
var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789'
var maxPos = chars.length
var pwd = ''
for (var i = 0; i < 32; i++) {
pwd += chars.charAt(Math.floor(Math.random() * maxPos))
}
return pwd
}
/**
* 签名
* @param config 请求配置
* @param nonce 随机字符串
* @param timestamp 签名时间戳
* @param appSecret 应用密钥
* @param method 请求方式
*/
export function sign(config, nonce, timestamp, appSecret) {
// 签名格式: timestamp + nonce + data(字典升序)+appSecret
const ret = []
if (config.params) {
const pArray = []
const data = config.params
for (const it in data) {
pArray.push(it)
}
// 字典升序
const sArray = pArray.sort()
for (const it of sArray) {
let val = data[it]
if (typeof val === 'object' && //
(!(val instanceof Array) || (val.length > 0 && (typeof val[0] === 'object')))) {
val = JSON.stringify(val)
}
ret.push(it + val)
}
} else {
ret.push(JSON.stringify(config.data))
}
const signsrc = timestamp + nonce + ret.join('') + appSecret
return md5(signsrc)
}
// 返回项目路径
export function getNormalPath(p) {
if (p.length === 0 || !p || p == 'undefined') {
return p
};
let res = p.replace('//', '/')
if (res[res.length - 1] === '/') {
return res.slice(0, res.length - 1)
}
return res;
后面还有 14 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。