fix zgame webview launch mode

This commit is contained in:
zhx 2026-06-29 19:14:31 +08:00
parent 36f8233f54
commit e5654e9b7c
2 changed files with 14 additions and 1 deletions

View File

@ -995,13 +995,20 @@ func buildLaunchURL(game gamedomain.LaunchableGame, session gamedomain.LaunchSes
return parsed.String(), nil
}
if strings.EqualFold(game.AdapterType, gamedomain.AdapterZGameV1) {
// ZGame 前端初始化认证先读 token桥接 login 再读 js_code/code/session四个别名必须指向同一个短期启动令牌。
// ZGame 默认 channelName=zgame_demo 会走 iframe parent postMessageApp WebView 必须切到 wh 模式,让 SDK 从 URL 读取 openId/js_code。
// token/code/js_code/session 四个别名仍指向同一个短期启动令牌,兼容厂商不同入口读取字段。
config := zgameConfigFromPlatform(game)
openID := externalUserID(session, config.UIDMode)
query.Set("channelName", "wh")
query.Set("channel_name", "wh")
query.Set("cv", "Android")
query.Set("openId", openID)
query.Set("open_id", openID)
query.Set("userId", openID)
query.Set("uid", openID)
query.Set("userName", openID)
query.Set("user_name", openID)
query.Set("balance", "0")
query.Set("token", token)
query.Set("code", token)
query.Set("js_code", token)

View File

@ -599,10 +599,16 @@ func TestLaunchGameBuildsZGameURL(t *testing.T) {
t.Fatalf("zgame launch url must use per-game configured url: %s", result.LaunchURL)
}
expected := map[string]string{
"channelName": "wh",
"channel_name": "wh",
"cv": "Android",
"openId": "420001",
"open_id": "420001",
"userId": "420001",
"uid": "420001",
"userName": "420001",
"user_name": "420001",
"balance": "0",
"token": token,
"code": token,
"js_code": token,