- 引入 useUser 获取当前用户信息 - 请求参数中增加 userId 字段,确保后端按用户过滤订单数据 - 避免因缺失 userId 导致展示所有用户订单 - 类型检查无错误,保证代码健壮性 - 修改项目名称为“鑫龙家电”
3.3 KiB
3.3 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()。
首页分享纠正 + 三按钮全亮(好友/朋友圈/复制链接)
- ❗纠正:之前误以为"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: truesrc/pages/shop/index.tsx:导入useShare,组件内调用useShare({ title:'购物商城 - 精选好物...', path:'/pages/shop/index', enableTimeline:true, enableCopyUrl:true })- 分类页和首页一样是 tabBar 页,三按钮全亮(好友/朋友圈/复制链接)
- 类型检查:零错误
修复订单列表看到他人订单
src/pages/order/list.tsx:导入useUser,请求参数加userId: user?.id。原代码请求pageShopOrder时没传userId,导致后端返回所有人订单。ShopOrderParam接口已有userId字段(见src/api/shop/shopOrder/model/index.ts:225),后端按此过滤——只需前端补传。- 类型检查:零错误