2021-01-23 18:37:12 +08:00
|
|
|
/*
|
2021-01-20 22:57:41 +08:00
|
|
|
function ComputPasswordWithSalt(password, salt) {
|
|
|
|
|
return ComputeSHA256(ComputeSHA256(password) + salt.toString());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function ComputeSHA256(strl) {
|
|
|
|
|
var tempstr = new TextEncoder().encode(strl);
|
|
|
|
|
var hashedStrl = undefined
|
|
|
|
|
var shitpromise = crypto.subtle.digest('SHA-256', tempstr);
|
|
|
|
|
Promise.all(shitpromise).then(function(result) {
|
|
|
|
|
hashedStrl = result;
|
|
|
|
|
});
|
|
|
|
|
var hashArray = Array.from(new Uint8Array(hashedStrl));
|
|
|
|
|
var hashHex = hashArray.map(b => ('00' + b.toString(16)).slice(-2)).join('');
|
|
|
|
|
return hashHex.toLowerCase();
|
|
|
|
|
}
|
2021-01-23 18:37:12 +08:00
|
|
|
*/
|
2021-01-20 22:57:41 +08:00
|
|
|
|
|
|
|
|
function IsResponseOK(data) {
|
|
|
|
|
if (typeof(data) == 'undefined') {
|
|
|
|
|
console.log("Fail to execute an api!");
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
if (!data['success']) {
|
|
|
|
|
console.log("Fail to execute an api! Reason:");
|
|
|
|
|
console.log(data['error']);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetApiToken() {
|
|
|
|
|
return ccn_localstorageAssist_Get('ccn-token', '');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function SetApiToken(value) {
|
|
|
|
|
ccn_localstorageAssist_Set('ccn-token', value);
|
|
|
|
|
}
|
2021-01-24 14:38:08 +08:00
|
|
|
|
|
|
|
|
function LineBreaker2Br(strl) {
|
|
|
|
|
return $('<div>').text(strl).html().replace(/\n/g,'<br />');
|
2021-02-07 21:12:56 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function IsUndefinedOrEmpty(data) {
|
|
|
|
|
return (typeof(data) == 'undefined' || data == "");
|
2021-01-24 14:38:08 +08:00
|
|
|
}
|