4.B 截图分享补齐 msext 字段:WeChat description / QQ 引导框
【契约影响】docs/H5-Native-Contract.md §3.1[2]type==2 分支 WeChat 截图分享之前丢了 H5 description(msext 通过 sendImageData:MessageExt: 写到 WXMediaMessage.description,接收方在 微信聊天预览里能看到)。链接分享之前完全没传 thumb(msext 用 app icon)。统一补齐: - WeChatManager.ShareImage 加 messageExt / mediaTagName 字段; shareImage 内 message.description = messageExt + message.messageExt = messageExt + setThumbImage(thumb) + mediaTagName - WeChatManager.ShareLink 把 thumbnailURL: String? 替换为 thumb: UIImage?;shareLink 内 setThumbImage(thumb) + mediaTagName。drop Sendable 因 UIImage 不可 Sendable(调用都在 MainActor 上无风险) - WechatShare 双分支统一传 appIconImage() 做 thumb;截图分支 messageExt = content.desc + mediaTagName "进贤聚友棋牌游戏截图分享";链接分支 mediaTagName "进贤聚友棋牌游戏分享"(字面对齐 msext WechatShareManager.m) QQ 截图分享原本 4-fallback URL 链不靠谱(file_type=news 给截图场景实际 无意义)。简化为 Douyin 同款模式:截图 → UIPasteboard.image → 弹"立即 打开 QQ / 稍后分享"二选一 Alert。承认 ADR-006 无 QQ SDK 退化的现实, 但 UX 不再让用户摸不着北。
This commit is contained in:
@@ -42,7 +42,12 @@ public final class WechatShare: SharePlatform {
|
||||
let shot = try ImageProvider.captureScreenshot()
|
||||
guard let imageData = shot.jpegData(compressionQuality: 0.6) else { return }
|
||||
try await WeChatManager.shared.shareImage(
|
||||
.init(imageData: imageData, thumb: thumb),
|
||||
.init(
|
||||
imageData: imageData,
|
||||
thumb: thumb,
|
||||
messageExt: content.desc,
|
||||
mediaTagName: "\(Self.appTagPrefix)游戏截图分享"
|
||||
),
|
||||
scene: wxScene
|
||||
)
|
||||
} else {
|
||||
@@ -52,7 +57,8 @@ public final class WechatShare: SharePlatform {
|
||||
url: content.webpageUrl,
|
||||
title: content.title,
|
||||
desc: content.desc,
|
||||
thumbnailURL: nil
|
||||
thumb: thumb,
|
||||
mediaTagName: "\(Self.appTagPrefix)游戏分享"
|
||||
),
|
||||
scene: wxScene
|
||||
)
|
||||
@@ -63,6 +69,10 @@ public final class WechatShare: SharePlatform {
|
||||
}
|
||||
}
|
||||
|
||||
/// msext WechatShareManager 字面常量 "进贤聚友棋牌"(与 daoqi
|
||||
/// SGDefineInfo.h gamehallname 同源),用于 WXMediaMessage.mediaTagName 拼接。
|
||||
private static let appTagPrefix = "进贤聚友棋牌"
|
||||
|
||||
/// app icon 缩略图。读 Info.plist `CFBundleIcons` → `CFBundlePrimaryIcon`
|
||||
/// → `CFBundleIconFiles` 的最后一个(最高分辨率),与原 msext
|
||||
/// WechatShareManager `getAppIconImage` 等价。失败兜底返回 1x1 透明图。
|
||||
|
||||
Reference in New Issue
Block a user