Files
xinlong-shop-taro/.workbuddy/memory/2026-07-13.md
赵忠林 2f12a1fd27 feat(shop): 接入分类页分享功能支持好友、朋友圈及复制链接
- 在 `src/pages/shop/index.config.ts` 中启用分享转发配置
- 在 `src/pages/shop/index.tsx` 增加 `useShare` 钩子调用,支持分享标题、路径及朋友圈和复制链接功能
- 分类页作为 tabBar 页面,确保三种分享按钮均可用
- 通过类型检查,代码无错误保证功能稳定
2026-07-13 12:15:03 +08:00

25 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 仍在)。
## 分类页pages/shop/index分享接入
- `src/pages/shop/index.config.ts`:加 `enableShareAppMessage: true` + `enableShareTimeline: true`
- `src/pages/shop/index.tsx`:导入 `useShare`,组件内调用 `useShare({ title:'购物商城 - 精选好物...', path:'/pages/shop/index', enableTimeline:true, enableCopyUrl:true })`
- 分类页和首页一样是 tabBar 页,三按钮全亮(好友/朋友圈/复制链接)
- 类型检查:零错误