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