diff --git a/docs/superpowers/specs/2026-06-27-分享重构-design.md b/docs/superpowers/specs/2026-06-27-分享重构-design.md index 7b1cfd5..735d8d9 100644 --- a/docs/superpowers/specs/2026-06-27-分享重构-design.md +++ b/docs/superpowers/specs/2026-06-27-分享重构-design.md @@ -65,25 +65,28 @@ H5 → friendsSharetypeUrlToptitleDescript(SharetypeBean) ## 5. 内容组装(逐渠道对齐原工程) -文本拼接函数 `buildShareText(bean, platform)`: +文本拼接函数 `buildShareText(bean, platform)` —— **三端文本一律不含 `webpageUrl`**: -| 渠道 | 文本/网页(type1,3) 剪贴板格式 | 备注 | +| 渠道 | 文本(type1,3) 格式 | 备注 | |---|---|---| -| 微信 | `title\ndescription\nwebpageUrl` | 去 SDK 后新增剪贴板文本;无缩略图概念 | -| QQ | `title\n\ndescription` | **严格对齐原工程:双换行、不含 url** | -| 抖音 | `title\ndescription\nwebpageUrl` | **对齐原工程:单换行、含 url** | +| 微信 | `title\ndescription` | 单换行、**不含 url**(第二/三层均不带);无缩略图概念 | +| QQ | `title\n\ndescription` | 双换行、不含 url(对齐原工程) | +| 抖音 | `title\ndescription` | 单换行、**不含 url**(第二/三层均不带) | -- 空字段跳过对应行,避免出现多余空行。 -- `type "3"`(图片链接)按文本/链接处理(同原 Android 退化为链接文本)。 +- 空字段跳过对应行,避免多余空行。三端差异仅在换行数(QQ 双、微信/抖音 单)。 +- **`webpageUrl` 不再出现在任何文本/链接分享路径**;仅作 type4 的本地视频文件路径使用。 +- `type "3"`(图片链接)按纯文本(`title`+`description`)处理,不带 url。 类型处理: | type | 内容 | 剪贴板 | 系统分享兜底 | |---|---|---|---| -| 1 网页/文本 | `buildShareText` | PLAIN_TEXT | `systemLink`/`systemText` | +| 1 网页/文本 | `buildShareText`(无 url) | PLAIN_TEXT | `systemText`(PLAIN_TEXT, 无 url) | | 2 Canvas 截图 | `captureCanvas(sharetype)` → `saveDataUrlToFile` 沙箱 | PIXELMAP | `systemImage` | -| 3 图片链接 | 同 type1 文本/链接 | PLAIN_TEXT | `systemLink` | -| 4 视频(抖音) | 本地视频 `webpageUrl` | 文件 URI | `systemVideo`;远程降级为 `systemLink` | +| 3 图片链接 | 同 type1(纯文本, 无 url) | PLAIN_TEXT | `systemText` | +| 4 视频(抖音) | 本地视频 `webpageUrl` | 文件 URI | `systemVideo`;远程视频降级为 `systemText`(无 url) | + +> 系统分享(第三层)统一用 `PLAIN_TEXT(title+description)`,**不再使用 `systemLink`/HYPERLINK**(即不下发 url)。`systemLink` 退役。 ## 6. `sharesuccess` 回传(仅微信,乐观) @@ -98,7 +101,7 @@ H5 → friendsSharetypeUrlToptitleDescript(SharetypeBean) - 保留:`FriendsShare` 注册、`PHOTO_UPLOAD`(`LocalUploadServer` 截图上传)链路 → 改为走微信指引窗(图片)。 - 新增:`sharefriend` 分流、`buildShareText` 逐渠道、`writeClipboard`(文本/PIXELMAP/URI)、`showGuide` 经事件投给 UI、`openAppByScheme`(`canOpenLink`+`openLink`)。 - 预留空分支:`qqSdkShare()` / `douyinSdkShare()`(注释 TODO,注册到位后接 SDK)。 -- 复用:现有 `systemShare` 方法(`systemText/systemLink/systemImage/systemVideo`)、`saveDataUrlToFile`、`captureCanvas`。 +- 复用:现有 `systemShare` 方法(`systemText/systemImage/systemVideo`,**`systemLink` 退役不再使用**)、`saveDataUrlToFile`、`captureCanvas`。 - 移除:对 `WeChatApi.sendShare` / `WXMediaMessage` / `WXWebpageObject` / `WXImageObject` / `SendMessageToWXReq` 的全部分享调用。 ### 7.2 新增 `entry/.../components/ShareGuideDialog.ets`