From 7c856d0d663d5d903cadd8cccf1529afe0cce81f Mon Sep 17 00:00:00 2001 From: joywayer Date: Mon, 22 Jun 2026 18:14:10 +0800 Subject: [PATCH] =?UTF-8?q?AppDataWriter=EF=BC=9Aapp=5Fdata.js=20=E5=86=85?= =?UTF-8?q?=205=20=E4=B8=AA=E5=85=B3=E9=94=AE=E5=AD=97=E6=AE=B5=E6=8F=90?= =?UTF-8?q?=E5=88=B0=E5=A3=B0=E6=98=8E=E9=A1=BA=E5=BA=8F=E6=9C=80=E5=89=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 按用户要求调整 app_data.js 内 var 声明顺序,把 H5 调试时最关注的 5 个 核心字段提到最前: 1. app_gameconfig 远端配置接口 2. app_market 渠道市场标识 3. app_agent 登录态 agent 4. app_channel 渠道 ID 5. app_Launchtype 大厅(0) / 子游戏(1) 标识 之后按原 msext 顺序:app_version / app_gamedir / app_gamestart / app_appversion / app_getwifisignalLevel / app_gamename / app_invitationcode。 JS 内 var 声明的顺序对最终读取值无影响(var 提升 + 整段 script 同步 执行完才退出),契约不破,与 msext 行为等价。仅便于 H5 console 一眼 看到核心字段。 Logger.debug 输出顺序同步调整保持与文件内容顺序一致,便于联调对账。 BuildProject 通过 Co-Authored-By: Claude Opus 4.7 --- ylgamehall/Source/WebView/AppDataWriter.swift | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/ylgamehall/Source/WebView/AppDataWriter.swift b/ylgamehall/Source/WebView/AppDataWriter.swift index af9911d..d8a35d6 100644 --- a/ylgamehall/Source/WebView/AppDataWriter.swift +++ b/ylgamehall/Source/WebView/AppDataWriter.swift @@ -100,16 +100,20 @@ public struct AppDataWriter { // - 数值字段无引号(app_version=1 / app_Launchtype=0 / app_getwifisignalLevel=1) // - app_appversion msext 是 %d 形式但传入是 NSString,实际行为同字符串—— 这里转字面串与 msext 等价 // - 大小写不能改:app_Launchtype L 大写、app_getwifisignalLevel wifi 小写 + signal/Level 区分 + // + // 声明顺序:5 个关键字段(gameconfig / market / agent / channel / Launchtype) + // 提到最前,便于 H5 console 调试时一眼看到核心值;JS var 提升机制下顺序对最终读取 + // 值无影响,与 msext 行为等价。 let lines = - "var app_version=1;" + "var app_gameconfig='\(escape(bc.gameConfig))';" + - "var app_gamedir='\(escape(gameDir))';" + - "var app_gamestart='\(escape(gameStart))';" + - "var app_agent='\(escape(bc.agent))';" + - "var app_appversion='\(escape(appVersion))';" + "var app_market='\(escape(bc.market))';" + + "var app_agent='\(escape(bc.agent))';" + "var app_channel='\(escape(bc.channel))';" + "var app_Launchtype=\(launchtype);" + + "var app_version=1;" + + "var app_gamedir='\(escape(gameDir))';" + + "var app_gamestart='\(escape(gameStart))';" + + "var app_appversion='\(escape(appVersion))';" + "var app_getwifisignalLevel=1;" + "var app_gamename='\(escape(gameName))';" + "var app_invitationcode='\(escape(bc.other))';" @@ -119,15 +123,15 @@ public struct AppDataWriter { Self.log.debug(""" [\(containerRole.description, privacy: .public)] write app_data.js → \(url.path, privacy: .public) - app_version = 1 app_gameconfig = '\(bc.gameConfig, privacy: .public)' - app_gamedir = '\(gameDir, privacy: .public)' - app_gamestart = '\(gameStart, privacy: .public)' - app_agent = '\(bc.agent, privacy: .public)' - app_appversion = '\(appVersion, privacy: .public)' app_market = '\(bc.market, privacy: .public)' + app_agent = '\(bc.agent, privacy: .public)' app_channel = '\(bc.channel, privacy: .public)' app_Launchtype = \(launchtype, privacy: .public) + app_version = 1 + app_gamedir = '\(gameDir, privacy: .public)' + app_gamestart = '\(gameStart, privacy: .public)' + app_appversion = '\(appVersion, privacy: .public)' app_getwifisignalLevel = 1 app_gamename = '\(gameName, privacy: .public)' app_invitationcode = '\(bc.other, privacy: .public)'