Phase 4 方向再次纠正:撤销 A,QQ + 抖音 SharePanel 三选一不依 SDK

用户提示"原项目还有 QQ 分享、抖音分享"。深度调研发现:

  上一轮 A 方向决策 (a6095ef) 错了 — grep 范围之前仅看 NewRootVC.m,
  漏了 gameController.m。msext gameController.m:575-597 显示 H5 调
  friendsShare 时原生**弹 SharePanel 三选一面板**:

    sharefriend == 1 → SharePanel.showWithDictionary(微信好友 / QQ / 抖音)
    sharefriend == 2 → WechatShareManager.shareWithContent(朋友圈)

  Contract §3.1 [2]旧描述(sharetype=3 闲聊)已被 msext 新代码覆盖;
  sharetype 字段在新代码里读了但不用。

调研 QQ + 抖音是否需要 SDK:
  - QQShareManager.m:14: __has_include(<TencentOpenAPI/QQApiInterface.h>)
    条件编译 + line 716-771 simpleShareToQQFriend URL Scheme fallback
    (mqqapi://share/to_fri?...) — **不依赖 SDK**
  - DouyinShareManager.m: 只 import Photos + MobileCoreServices;
    全程 URL Scheme(snssdk1128://share/video / camera)+ 保存截图到
    相册让用户在抖音里选 — **不依赖 SDK**

撤销 A 决策。新方向(Plan §5 4.2-4.4):
  - 4.2 SharePanel 三选一面板(msext gameController.m:585 等价行为)
  - 4.3 QQShare URL Scheme(移植 simpleShareToQQFriend)
  - 4.4 DouyinShare URL Scheme + Photos
  - 4.5(原 4.B)微信 SDK 接入(仍需项目方提供 framework + AppID + UL)

文档同步:
  - Plan §2.3 阻塞表:QQ 改为"不需要 SDK,走 URL Scheme";抖音同款
  - Plan §5 Phase 4:4.2 重写为 SharePanel 设计 + 4.3 QQ + 4.4 抖音 + 4.5 微信
  - CLAUDE.md 依赖管理段:"不接入 QQ SDK / 也不接入抖音 SDK",
    含 LSApplicationQueriesSchemes + NSPhotoLibraryAddUsageDescription 说明
  - Verification-Checklist L/M/N 章节:SharePanel + QQ + 抖音验证项
  - Plan §6.4 里程碑加纠正记录(标 a6095ef 已撤销)

下一步:代码实施 4.B SharePlatform 协议 + SharePanel UI + ShareCenter 分发。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
joywayer
2026-06-22 19:59:00 +08:00
co-authored by Claude Opus 4.7
parent a6095ef4c8
commit b071ced657
3 changed files with 41 additions and 11 deletions
+19 -4
View File
@@ -185,11 +185,26 @@ H5 需先用 `bridge.registerHandler('callbackName', fn)` 注册:
> - sharesuccess({success:"2", type:"1"/"2"})
> - app 切到后台微信授权 → 切回 app sharelogin 触发
### L. ~~QQ URL Scheme 分享~~(不实施,按 A 方向最终决策
### L. SharePanel 三选一面板(4.B 待实现
> Contract §3.1 2`sharetype` 取值仅 "1"/"2"=微信 / "3"=闲聊,无 QQ 选项。
> msext 的 QQShareManager 只服务于原生 SharePanel,不接 H5 桥。新外壳契约
> 不变 → 不实现 QQ 分享,无需验证。
> H5 调 friendsShare(sharefriend=1) → 弹 SharePanel 让用户选微信好友 / QQ / 抖音
> 实施后填充验证项:
> - 三个按钮点击响应正确(dismiss 后再触发对应平台分享)
> - 半透明背景点击关闭面板
### M. QQ URL Scheme 分享(4.C 待实现,**不依赖 SDK**
> 移植 msext QQShareManager.m simpleShareToQQFriend 后填充:
> - QQ 已安装:`mqqapi://share/to_fri?...` 调起 QQ app 分享链接
> - QQ 未安装:H5 alert 提示"未安装 QQ"
> - 调起即视为 successURL Scheme 单向无返回,乐观策略)
### N. 抖音 URL Scheme + Photos 分享(4.D 待实现,**不依赖 SDK**
> 移植 msext DouyinShareManager.m 后填充:
> - 抖音已安装:保存截图到相册 + `snssdk1128://share/video` 调起抖音
> - 抖音未安装:H5 alert 提示"未安装抖音"
> - Info.plist 已配 NSPhotoLibraryAddUsageDescription 写入相册权限
---