function signGenerate(data,clourse=function(el){
return encodeURIComponent(el);
}) {
if (typeof data == 'object' && Object.keys(data).length > 0) {
let _data = [];
for (let key in data) {
if (data.hasOwnProperty(key)) {
let val = data[key];
if (typeof val != 'string' && typeof val != 'number') {
val = JSON.stringify(val)
}
_data.push({
key: key,
val: val
})
}
}
if (!_data) {
return data;
}
_data.sort((a, b) => {
return a.key.localeCompare(b.key)
})
let signString = '';
for(let el of _data)
{
signString +=`${el.key}=${el.val}&`;
}
signString = signString.slice(0,-1);
data['sign'] = clourse(signString);
}
return data;
}
console.log(signGenerate({ "key": 66, "b": 2 }));
console