生成日期:2026-07-06 Base URL:
http://localhost:8004(开发)/https://api.proprice.kailin.com.cn(生产) 认证方式:Authorization: Bearer {accessToken}(标注"公开"的除外)
POST /api/auth/wechat/miniapp/login
说明:微信小程序 wx.login() 后调用,自动处理新老用户四种场景。
请求:
{
"jsCode": "wx.login()返回的code",
"phoneCode": "getPhoneNumber返回的code(可选)",
"inviteCode": "邀请码(可选)"
}
响应:
{
"code": 200,
"data": {
"userId": "2070346651500961794",
"accessToken": "eyJ...",
"refreshToken": "eyJ...",
"expiresIn": 3600,
"newUser": false,
"needBindPhone": false,
"role": "USER",
"userInfo": {
"id": "2070346651500961794",
"phone": "138****1234",
"nickname": "药店用户",
"avatar": null,
"pharmacyName": null,
"province": null,
"city": null,
"district": null,
"wechatBound": true,
"loginSource": "MINIAPP",
"membershipLevel": "PLUS",
"membershipLevelName": "普通会员",
"createTime": "2026-07-06T12:00:00"
}
}
}
needBindPhone=true 时:前端引导用户点击 getPhoneNumber 按钮,拿到 phoneCode 后调用 1.2。
POST /api/auth/wechat/miniapp/bind-phone
请求:
{
"tempToken": "1.1 返回的tempToken",
"phoneCode": "getPhoneNumber按钮返回的code",
"inviteCode": "邀请码(可选)"
}
响应:同 1.1,needBindPhone=false,含正式 token。
POST /api/auth/register
说明:1.1 返回 newUser=true 或 needBindPhone 完成后跳转注册页,填写药店信息提交。
请求:
{
"tempToken": "登录时返回的tempToken",
"pharmacyName": "康宁大药房",
"province": "广东省",
"city": "广州市",
"district": "天河区",
"inviteCode": "PX8K2M(可选)"
}
响应:同 1.1,含正式 token,userInfo.pharmacyName 已填充。
POST /api/auth/refresh
请求:
{ "refreshToken": "eyJ..." }
响应:同 1.1 格式(不含 userInfo)。
POST /api/auth/heartbeat
Header:Authorization: Bearer {accessToken}(无 body)
响应:
{
"code": 200,
"data": {
"userId": "2070346651500961794",
"accessToken": "eyJ...(新)",
"refreshToken": "eyJ...(新)",
"expiresIn": 3600,
"role": "USER"
}
}
建议间隔 = accessToken 有效期的 80%(约 48 分钟),过期 token 也可调用。
POST /api/auth/logout
Header:Authorization: Bearer {accessToken}(无 body)
响应:{"code": 200, "message": "操作成功"}
GET /api/auth/user/info
响应:与 1.1 userInfo 一致。
GET /api/auth/user/me
响应:
{
"code": 200,
"data": {
"id": "2070346651500961794",
"phone": "138****1234",
"nickname": "药店用户",
"pharmacyName": "康宁大药房",
"province": "广东省",
"city": "广州市",
"district": "天河区",
"membershipLevel": "PLUS",
"membershipLevelName": "普通会员",
"gate": {
"canQueryOnDesktop": false,
"licenseStatus": "PENDING",
"platformBoundCount": 1,
"gateMessages": ["请先上传营业执照并通过审核"]
},
"quota": {
"dailyQueryUsed": 8,
"dailyQueryLimit": 20
},
"platformBindings": [
{
"platformCode": "yaobangmang",
"platformName": "药帮忙",
"status": "bound",
"lastVerifyTime": "2026-06-27T10:00:00"
}
]
}
}
GET /api/auth/user/dashboard
响应:
{
"code": 200,
"data": {
"todayQueryCount": 8,
"todayPurchaseIntentCount": 0,
"totalQueryCount": 156,
"recentQueries": [
{
"drugName": "阿莫西林胶囊",
"searchedAt": "2026-07-06T14:00:00",
"lowestPrice": "有报价"
}
]
}
}
GET /api/search/records?page=1&pageSize=20
GET /api/search/records/{id}
GET /api/purchase-intents?page=1&pageSize=20
响应 data.records[]:
{
"id": "123456",
"userId": "2070346651500961794",
"queryId": "789",
"drugName": "阿莫西林胶囊",
"spec": "0.25g×24粒",
"manufacturer": "石药集团",
"platformCode": "yaobangmang",
"platformName": "药帮忙",
"referencePrice": 8.50,
"sourceClient": "WINDOWS",
"clickedAt": "2026-07-06T14:35:00"
}
GET /api/purchase-intents/{id}
POST /api/purchase-intents
{
"queryId": "789",
"drugName": "阿莫西林胶囊",
"spec": "0.25g×24粒",
"manufacturer": "石药集团",
"platformCode": "yaobangmang",
"platformName": "药帮忙",
"referencePrice": 8.50,
"externalUrl": "https://...",
"sourceClient": "WINDOWS"
}
GET /api/procurement-ledgers?page=1&pageSize=20
POST /api/procurement-ledgers
{
"intentId": "123456(可选)",
"queryId": "789(可选)",
"drugName": "阿莫西林胶囊",
"spec": "0.25g×24粒",
"qty": 10,
"unitPrice": 8.50,
"total": 85.00,
"platform": "药帮忙",
"orderNote": "6月补货",
"status": "ordered"
}
PATCH /api/procurement-ledgers/{id}
{
"status": "received",
"qty": 10,
"unitPrice": 8.50,
"total": 85.00,
"orderNote": "已到货"
}
DELETE /api/procurement-ledgers/{id}
GET /api/content/help
GET /api/content/download
响应:
{
"code": 200,
"data": {
"windowsUrl": "https://proprice.kailin.com.cn/download/windows",
"officialSiteUrl": "https://proprice.kailin.com.cn",
"version": "1.0.0",
"releaseNotes": "1.0.0 版本发布"
}
}
| 接口 | 路径 |
|---|---|
| 发送验证码 | POST /api/auth/sms/send |
| 验证码登录 | POST /api/auth/sms/login |
| 密码登录 | POST /api/auth/password/login |
| 微信扫码登录(PC) | POST /api/auth/wechat/login |
| 绑定微信手机号 | POST /api/auth/wechat/bind |
| 设置密码 | POST /api/auth/password/set |
| 修改手机号 | POST /api/auth/phone/change |
| 营业执照上传 | POST /api/business-license/upload-file |
| 营业执照查询 | GET /api/business-license/info |
| 平台列表 | GET /api/platform-account/list |
| 绑定平台 | POST /api/platform-account/bind |
| 解绑平台 | DELETE /api/platform-account/unbind/{platformCode} |
| 验证平台 | POST /api/platform-account/verify/{platformCode} |
| 会员套餐 | GET /api/payment/plans |
| 创建订单 | POST /api/payment/orders |
| 订单状态 | GET /api/payment/orders/{orderNo} |
| 邀请统计 | GET /api/invite/stats |
| 优惠券核销 | POST /api/coupons/redeem |
| 端 | 策略 | 行为 |
|---|---|---|
| PC(SMS/密码/微信扫码) | tokenVersion 精确匹配 |
只能 1 台 PC 在线,新登录踢旧 |
| 小程序(微信授权) | tokenVersion 范围匹配 < 2 |
与 PC 共存,不互踢 |
| 旧版本 token | 精确匹配(向前兼容) | 无 loginSource claim 时走 PC 逻辑 |