修复游戏桥接bug
This commit is contained in:
parent
0b3589a701
commit
e2d8d03260
@ -53,6 +53,15 @@ const defaultBridgeScriptForm = {
|
|||||||
bridgeScriptVersion: "",
|
bridgeScriptVersion: "",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const writableBridgeAdapterTypes = new Set([
|
||||||
|
"yomi_v4",
|
||||||
|
"leadercc_v1",
|
||||||
|
"zeeone_v1",
|
||||||
|
"baishun_v1",
|
||||||
|
"vivagames_v1",
|
||||||
|
"reyou_v1",
|
||||||
|
]);
|
||||||
|
|
||||||
const emptyCatalog = { items: [], pageSize: 50 };
|
const emptyCatalog = { items: [], pageSize: 50 };
|
||||||
const emptyPlatforms = { items: [] };
|
const emptyPlatforms = { items: [] };
|
||||||
const defaultPageSize = 50;
|
const defaultPageSize = 50;
|
||||||
@ -287,10 +296,16 @@ export function useGamesPage() {
|
|||||||
showToast("请填写 bridge_script_url 和 bridge_script_version", "error");
|
showToast("请填写 bridge_script_url 和 bridge_script_version", "error");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
const writablePlatforms = platforms.filter(isWritableBridgePlatform);
|
||||||
|
const skippedPlatforms = platforms.filter((platform) => !isWritableBridgePlatform(platform));
|
||||||
|
if (writablePlatforms.length === 0) {
|
||||||
|
showToast("没有可写入的有效游戏平台", "error");
|
||||||
|
return;
|
||||||
|
}
|
||||||
setLoadingAction("bridge-script");
|
setLoadingAction("bridge-script");
|
||||||
try {
|
try {
|
||||||
await Promise.all(
|
await Promise.all(
|
||||||
platforms.map((platform) => {
|
writablePlatforms.map((platform) => {
|
||||||
const config = parseJsonObject(platform.adapterConfigJson);
|
const config = parseJsonObject(platform.adapterConfigJson);
|
||||||
config.bridge_script_url = bridgeScriptUrl;
|
config.bridge_script_url = bridgeScriptUrl;
|
||||||
config.bridge_script_version = bridgeScriptVersion;
|
config.bridge_script_version = bridgeScriptVersion;
|
||||||
@ -309,7 +324,14 @@ export function useGamesPage() {
|
|||||||
);
|
);
|
||||||
await reloadPlatforms();
|
await reloadPlatforms();
|
||||||
await reloadCatalog();
|
await reloadCatalog();
|
||||||
showToast(`JS 桥接配置已同步 ${platforms.length} 个平台`, "success");
|
const skippedMessage =
|
||||||
|
skippedPlatforms.length > 0
|
||||||
|
? `,跳过 ${skippedPlatforms.length} 个无效适配器平台:${skippedPlatforms
|
||||||
|
.map((platform) => platform.platformCode || platform.platformName || platform.adapterType)
|
||||||
|
.slice(0, 3)
|
||||||
|
.join(", ")}`
|
||||||
|
: "";
|
||||||
|
showToast(`JS 桥接配置已同步 ${writablePlatforms.length} 个平台${skippedMessage}`, "success");
|
||||||
closeAction();
|
closeAction();
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
showToast(err.message || "保存 JS 桥接配置失败", "error");
|
showToast(err.message || "保存 JS 桥接配置失败", "error");
|
||||||
@ -532,6 +554,14 @@ function readConfigString(value) {
|
|||||||
return String(value).trim();
|
return String(value).trim();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function isWritableBridgePlatform(platform) {
|
||||||
|
return writableBridgeAdapterTypes.has(
|
||||||
|
String(platform?.adapterType || "")
|
||||||
|
.trim()
|
||||||
|
.toLowerCase(),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
function platformUpsertPayload(platform, adapterConfigJson) {
|
function platformUpsertPayload(platform, adapterConfigJson) {
|
||||||
return {
|
return {
|
||||||
platformCode: platform.platformCode,
|
platformCode: platform.platformCode,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user