2.6 KiB
2.6 KiB
管理端开发说明(当前实现)
1. 模块概览
- VIP 系统:
/vip/system管理统一售价与充值记录,/vip/list维护店铺会员状态。价格管理页面引用/api/admin/vip/system/price,充值列表读取/api/admin/vip/system/recharges。 - 公告管理:
/notice/list支持公告检索、创建、编辑、发布与下线,对应接口/api/admin/notices及其子路径。 - 咨询回复:
/consult基于/api/admin/consults完成列表、单次回复、标记已解决。 - 用户/配件/供应商:
/users、/parts、/supplier依次调用/api/admin/users、/api/admin/parts、/api/suppliers进行检索与维护。 - 附件与图片:图片上传统一走
/api/attachments,列表页展示时需通过withBaseUrl()处理相对路径。
2. 认证与上下文
- 后端默认启用
AdminAuthInterceptor,优先校验 Bearer Token;未登录情况下回退到请求头X-Admin-Id与X-User-Id。 - 管理端前端目前仍使用本地存储写入
USER_ID/ADMIN_ID(详见admin/src/api/http.ts);接入登录页时需改为在登录成功后写入 Token 并移除默认 ID。 - 所有请求必须附带
X-Shop-Id(默认 1,可在本地存储或环境变量覆盖),以匹配租户范围。
3. 接口要点
- VIP 列表:
GET /api/admin/vips已落地;POST /api/admin/vips需要传入shopId与userId才能成功创建。 - VIP 价格:
GET/PUT /api/admin/vip/system/price会清空vip_price再写入单条记录,不允许并行修改;可考虑后续改为UPDATE语句。 - VIP 充值:
GET /api/admin/vip/system/recharges支持关键字(姓名/手机号)过滤,默认按创建时间倒序。 - 公告管理:创建与更新均支持标签、置顶、时间窗,未填写时间默认为即时生效/长期有效。
- 附件上传:上传成功返回
url与元信息,若需要落库请在业务表维持引用;多次上传同一文件会复用记录(按 hash 去重)。
4. 条码识别接入
- 管理端不提供扫码入口,仅用户端调用
/api/barcode/scan。 - 后端代理服务会将图片转发至 Python TXM(FastAPI)并返回首个匹配条码,需保持 Java 与 Python 两侧的
PY_BARCODE_MAX_UPLOAD_MB一致。 - 部署时应通过环境变量配置:
PY_BARCODE_HOST/PY_BARCODE_PORT:Python 服务地址,默认127.0.0.1:8000。PY_BARCODE_MAX_UPLOAD_MB:上传大小限制,默认 8MB。
- 小程序端调用扫码接口需将后端域名加入“request 合法域名”并启用 HTTPS。