更新一点代码
This commit is contained in:
parent
622cf947f2
commit
fdf71e5ae1
|
@ -1,6 +1,6 @@
|
|||
let needUpdateBrowser = (()=>{
|
||||
try {
|
||||
return !Boolean(eval("undefined?.undefined ?? true"));
|
||||
return !Boolean(eval("1n && (undefined?.undefined ?? true)"));
|
||||
} catch (e) {
|
||||
if (e.name !== 'SyntaxError') throw e // Throw the error if it is not a SyntaxError
|
||||
return true;
|
||||
|
@ -27,18 +27,18 @@ if (needUpdateBrowser)
|
|||
您的浏览器版本为:
|
||||
${browserVersion}
|
||||
|
||||
您的浏览器内核不支持本程序使用的 可选链操作符(?.) 和 空值合并操作符(??)。
|
||||
您的浏览器内核不支持本程序使用的 可选链操作符(?.) 和 空值合并操作符(??) 或 BigInt 数据类型。
|
||||
|
||||
请更新您的浏览器内核到 Firefox(火狐) ≥ 74 或 Chrome(谷歌) ≥ 80 或 iOS Safari ≥ 13.4。`;
|
||||
请更新您的浏览器内核到 Firefox(火狐) ≥ 74 或 Chrome(谷歌) ≥ 80 或 Safari ≥ 14。`;
|
||||
} else {
|
||||
alertStr =
|
||||
`🙁Browser kernel is too old
|
||||
Your browser is:
|
||||
${browserVersion}
|
||||
|
||||
Your browser core does not support Optional chaining (?.) and Nullish coalescing operator (??) used in this program.
|
||||
Your browser core does not support Optional chaining (?.) and Nullish coalescing operator (??) or BigInt value used in this program.
|
||||
|
||||
Please update your browser core to Firefox ≥ 74 or Chrome ≥ 80 or iOS Safari ≥ 13.4`;
|
||||
Please update your browser core to Firefox ≥ 74 or Chrome ≥ 80 or Safari ≥ 14`;
|
||||
}
|
||||
|
||||
alert(alertStr);
|
||||
|
|
|
@ -51,38 +51,27 @@ function localStorage_getBoolean(name, defaultValue = false){
|
|||
else return Boolean(Number(localStorage.getItem(name) ?? defaultValue));
|
||||
}
|
||||
|
||||
//数字补前导0
|
||||
Number.prototype.prefixInteger = function(length, useGrouping = false) {
|
||||
return this.toLocaleString(undefined, {
|
||||
useGrouping: useGrouping,
|
||||
minimumIntegerDigits: length
|
||||
});
|
||||
}
|
||||
//数字补前导0
|
||||
String.prototype.prefix = function(length = 2, prefix = '0') {
|
||||
let needAddLength = Math.max(length - this.length, 0);
|
||||
return new Array(needAddLength).fill(prefix).join('') + this;
|
||||
}
|
||||
|
||||
// 将字符串转为Base64
|
||||
String.prototype.toBinary = function() {
|
||||
const charCodes16Arr = [...this].map(char=>char.charCodeAt(0));
|
||||
const codeUnits = new Uint16Array(charCodes16Arr);
|
||||
const charCodes = new Uint8Array(codeUnits.buffer);
|
||||
// 将字符串转为二进制字符串
|
||||
String.prototype.toUTF16BinaryString = function() {
|
||||
const charCodes16Arr = [...this].map(char=>char.charCodeAt(0)); //将每个字符转为数字
|
||||
const codeUnits = new Uint16Array(charCodes16Arr); //将每个字符存入 2 字节中。警告:仅限 0xFFFF 前的Unicode字符,之后的就得换 Uint32Array
|
||||
const charCodes = new Uint8Array(codeUnits.buffer); //每两个存入中
|
||||
const result = [...charCodes].map(code=>String.fromCharCode(code)).join('');
|
||||
return result;
|
||||
}
|
||||
String.prototype.toBase64 = function() {
|
||||
return btoa(this.toBinary());
|
||||
}
|
||||
String.fromBinary = function(binary) {
|
||||
|
||||
String.fromBinaryString = function(binary) {
|
||||
const bytes = new Uint8Array([...binary].map(char=>char.charCodeAt(0)));
|
||||
const charCodes = new Uint16Array(bytes.buffer);
|
||||
const result = [...charCodes].map(code=>String.fromCharCode(code)).join('');
|
||||
return result;
|
||||
}
|
||||
String.fromBase64 = function(base64) {
|
||||
return String.fromBinary(atob(base64));
|
||||
return String.fromBinaryString(atob(base64));
|
||||
}
|
||||
//Buffer转16进制字符串
|
||||
Uint8Array.prototype.toHex = function() {
|
||||
return [...this].map(n=>n.toString(16).padStart(2,'0')).join('');
|
||||
}
|
||||
|
||||
//大数字缩短长度,默认返回本地定义字符串
|
||||
|
@ -131,6 +120,7 @@ Math.randomInteger = function(max, min = 0) {
|
|||
return this.floor(this.random() * (max - min + 1) + min);
|
||||
}
|
||||
|
||||
|
||||
//将二进制flag转为数组
|
||||
function flags(num) {
|
||||
const arr = [];
|
||||
|
|
10
script.js
10
script.js
|
@ -430,7 +430,7 @@ Formation.prototype.getPdcQrStr = function()
|
|||
const o = new Map();
|
||||
o.set(0, m.id);
|
||||
if (m.latent.length)
|
||||
o.set(2, m.latent.map(pdfLtent=>pdcLatentMap.find(latent=>latent.pdf === pdfLtent).pdc.toString(36).prefix(2)).join('')); //潜觉
|
||||
o.set(2, m.latent.map(pdfLtent=>pdcLatentMap.find(latent=>latent.pdf === pdfLtent).pdc.toString(36).padStart(2,'0')).join('')); //潜觉
|
||||
o.set(3, m.level);
|
||||
o.set(4, m.plus[0]);
|
||||
o.set(5, m.plus[1]);
|
||||
|
@ -479,8 +479,8 @@ Formation.prototype.getPdcQrStr = function()
|
|||
return null;
|
||||
}
|
||||
return [
|
||||
item[0].toString(36).prefix(2),
|
||||
item[1].toString(36).prefix(2)
|
||||
item[0].toString(36).padStart(2,'0'),
|
||||
item[1].toString(36).padStart(2,'0')
|
||||
].join('')}).filter(item=>item).join(',');
|
||||
teamArr.push(pdcMemberStr);
|
||||
}
|
||||
|
@ -1414,7 +1414,7 @@ function pdcFotmationToPdfFotmation(inputString)
|
|||
{
|
||||
let membersStr = teamStr.split('}').filter(Boolean);
|
||||
const team = {
|
||||
badge: parseInt(membersStr.shift(),10) //徽章是10进制
|
||||
badge: parseInt(membersStr.shift(),10) //第一个元素是徽章,是10进制。读取并从数组内删掉,剩下的都是队员
|
||||
}
|
||||
team.members = membersStr.map(memberStr=>{
|
||||
let memberArr = memberStr.split(',').map(valueStr=>{
|
||||
|
@ -3324,7 +3324,7 @@ function initialize(event) {
|
|||
const card = Cards[editBox.mid];
|
||||
const decoder = new Adpcm(adpcm_wasm, pcmImportObj);
|
||||
decoder.resetDecodeState(new Adpcm.State(0, 0));
|
||||
decodeAudio(`sound/voice/${currentDataSource.code}/padv${card.voiceId.prefixInteger(3)}.wav`, decoder.decode.bind(decoder));
|
||||
decodeAudio(`sound/voice/${currentDataSource.code}/padv${card.voiceId.toString().padStart(2,'0')}.wav`, decoder.decode.bind(decoder));
|
||||
}
|
||||
}
|
||||
monEditAwokensLabel.forEach(akDom => akDom.onclick = playVoiceAwoken);
|
||||
|
|
Loading…
Reference in New Issue