Merge pull request #1359 from IceCola97/PR-Branch

为更新后首次启动添加扩展报错提示;优化之前的代码;将安卓的更新url构造改成URL类构造
This commit is contained in:
Spmario233 2024-05-17 08:10:33 +08:00 committed by GitHub
commit 2107f6618c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 22 additions and 7 deletions

View File

@ -845,7 +845,6 @@ const skills = {
return get.prompt("xinfu_zuilun") + "(可获得" + get.cnNumber(num) + "张牌)"; return get.prompt("xinfu_zuilun") + "(可获得" + get.cnNumber(num) + "张牌)";
}, },
async content(event, trigger, player) { async content(event, trigger, player) {
"step 0";
let num = 0; let num = 0;
const cards = get.cards(3); const cards = get.cards(3);
await game.cardsGotoOrdering(cards); await game.cardsGotoOrdering(cards);
@ -1389,7 +1388,6 @@ const skills = {
return get.type(event.card) == "trick" && event.targets.length > 1 && player.countCards("he") > 0; return get.type(event.card) == "trick" && event.targets.length > 1 && player.countCards("he") > 0;
}, },
async cost(event, trigger, player) { async cost(event, trigger, player) {
"step 0";
event.result = await player event.result = await player
.chooseCardTarget({ .chooseCardTarget({
filterCard: true, filterCard: true,
@ -1590,7 +1588,6 @@ const skills = {
return player.countCards("he") > 0; return player.countCards("he") > 0;
}, },
async cost(event, trigger, player) { async cost(event, trigger, player) {
"step 0";
event.result = await player event.result = await player
.chooseCard(get.prompt("kongsheng"), "将任意张牌置于武将牌上", "he", [1, player.countCards("he")]) .chooseCard(get.prompt("kongsheng"), "将任意张牌置于武将牌上", "he", [1, player.countCards("he")])
.set("ai", function (card) { .set("ai", function (card) {
@ -1630,13 +1627,13 @@ const skills = {
return get.type(i, false) == "equip" && player.hasUseTarget(i); return get.type(i, false) == "equip" && player.hasUseTarget(i);
}); });
if (cards.length > 0) { if (cards.length > 0) {
let card = cards[0]; let [card] = cards;
if (cards.length > 1) { if (cards.length > 1) {
const { result } = await player.chooseButton(true, ["选择要使用的装备牌", cards]).set("ai", function (button) { const { result } = await player.chooseButton(true, ["选择要使用的装备牌", cards]).set("ai", function (button) {
return get.order(button.link); return get.order(button.link);
}); });
if (!result.bool) continue; if (!result.bool) continue;
card = result.links[0]; [card] = result.links;
} }
await player.chooseUseTarget(card, true); await player.chooseUseTarget(card, true);
} else break; } else break;
@ -1961,6 +1958,7 @@ const skills = {
combo: "nzry_huaiju", combo: "nzry_huaiju",
}, },
}, },
// ----- 审查分界线喵 ----- 上面的代码已经经过了审查喵
nzry_kuizhu: { nzry_kuizhu: {
audio: 2, audio: 2,
trigger: { trigger: {

View File

@ -66,14 +66,18 @@ export function sendUpdate() {
if (nonameInitialized && nonameInitialized.includes("com.noname.shijian") && window.noname_shijianInterfaces && typeof window.noname_shijianInterfaces.sendUpdate === 'function') { if (nonameInitialized && nonameInitialized.includes("com.noname.shijian") && window.noname_shijianInterfaces && typeof window.noname_shijianInterfaces.sendUpdate === 'function') {
// 给诗笺版apk的java层传递升级完成的信息 // 给诗笺版apk的java层传递升级完成的信息
// @ts-ignore // @ts-ignore
return window.noname_shijianInterfaces.sendUpdate() + "?sendUpdate=true"; const url = new URL(window.noname_shijianInterfaces.sendUpdate());
url.searchParams.set("sendUpdate", "true");
return url.toString();
} }
// 由理版判断 // 由理版判断
// @ts-ignore // @ts-ignore
if (window.NonameAndroidBridge && typeof window.NonameAndroidBridge.sendUpdate === 'function') { if (window.NonameAndroidBridge && typeof window.NonameAndroidBridge.sendUpdate === 'function') {
// 给由理版apk的java层传递升级完成的信息 // 给由理版apk的java层传递升级完成的信息
// @ts-ignore // @ts-ignore
return window.NonameAndroidBridge.sendUpdate() + "?sendUpdate=true"; const url = new URL(window.NonameAndroidBridge.sendUpdate());
url.searchParams.set("sendUpdate", "true");
return url.toString();
} }
} }
// 电脑端 // 电脑端
@ -633,6 +637,7 @@ export async function boot() {
for (const promise of _status.extensionLoading) { for (const promise of _status.extensionLoading) {
await promise.catch(async (error) => { await promise.catch(async (error) => {
if (extErrorList.includes(error)) return; if (extErrorList.includes(error)) return;
extErrorList.add(error);
if (!promiseErrorHandler || !promiseErrorHandler.onHandle) return; if (!promiseErrorHandler || !promiseErrorHandler.onHandle) return;
// @ts-ignore // @ts-ignore
await promiseErrorHandler.onHandle({ promise }); await promiseErrorHandler.onHandle({ promise });
@ -640,6 +645,18 @@ export async function boot() {
} }
// await Promise.allSettled(_status.extensionLoading); // await Promise.allSettled(_status.extensionLoading);
const isFirstStartAfterUpdate = lib.version && lib.version != lib.config.version;
if (isFirstStartAfterUpdate && extErrorList.length) {
const stacktraces = extErrorList.map(e => e instanceof Error ? e.stack : String(e)).join("\n\n")
// game.saveConfig("update_first_log", stacktraces);
if(confirm(`扩展加载出错!是否重新载入游戏?\n本次更新可能导致了扩展出现了错误:\n\n${stacktraces}`)){
game.reload();
clearTimeout(resetGameTimeout);
return;
}
}
_status.extensionLoaded _status.extensionLoaded
.filter((name) => game.hasExtension(name)) .filter((name) => game.hasExtension(name))
.forEach((name) => { .forEach((name) => {