Phase 4.A:登录+分享 stub + QQ 改走 URL Scheme 不依 SDK
按用户约定调整 Phase 4 方向:微信继续走 SDK(等项目方提供),QQ 分享
改用 URL Scheme 直接调起 QQ app,**不依赖 SDK**。
调研 daoqi/msext/Class/Utils/QQShareManager.m 发现已有完整的 URL Scheme
fallback 路径:
- line 14: __has_include(<TencentOpenAPI/QQApiInterface.h>) 条件编译
- line 231 注释: "Fallback: 使用 URL Scheme (mqqapi://) - 无需 SDK,
直接调起 (Legacy)"
- mqqapi://share/to_fri / mqqapi://share/to_qzone / mqqopensdkfriend://share
等 schema 实现见 line 733/786/789
新增 handler stub(让 H5 启动 / 业务期调登录 / 分享不报 "no handler"):
- Source/Bridge/Handlers/AccreditLoginHandler.swift
accreditlogin cb "Response from accreditlogin"
完整实现需 Phase 4.B 微信 SDK + WeChatManager.authorize() + WeChatAuth.exchangeForUser
+ bridge.call("sharelogin", 7 字段含大写 Province) 反向 callback
- Source/Bridge/Handlers/FriendsShareHandler.swift
friendsSharetypeUrlToptitleDescript cb "sharefriend"
完整实现需 ShareCenter 策略分发 + sharesuccess 反向 callback
WebContainer.registerBridgeHandlers 接入。
文档调整:
- Plan §2.3 阻塞表:QQ OpenSDK 标"不需要",改 URL Scheme 路径
- Plan §5 Phase 4 前置:去掉 QQ OpenSDK 一行
- Plan §5 Phase 4.2:完整改写为 URL Scheme 方案,含 LSApplicationQueriesSchemes
清单 + URL 构造样例 + "调起即 success" 乐观策略说明
- Plan §8 进度追踪:4.2 QQ SDK Vendor 标"不需要"
- Plan §6.4 里程碑加 3 行(前两轮 commit hash 补 + 本次)
- CLAUDE.md 依赖管理段加 "不接入 QQ SDK" 约定(与"不引入 CocoaPods"
并列的负面清单)
- Verification-Checklist Phase 4 章节:E.19/E.20 stub + K/L 待 4.B/4.C
完整后填充验证项
BuildProject 通过
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.7
parent
0602b9d4b6
commit
aa80aec18c
@@ -169,11 +169,28 @@ H5 需先用 `bridge.registerHandler('callbackName', fn)` 注册:
|
||||
|
||||
---
|
||||
|
||||
## Phase 4 — 分享 + 登录(待实现)
|
||||
## Phase 4 — 分享 + 登录(部分实现:4.A stub 完成;4.B/4.C 待外部资源)
|
||||
|
||||
> Phase 4 实施后填充。预备验证项:
|
||||
> - accreditlogin 微信授权 + sharelogin 7 字段(含大写 Province)
|
||||
> - friendsSharetypeUrlToptitleDescript 分享微信 / 朋友圈 + sharesuccess
|
||||
### J. accreditlogin / friendsShare stub(4.A 完成)
|
||||
|
||||
- [ ] **E.19 accreditlogin** → cb "Response from accreditlogin"(stub 仅 cb,无微信授权调起、无 sharelogin 反向)
|
||||
- [ ] **E.20 friendsSharetypeUrlToptitleDescript** → cb "sharefriend"(stub 仅 cb,无微信/QQ 分享调起、无 sharesuccess 反向)
|
||||
|
||||
> 4.B 微信 SDK + 后台 /wechat/login + 4.C QQ URL Scheme 完整实现后升级。
|
||||
|
||||
### K. 微信 SDK + Universal Links(4.B 待实现)
|
||||
|
||||
> 项目方提供 microSDK + AppID + UL 后填充。预备验证项:
|
||||
> - sharelogin 7 字段(含大写 Province + 小写 city 经 danbian: 处理)
|
||||
> - sharesuccess({success:"2", type:"1"/"2"})
|
||||
> - app 切到后台微信授权 → 切回 app sharelogin 触发
|
||||
|
||||
### L. QQ URL Scheme 分享(4.C 待实现,**不依赖 SDK**)
|
||||
|
||||
> 移植 msext QQShareManager.m URL Scheme fallback 后填充。预备验证项:
|
||||
> - 链接分享 → `mqqapi://share/to_fri?` 调起 QQ app
|
||||
> - 朋友圈分享 → `mqqapi://share/to_qzone?` 调起 QQ 空间
|
||||
> - 调起即视为 success(URL Scheme 单向无返回,msext 同款乐观策略)
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user