调用手册
这里集中说明「所有接口共用」的规则。接口页不再重复这些内容,只给最终路径。
1. 完整 URL 怎么拼
https://dscp-dev.hn12301.net + /manage-api + /sms/addSmsCardLog
| 渠道(@Route) | URL 前缀 | dev 主机 + 前缀 | 接口数 |
|---|---|---|---|
管理后台 MANAGE_API | /manage-api | https://dscp-dev.hn12301.net/manage-api | 1237 |
小程序 MP_API | /mp-api | https://dscp-dev.hn12301.net/mp-api | 64 |
H5 H5_API | /h5-api | https://dscp-dev.hn12301.net/h5-api | 44 |
App APP_API | /app-api | https://dscp-dev.hn12301.net/app-api | 33 |
质惠游 ZHY_API | /zhy-api | https://dscp-dev.hn12301.net/zhy-api | 25 |
核销端 CHECKER_API | /checker-api | https://dscp-dev.hn12301.net/checker-api | 0 |
开放/回调 OPEN_API | /open-api | https://dscp-dev.hn12301.net/open-api | 347 |
生产主机未确认。 旧版在 1405 张卡片里各写了一遍 pro 行,且值指向 uat 主机(示意)。v2 不再逐接口重复:
需要生产地址请向运维确认,确认后写入
tools/build.py 的 HOSTS 重新生成即可,只改一处。2. 响应外层包装(chaos 框架统一)
| 字段 | 类型 | 说明 |
|---|---|---|
| errcode | int | 业务码,0 = 成功 |
| errmsg | string | 提示信息 |
| data | T | 各接口「响应 · data」列出的结构 |
前端同时兼容 {code, msg, data};activity_h5 按其 request 封装记为 {code, message, data}。
接口页只写 data 结构,不再重复外层包装。
3. 鉴权与请求头
| 前端 | 目录名 | 技术栈 | 认证与约定 |
|---|---|---|---|
| 管理后台 | dscp-html-manage | Vue3 + Vite + Element Plus + axios | baseURL=/manage-api; auth=Authorization: Bearer + tenant-id |
| 湘工惠商城 | xghmall | uni-app + uView (Vue2) | prefix=/app-api,/mp-api |
| 爱上萍乡 小程序 | pingxiangcard | uni-app + Vue3 + TS + Pinia | prefix=/mp-api |
| 质惠游 公众号 H5 | h5-meike | uni-app + uView (Vue2) | prefix=open-api,h5-api |
| 怀化人社 H5 | hhrs | uni-app + uView (Vue2) | prefix=h5-api |
| 景区核销 | writeoff | uni-app + uView (Vue2) | prefix=checker-api |
| 怀化社保卡活动 H5 | activity_h5 | uni-app + Vue3 | prefix=h5-api |
管理后台:Authorization: Bearer <token>,多租户时另带 tenant-id;code==200 或 errcode==0 判成功,401 / errcode 30002 触发重登。
各端 baseURL 与渠道前缀详见 前端页。
4. 错误码
机器可读导出:运行
python3 tools/to_openapi.py 生成 ../data/openapi.json(OpenAPI 3.0,1661 条路径),
可导入 Apifox / Postman 或生成 mock;渠道、数据表、调用点等证据放在 x-channels / x-tables / x-callers 扩展字段。错误码就在源码常量类里:ResCode.java(业务码)与 chaos ChaosRes.java(框架码),
形如 public static final ResBean CARD_NUMBER_ERROR = new ResBean(20001, "卡号不存在或状态错误")。
完整对照、每个码被多少个接口抛出,见 错误码字典;接口卡片也会列出该接口可能抛出的业务码。
唯一未覆盖的来源:管理后台的
system_error_code 表(前端页面
dscp-html-manage/src/views/system/errorCode),用于运行时自定义提示语,与源码常量不保证一致。
需要 DBA 导出该表并入 data/ 后才能真正对齐。5. 「未发现调用」到底是什么意思
本次只扫描 7 个前端仓库源码里的请求路径字面量(含 url:、post('/x')、xxxUrl = '...' 三种写法)。
服务端内部调用、定时任务、其它未纳入仓库的端、动态拼接的路径不在扫描范围内。
因此「未发现调用」≠「可以下线」,只能作为排查线索。
6. 已知扫描局限
- 模板字符串里带变量的路径(如
post(`${BASE}/x`))已处理,但变量在前、路径在后的自定义封装可能漏抓; pingxiangcard的/oss/upload、/oss/uploadWithFaceCheck通过uni.uploadFile调用,当前规则未覆盖(旧版同样漏判);- 末段匹配(suffix)只作提示,不计入「已确认在用」。