- 纠正 tabBar 页可分享朋友圈的误解,tabBar 页只在朋友圈单页模式底部不显示但支持分享 - useShare 钩子新增 enableCopyUrl 参数,支持复制链接按钮绑定与解绑 - 首页配置启用 enableShareTimeline,调用 useShare 启用朋友圈和复制链接三按钮 - 补充复制链接功能,适配基础库 2.14.3+(Beta),需真机测试 - 朋友圈分享自动带 inviter 参数,统一裂变归因机制 - 更新文档及注释,明确朋友圈分享与复制链接支持及注意事项
19 lines
2.5 KiB
Markdown
19 lines
2.5 KiB
Markdown
# 2026-07-13 工作日志
|
||
|
||
## 小程序分享 / 朋友圈能力全量接入
|
||
- 新增 `src/hooks/useShare.ts`:统一注册 `useShareAppMessage` + `useShareTimeline`,自动追加 `inviter=${user.id}` 裂变参数;导出 `isTimelineSinglePage()`(scene===1154)。
|
||
- 新增 `src/components/SharePoster/index.tsx`:Canvas 2D 生成「封面+标题+价格+小程序码」海报,返回临时图路径作 imageUrl。
|
||
- 新增 `src/api/share.ts`:`generateShareCode(page, inviterId)`,复用 `generateMiniProgramCode`(scene=uid_${id},page 透传)。
|
||
- 扩展 `src/api/shop/shopInvite/index.ts` 的 `generateMiniProgramCode`,URL 透传 `page` 参数(后端需读取转发)。
|
||
- 接入 10 个页面:商品/积分/拼团/秒杀/活动/赛事详情(带 canvas 海报);邀请下级/分销推广/升级VIP/分享赚佣金(仅 enableShare + useShare)。
|
||
- 类型检查:本次改动零错误,仅余 1 个历史既有错误(TS2688 @tarojs/taro 类型解析,非本次引入)。
|
||
- 待办/注意:朋友圈分享必须真机测试;后端需支持按 page 生成指定落地页小程序码;单页模式降级(避免强制登录跳转)可调用 `isTimelineSinglePage()`。
|
||
|
||
## 首页分享纠正 + 三按钮全亮(好友/朋友圈/复制链接)
|
||
- ❗纠正:之前误以为"tabBar 页不能分享朋友圈"是错的。核实微信官方 Page 文档 + 分享朋友圈专题文档:tabBar 页**可以**分享朋友圈(只要定义 onShareAppMessage + onShareTimeline 即显示按钮)。"tabBar 不渲染"仅指朋友圈打开后的**单页模式**里底部 tabBar 不显示,不是不能发起分享。
|
||
- `src/hooks/useShare.ts` 扩展:新增 `enableCopyUrl?: boolean`(复制链接,用 `Taro.onCopyUrl`/`offCopyUrl` 在 useEffect 里进页绑定、离页解绑);`enableTimeline` 默认 true 且 tabBar 页也生效;纠正了旧注释。
|
||
- `src/pages/index/index.tsx`:config 加 `enableShareAppMessage` + `enableShareTimeline`;`useShare({ title, path, enableTimeline:true, enableCopyUrl:true })`,首页右上角三个按钮全亮。
|
||
- 复制链接:基础库 2.14.3+ Beta(官方说仅 Android,实测 iOS 也支持);朋友圈/复制链接开发者工具可能看不到入口,需真机测试。
|
||
- 注意:首页分享朋友圈后是单页模式(无登录态/不能跳转/tabBar 不渲染),首页是交互型页面,单页体验受限,但作传播入口可用;如需更好体验可用 `isTimelineSinglePage()` 做降级。
|
||
- 类型检查:零错误(历史既有 1 个 TS2688 仍在)。
|