Cache menuAll and menuCodes from /web/auth/menu-codes for workbench filtering. Co-authored-by: Cursor <cursoragent@cursor.com>
山峡化工 · 微信小程序(miniprogram)
基于 uni-app 的微信小程序工程,基础框架移植自叁强鲜配 sqxp-wx,已去除订单/配送等业务页面,保留可复用的基础设施,便于后续建设山峡业务。
技术栈
- uni-app(Vue 3 + Composition API)
- Pinia(用户态)+ Vuex(hello-uniapp 遗留壳)
- Vant Weapp(
wxcomponents) - uni-ui(
uni_modules) - RSA 登录加密(JSEncrypt)+ 请求封装(
utils/request.js)
目录说明
| 路径 | 说明 |
|---|---|
pages/login/ |
登录、用户协议、隐私政策 |
pages/home/ |
占位首页(登录成功后跳转) |
config/ |
API 基址、静态资源默认配置 |
stores/ |
Pinia 用户 Store |
utils/ |
请求、RSA 登录、安全区、格式化等工具 |
components/ |
通用组件(安全区 Header、协议正文等) |
styles/ |
全局 SCSS 与 Token(对齐 docs/miniprogram-ui-spec-sanqiang.md) |
uni_modules/ |
uni-app 官方/扩展组件 |
wxcomponents/ |
Vant 小程序组件 |
本地开发
方式一:HBuilderX(推荐)
- 安装 HBuilderX App 开发版
- 用 HBuilderX 打开本目录
miniprogram/ - 在
manifest.json→ 微信小程序 中填写你的 AppID - 修改
config/api.js中的DEV_BASE_URL/devBaseUrl:- 模拟器:
http://127.0.0.1:8000/api - 真机调试:改为电脑局域网 IP,如
http://192.168.x.x:8000/api
- 模拟器:
- 确保
backend/已启动(默认127.0.0.1:8000) - 运行 → 运行到小程序模拟器 → 微信开发者工具
方式二:微信开发者工具
若已有编译产物,可导入 unpackage/dist/dev/mp-weixin(需先通过 HBuilderX 或 CLI 编译一次)。
接口约定
当前基础框架复用 Web 管理端公共登录接口(backend/app/api/public.py):
GET /api/web/auth/login-rsa-public-keyPOST /api/web/auth/loginPOST /api/web/auth/logoutGET /api/web/auth/current-user
后续若拆分小程序专用 /api/mini/* 路由,只需调整 config/api.js 中 AUTH_API 与 stores/user.js 调用路径。
发版前检查
cd miniprogram
npm run release:remind-api # 提醒核对 API 基址
npm run release:check-api # CI 严格模式:仍为本机地址则失败
视觉规范
UI Token 与页面骨架以仓库根目录 mobile-ui/(shanxia-mp-base.css、shanxia-mp-*.html)及 docs/miniprogram-ui-spec-sanqiang.md 为准。主品牌色:#0a9f6d(勿混用 Web Fresh Mint #10b981)。
CRM(P1)
工作台 CRM 启用菜单已接业务页:
| 菜单 | 路径 |
|---|---|
| 线索 | pages/crm/clue/* |
| 商机 | pages/crm/opportunity/* |
| 客户 | pages/crm/customer/* |
| 公海 | pages/crm/pool/list |
| 报价 | pages/crm/quote/* |
| 合同 | pages/crm/contract/* |
接口复用管理端 /web/crm/*(需 admin 权限账号)。API 封装:api/crm.js。
报销(P2)
| 菜单 | 路径 |
|---|---|
| 待办任务 | pages/bx/todo/list |
| 报销申请 | pages/bx/reimburse/* |
| 报销/借款审批 | pages/bx/approve/list?type= |
| 借款申请 | pages/bx/advance/* |
| 我的单据 | pages/bx/mine/list |
接口:/reimburses、/advances、/expense-items、/attachments(协议 code===0)。封装:api/bx.js。拍照凭证走 BX 附件上传。
地磅(P3)
| 菜单 | 路径 |
|---|---|
| 仪表盘 | pages/db/dashboard/index |
| 地磅计划 | pages/db/plans/* |
| 地磅单 | pages/db/weighing/*(二次过磅 / 作废) |
| 出入库 | pages/db/inventory/* |
接口:/dashboard、/plans、/weighing、/inventory(直出 JSON,非门户信封)。封装:api/db.js。
运输(P4)
| 菜单 | 路径 |
|---|---|
| 运输计划 | pages/pl/plan/*(列表 Tab / 详情 / 安排运输) |
| 计划归档 | pages/pl/archive/list |
| 购买证上传 | pages/pl/cert/*(拍照凭证) |
| 运费结算 | pages/pl/freight/list + detail |
| 运费审批 | pages/pl/freight/approval |
接口:/transport/plan、/transport/order/arrange、/transport/freight(协议兼容 code===0 或直出)。封装:api/pl.js。
运费提交审批:底部 Sheet 多选审批人(/web/admin/users/options + components/mp-approver-picker),支持或签/顺序/会签。
后续建设建议
开发范围与分期进度见 docs/miniprogram-dev-checklist.md(含 §7.1 冒烟表)。
P0/P1 CRM/P2 报销/P3 地磅/P4 运输→ P5 按冒烟表联调 + 合法域名 +npm run release:check-api- 灰卡菜单仍走
biz-placeholder;联调时核对微信合法域名与config/api.js基址