Files
xinlong-shop-taro/.workbuddy/memory/2026-07-13.md
赵忠林 59ebef2f22 fix(order): 修复订单列表显示他人订单的问题
- 引入 useUser 获取当前用户信息
- 请求参数中增加 userId 字段,确保后端按用户过滤订单数据
- 避免因缺失 userId 导致展示所有用户订单
- 类型检查无错误,保证代码健壮性
- 修改项目名称为“鑫龙家电”
2026-07-14 00:01:54 +08:00

3.3 KiB
Raw Blame History

2026-07-13 工作日志

小程序分享 / 朋友圈能力全量接入

  • 新增 src/hooks/useShare.ts:统一注册 useShareAppMessage + useShareTimeline,自动追加 inviter=${user.id} 裂变参数;导出 isTimelineSinglePage()scene===1154
  • 新增 src/components/SharePoster/index.tsxCanvas 2D 生成「封面+标题+价格+小程序码」海报,返回临时图路径作 imageUrl。
  • 新增 src/api/share.tsgenerateShareCode(page, inviterId),复用 generateMiniProgramCodescene=uid_${id}page 透传)。
  • 扩展 src/api/shop/shopInvite/index.tsgenerateMiniProgramCodeURL 透传 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.tsxconfig 加 enableShareAppMessage + enableShareTimelineuseShare({ 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 页,三按钮全亮(好友/朋友圈/复制链接)
  • 类型检查:零错误

修复订单列表看到他人订单

  • src/pages/order/list.tsx:导入 useUser,请求参数加 userId: user?.id。原代码请求 pageShopOrder 时没传 userId,导致后端返回所有人订单。
  • ShopOrderParam 接口已有 userId 字段(见 src/api/shop/shopOrder/model/index.ts:225),后端按此过滤——只需前端补传。
  • 类型检查:零错误