diff --git a/ylgamehall/Source/Bridge/Handlers/FriendsShareHandler.swift b/ylgamehall/Source/Bridge/Handlers/FriendsShareHandler.swift index 192e057..d488a1b 100644 --- a/ylgamehall/Source/Bridge/Handlers/FriendsShareHandler.swift +++ b/ylgamehall/Source/Bridge/Handlers/FriendsShareHandler.swift @@ -54,10 +54,14 @@ public enum FriendsShareHandler { return } let content = ShareContent( - // 缺失默认空串 → ShareCenter default 分支兜底(与原 msext [nil intValue]==0 等价) - sharefriend: obj["sharefriend"]?.asString ?? "", - sharetype: obj["sharetype"]?.asString ?? "", - type: obj["type"]?.asString ?? "", + // sharefriend / sharetype / type 实际 H5 传 number(如 1/2 而非 "1"/"2"), + // 必须用 asLooseString 兼容(与 mediaTypeAudio.user 同款问题,commit b058990)。 + // 对齐原 msext ObjC 行为:[NSNumber intValue] 与 [NSString intValue] 都得到整数。 + // 用 asString 会拿不到值 → 整路由跑偏到 default 分支。 + sharefriend: obj["sharefriend"]?.asLooseString ?? "", + sharetype: obj["sharetype"]?.asLooseString ?? "", + type: obj["type"]?.asLooseString ?? "", + // 下面 3 项 H5 始终传 string,保持 asString webpageUrl: obj["webpageUrl"]?.asString ?? "", title: obj["title"]?.asString ?? "", desc: obj["description"]?.asString ?? ""