Files
dukang/apps/mini-user
2026-07-12 23:59:52 +08:00
..
2026-07-12 15:17:54 +08:00
2026-07-12 23:59:52 +08:00
2026-07-12 14:45:57 +08:00
2026-07-12 14:45:57 +08:00
2026-07-12 23:59:52 +08:00
2026-07-12 14:45:57 +08:00
2026-07-12 15:30:58 +08:00
2026-07-12 14:45:57 +08:00

@dukang/mini-user

杜康好客 C 端微信小程序(Taro 4 + React)。UI 对齐 apps/h5-user

启动

# H5 预览(联调 API
pnpm --filter @dukang/mini-user dev
# → http://localhost:5177

# 微信小程序
pnpm --filter @dukang/mini-user dev:weapp
# 用微信开发者工具打开 apps/mini-userminiprogramRoot = dist/

API 地址

环节 文件 说明
编译注入 config/index.tsdefineConstants.TARO_APP_API_ORIGIN 默认 https://dkapi.runxian.top;可用环境变量 VITE_API_TARGET 覆盖
运行时拼装 src/lib/api.tsresolveApiBase() {origin}/api/v1

微信登录 invalid code

wx.login 的 code 只能由与小程序 appid 匹配的后端 jscode2session 兑换。

当前值
小程序 appid project.config.jsonwxda31c8e8e85051e7
后端须配置 WX_MINI_APP_ID / WX_MINI_APP_SECRET(与上表一致)

本地联调(不接真实微信)API 指到本机且开启 Mock

# 终端 1
pnpm dev:api   # server/.env 保持 MOCK_WECHAT=true

# 终端 2
$env:VITE_API_TARGET="http://localhost:3000"; pnpm dev:mini-user:weapp

连远程 API:在 dkapi.runxian.top 所在服务器配置 WX_MINI_APP_ID=wxda31c8e8e85051e7 及对应 AppSecret,并部署含 code2Session 小程序凭证逻辑的后端。

页面结构(18 页)

Tab:首页 / 门店 / 好客权益 / 我的

栈页:商品详情、门店详情、确认订单、收银台、订单列表/详情、地址列表/编辑、客服、权益明细、核销/核销码/成功、登录

布局约定

  • 统一 PageShelltab / scroll / sub / plain)注入刘海屏 CSS 变量
  • Tab 顶栏:TabMainHeader;详情滚动顶栏:PageNavBar;子页:SubPageHeader
  • 样式:src/styles/*.css 按业务域拆分,入口 app.css

约定

  • X-Client-App: USER_MINI
  • 底栏原生 tabBar + PNGweapp);H5 内嵌 UserTabBar
  • 交易/核销页面以 UI 壳为主,部分 API 可后续加深