87c4af7364
权益页去掉分享按钮,菜单分享保留 支付成功改 reLaunch 清栈;订单列表返回首页 减数量低于起购时 toast「同城/跨城/现场提货至少购买 N 瓶」 核销成功可评星并 POST /redeem/ratings;HQ 新增「门店评价」页 /store-ratings 成功页「回到首页」改用 .redeem-cancel-btn,不再撑破布局 历史记录改为核销流水:GET /redeem/records;生产库已有 2 笔(用户 13073729990)可验证。权益明细字段映射也一并修了 我的页头像提高点击层级,避免被卡片遮挡
@dukang/mini-user
杜康好客 C 端微信小程序(Taro 4 + React)。UI 对齐 apps/h5-user。
启动
# H5 预览(联调 API)
pnpm --filter @dukang/mini-user dev
# → http://localhost:5177
# 微信小程序(本地联调,development)
pnpm --filter @dukang/mini-user dev:weapp
# 微信小程序(生产构建 → API: https://api.dukanghaoke.com)
pnpm build:mini-user:weapp
# 用微信开发者工具打开 apps/mini-user(miniprogramRoot = dist/)
API 地址
| 环节 | 文件 | 说明 |
|---|---|---|
| 编译注入 | config/index.ts → defineConstants.TARO_APP_API_ORIGIN |
dev:weapp / watch → localhost:3000;build:weapp(--mode production)→ https://api.dukanghaoke.com;可用 VITE_API_TARGET 覆盖 |
| 运行时拼装 | src/lib/api.ts → resolveApiBase() |
{origin}/api/v1 |
微信登录 invalid code
wx.login 的 code 只能由与小程序 appid 匹配的后端 jscode2session 兑换。
| 项 | 当前值 |
|---|---|
| 小程序 appid | project.config.json → wxda31c8e8e85051e7 |
| 后端须配置 | WX_MINI_APP_ID / WX_MINI_APP_SECRET(与上表一致) |
本地联调(不接真实微信):保持默认即可(API → localhost:3000),并开启 Mock:
# 终端 1
pnpm dev:api # server/.env 保持 MOCK_SMS=true / MOCK_WECHAT=true
# 终端 2
pnpm dev:mini-user # H5 预览 :5177
# 或
pnpm --filter @dukang/mini-user dev:weapp
连远程 API:
$env:VITE_API_TARGET="https://api.dukanghaoke.com"; pnpm --filter @dukang/mini-user dev
并在 api.dukanghaoke.com 所在服务器配置 WX_MINI_APP_ID=wxda31c8e8e85051e7 及对应 AppSecret。
页面结构(18 页)
Tab:首页 / 门店 / 好客权益 / 我的
栈页:商品详情、门店详情、确认订单、收银台、订单列表/详情、地址列表/编辑、客服、权益明细、核销/核销码/成功、登录
布局约定
- 统一
PageShell(tab/scroll/sub/plain)注入刘海屏 CSS 变量 - Tab 顶栏:
TabMainHeader;详情滚动顶栏:PageNavBar;子页:SubPageHeader - 样式:
src/styles/*.css按业务域拆分,入口app.css
约定
X-Client-App: USER_MINI- 底栏原生
tabBar+ PNG(weapp);H5 内嵌UserTabBar - 交易/核销页面以 UI 壳为主,部分 API 可后续加深