master
8 months ago
5 changed files with 133 additions and 18 deletions
@ -0,0 +1,47 @@
@@ -0,0 +1,47 @@
|
||||
/** |
||||
* 公用方法 |
||||
*/ |
||||
|
||||
import fs from 'node:fs'; |
||||
import { readdir, readFile } from 'node:fs/promises'; |
||||
import md5 from 'md5'; |
||||
|
||||
class Common { |
||||
|
||||
sortDict(obj) { //dict按key排序
|
||||
return Object.keys(obj).sort().reduce(function (result, key) { |
||||
result[key] = obj[key]; |
||||
return result; |
||||
}, {}); |
||||
} |
||||
|
||||
joinDict(obj, glue, separator) { //dict拼接成字符串
|
||||
if (typeof(glue) == 'undefined') { |
||||
glue = '='; |
||||
} |
||||
|
||||
if (typeof(separator) == 'undefined') { |
||||
separator = '&'; |
||||
} |
||||
|
||||
return Object.keys(obj).map(function(key) { |
||||
let arr = [key]; |
||||
let val = obj[key]; |
||||
if (typeof(val) == 'string' || typeof(val) == 'number') { |
||||
arr.push(val); |
||||
}else if (typeof(val) == 'object') { |
||||
arr.push(JSON.stringify(val)); |
||||
} |
||||
|
||||
return arr.join(glue); |
||||
}).join(separator); |
||||
} |
||||
|
||||
sign(params, token) { //对参数做MD5签名
|
||||
return md5( JSON.stringify(this.sortDict(params)) + token ); |
||||
} |
||||
|
||||
} |
||||
|
||||
let commonFuns = new Common(); |
||||
export default commonFuns; |
@ -0,0 +1,34 @@
@@ -0,0 +1,34 @@
|
||||
/** |
||||
* Common公用方法测试用例 |
||||
*/ |
||||
|
||||
import test from 'node:test'; |
||||
import assert from 'node:assert'; |
||||
import common from '../common.mjs'; |
||||
|
||||
|
||||
test('Common function sortDict test', (t) => { |
||||
let params = { |
||||
b: 2, |
||||
a: 1 |
||||
}; |
||||
|
||||
const expectRes = { |
||||
a: 1, |
||||
b: 2 |
||||
}; |
||||
|
||||
assert.deepEqual(common.sortDict(params), expectRes); |
||||
}); |
||||
|
||||
test('Common function joinDict test', (t) => { |
||||
let params = { |
||||
b: 2, |
||||
a: 1 |
||||
}; |
||||
|
||||
const expectRes = "a=1&b=2"; |
||||
|
||||
assert.strictEqual(common.joinDict(common.sortDict(params)), expectRes); |
||||
}); |
||||
|
@ -0,0 +1,16 @@
@@ -0,0 +1,16 @@
|
||||
{ |
||||
"name": "Hero Union Test", |
||||
"version": "0.1", |
||||
"author": "filesite.io", |
||||
"type": "module", |
||||
"dependencies": { |
||||
"axios": "^1.3.3", |
||||
"body-parser": "^1.20.1", |
||||
"express": "^4.18.2", |
||||
"md5": "^2.3.0", |
||||
"node-cron": "^3.0.2" |
||||
}, |
||||
"scripts": { |
||||
"test": "node common.test.mjs" |
||||
} |
||||
} |
Loading…
Reference in new issue