- useShare 增加 enableTimeline 配置,默认启用朋友圈分享 - 首页配置 enableShareAppMessage 并调用 useShare,enableTimeline 设为 false - 解决 tabBar 页微信不支持朋友圈分享的问题,避免无效注册 - 分享路径添加裂变参数,增强邀请下级功能 - 保持类型检查零错误,改动兼容现有历史 TS2688 错误
1.8 KiB
1.8 KiB
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()。
首页接入分享(补做)
src/hooks/useShare.ts增加enableTimeline?: boolean选项(默认 true),tabBar 页传 false 避免注册无效的朋友圈回调(React hook 规则下用内部if判断返回空对象,始终调用 hook)。src/pages/index/index.tsx:config 加enableShareAppMessage: true,组件内调用useShare({ title, path:'/pages/index/index', enableTimeline:false })。- 说明:首页为 tabBar 页,微信不允许分享到朋友圈,故仅启用「分享给好友」,路径带 inviter 裂变参数。
- 类型检查:零错误(历史既有 1 个 TS2688 仍在)。