- 纠正 tabBar 页可分享朋友圈的误解,tabBar 页只在朋友圈单页模式底部不显示但支持分享 - useShare 钩子新增 enableCopyUrl 参数,支持复制链接按钮绑定与解绑 - 首页配置启用 enableShareTimeline,调用 useShare 启用朋友圈和复制链接三按钮 - 补充复制链接功能,适配基础库 2.14.3+(Beta),需真机测试 - 朋友圈分享自动带 inviter 参数,统一裂变归因机制 - 更新文档及注释,明确朋友圈分享与复制链接支持及注意事项
42 lines
3.0 KiB
Markdown
42 lines
3.0 KiB
Markdown
# 项目长期记忆
|
||
|
||
## 项目概述
|
||
- 项目名:xinlong-shop-taro(Taro 微信小程序商城)
|
||
- 技术栈:Taro + React + TypeScript + Tailwind CSS
|
||
- 后端 API 前缀:`/shop/`、`/api/`
|
||
- 门店店员身份判断:通过 `getMyClerk()` API (`/shop/shop-store-user/my`) 返回值判断
|
||
- VIP/分销商申请记录表:`ShopDealerApply`,状态码 10待审核/20通过/30驳回
|
||
|
||
## VIP 会员机制
|
||
- 用户在 `vip-upgrade` 页面提交门店名称和地址申请
|
||
- 门店店员在 `vip-review` 页面审核(通过/驳回)
|
||
- VIP 会员特权:商品显示 `dealerPrice` 价格,下单使用该价格结算
|
||
- VIP 状态判断:`isVipMember()` 从 localStorage 缓存读取,`checkAndCacheVipStatus(userId)` 异步更新
|
||
|
||
## 商品价格字段约定
|
||
- `product.price` - 到手价(主价格)
|
||
- `product.salePrice` - 市场价(划掉的)
|
||
- `product.dealerPrice` - VIP 会员专享价
|
||
- `product.memberStorePrice` - 会员价
|
||
|
||
## 关键文件位置
|
||
- VIP 工具:`src/utils/vip.ts`
|
||
- VIP Hook:`src/hooks/useVipStatus.ts`
|
||
- VIP 审核页:`src/pages/user/vip-review/index.tsx`
|
||
- VIP 升级页:`src/pages/user/vip-upgrade/index.tsx`
|
||
- 门店中心:`src/pages/store/center/index.tsx`
|
||
|
||
## 订阅消息
|
||
- 模板 ID:`sh1K9iK7vZjebUNFu6OsMsnsJxm4whThWGrhN7I4zVg`(交易提醒)
|
||
- 字段:订单号(`character_string1`)、商品名称(`thing4`)、联系人(`thing10`)、联系电话(`phone_number7`)、送货地址(`thing8`)
|
||
- 场景说明:下单提醒
|
||
- 新订单检测 Hook:`src/hooks/useNewOrderDetector.ts`(30秒轮询,页面隐藏暂停)
|
||
|
||
## 分享 / 朋友圈能力(2026-07-13 接入)
|
||
- 统一封装:`src/hooks/useShare.ts`(`useShare({title, path?, query?, imageUrl?, enableTimeline?, enableCopyUrl?})`,一次注册 `useShareAppMessage` + `useShareTimeline` + 可选 `onCopyUrl` 复制链接;自动在 path/query 追加 `inviter=${当前用户id}` 做裂变归因;`isTimelineSinglePage()` 判断朋友圈单页模式 scene===1154)
|
||
- 海报组件:`src/components/SharePoster/index.tsx`(Canvas 2D 绘制封面+标题+价格+小程序码,返回临时图路径作 imageUrl)
|
||
- 小程序码接口:`src/api/share.ts` `generateShareCode(page, inviterId)` 复用 `generateMiniProgramCode`(scene 用 `uid_${inviterId}`,page 透传但后端需读取转发才生效)
|
||
- 裂变约定:分享链接 query 用 `inviter`,与 `src/utils/invite.ts` 的 `parseInviteParams` 读取字段一致
|
||
- 已接入页面:商品详情、积分商品、拼团、秒杀、活动、赛事(带 canvas 海报);邀请下级、分销推广、升级VIP、分享赚佣金(仅 enableShare + useShare,无海报);首页(好友+朋友圈+复制链接三按钮全亮)
|
||
- 注意:tabBar 页**也支持朋友圈分享**(之前误判已纠正)——只要 config 开 enableShareTimeline + 定义 onShareTimeline 即显示按钮;"tabBar 不渲染"仅指朋友圈打开后的单页模式里底部 tabBar 不显示。朋友圈/复制链接开发者工具可能看不到入口,必须真机测试。复制链接是 Beta(基础库 2.14.3+)。
|