API 接口文档
本文档列出 jw-beauty 后端所有 API 接口,供前端开发和调试参考。
Base URL: https://api.vsai.net.cn
通用约定
认证方式
需要认证的接口在请求头中携带 JWT:
requireUser:需要用户 Token(通过 /auth/login 获取)
requireAdmin:需要管理员 Token(通过 /admin/login 获取)
响应格式
所有接口返回统一 JSON 结构:
| code |
含义 |
| 0 |
成功 |
| 1001 |
Token 无效或过期 |
| 1002 |
管理员未授权 |
| 1004 |
用户不存在 |
| 1005 |
设备/记录不存在 |
| 1006 |
设备未绑定 |
| 2001 |
参数错误或业务限制 |
| 3001 |
服务端错误 |
公共请求头
| Header |
说明 |
Authorization |
Bearer Token |
Content-Type |
application/json(除文件上传外) |
X-Device-Id |
设备标识(可选) |
X-App-Version |
应用版本号(可选) |
X-Platform |
平台标识(可选) |
分页参数
支持分页的列表接口统一使用:
| 参数 |
类型 |
默认值 |
说明 |
page |
number |
1 |
页码(从 1 开始) |
page_size |
number |
20 |
每页条数(最大 100) |
Rate Limiting
| 路径 |
限制 |
POST /api/v1/auth/login |
15 分钟内最多 10 次 |
POST /api/v1/admin/login |
15 分钟内最多 5 次 |
POST /api/v1/user/avatar |
15 分钟内最多 20 次 |
POST /api/v1/user/phone |
15 分钟内最多 20 次 |
健康检查
GET /health
| 项目 |
说明 |
| Auth |
无 |
| 说明 |
健康检查,用于部署验证和监控 |
响应示例:
1. 认证模块
1.1 POST /api/v1/auth/login
| 项目 |
说明 |
| Auth |
无 |
| 说明 |
微信小程序登录。维护模式下拒绝登录。新用户自动注册。 |
请求 Body:
| 字段 |
类型 |
必填 |
说明 |
code |
string |
是 |
wx.login() 返回的临时登录凭证 |
响应 data:
| 字段 |
类型 |
说明 |
token |
string |
JWT Token |
user_id |
string |
用户 ID |
is_new_user |
boolean |
是否新注册用户 |
user_info |
object |
用户基本信息 |
user_info.nickname |
string |
昵称 |
user_info.avatar |
string |
头像 URL |
user_info.phone |
string |
手机号 |
user_info.gender |
number |
性别(0=未知) |
expires_in |
number |
Token 有效期(秒),固定 604800(7天) |
响应示例:
1.2 POST /api/v1/auth/refresh
| 项目 |
说明 |
| Auth |
Bearer Token(可过期不超过 1 天) |
| 说明 |
刷新用户 Token。Token 未过期且剩余有效期超过 7 天时原样返回。 |
请求 Body:无
响应 data:
| 字段 |
类型 |
说明 |
token |
string |
新 Token(或原 Token) |
expires_in |
number |
有效期(秒) |
2. 用户模块
2.1 GET /api/v1/user/profile
| 项目 |
说明 |
| Auth |
requireUser |
| 说明 |
获取当前用户资料 |
响应 data:
| 字段 |
类型 |
说明 |
user_id |
string |
用户 ID |
nickname |
string |
昵称 |
avatar |
string |
头像 URL |
phone |
string |
手机号 |
gender |
number |
性别 |
bind_time |
null |
保留字段 |
device_count |
number |
已绑定设备数量 |
2.2 PUT /api/v1/user/profile
| 项目 |
说明 |
| Auth |
requireUser |
| 说明 |
更新用户资料 |
请求 Body:
| 字段 |
类型 |
必填 |
说明 |
nickname |
string |
否 |
昵称 |
avatar |
string |
否 |
头像 URL(也接受 avatar_url) |
gender |
number |
否 |
性别 |
响应 data:
2.3 POST /api/v1/user/avatar
| 项目 |
说明 |
| Auth |
requireUser |
| Content-Type |
multipart/form-data |
| 说明 |
上传头像图片到 COS。限制 2MB,仅支持 jpg/png/gif/webp。 |
请求:
| 字段 |
类型 |
必填 |
说明 |
file |
file |
是 |
图片文件 |
响应 data:
| 字段 |
类型 |
说明 |
avatar |
string |
COS CDN 头像 URL |
2.4 POST /api/v1/user/phone
| 项目 |
说明 |
| Auth |
requireUser |
| 说明 |
微信手机号授权绑定 |
请求 Body:
| 字段 |
类型 |
必填 |
说明 |
code |
string |
是 |
微信 getPhoneNumber 返回的 code |
响应 data:
| 字段 |
类型 |
说明 |
phone |
string |
完整手机号(带区号) |
pure_phone_number |
string |
不带区号的手机号 |
country_code |
string |
国家区号 |
3. 设备模块
3.1 POST /api/v1/device/bind
| 项目 |
说明 |
| Auth |
requireUser |
| 说明 |
申请绑定设备。每个用户同时只能绑定一台设备。设备绑定功能可通过系统设置关闭。 |
请求 Body:
| 字段 |
类型 |
必填 |
说明 |
device_id |
string |
是 |
设备 ID(产品码) |
响应 data:
| 字段 |
类型 |
说明 |
device_id |
string |
设备 ID |
bind_token |
string |
绑定令牌(16 字符 hex),用于确认绑定 |
subscription |
object |
当前订阅状态 |
subscription.plan |
string |
订阅计划(none/trial/monthly/yearly) |
subscription.remaining_days |
number |
剩余天数 |
3.2 POST /api/v1/device/bind/confirm
| 项目 |
说明 |
| Auth |
requireUser |
| 说明 |
确认绑定设备(蓝牙握手成功后调用) |
请求 Body:
| 字段 |
类型 |
必填 |
说明 |
device_id |
string |
是 |
设备 ID |
bind_token |
string |
是 |
绑定令牌 |
响应 data:
| 字段 |
类型 |
说明 |
message |
string |
"success" |
subscription |
object |
当前订阅状态 |
3.3 POST /api/v1/device/mock-bind
| 项目 |
说明 |
| Auth |
requireUser |
| 环境 |
仅非 production 环境可用 |
| 说明 |
模拟绑定设备,跳过蓝牙确认流程。用于开发调试。 |
请求 Body:
| 字段 |
类型 |
必填 |
说明 |
device_id |
string |
是 |
设备 ID |
响应 data:
3.4 POST /api/v1/device/unbind
| 项目 |
说明 |
| Auth |
requireUser |
| 说明 |
解绑设备 |
请求 Body:
| 字段 |
类型 |
必填 |
说明 |
device_id |
string |
否 |
指定设备 ID,不传则解绑当前设备 |
响应 data:
3.5 GET /api/v1/device/list
| 项目 |
说明 |
| Auth |
requireUser |
| 说明 |
获取当前用户的设备列表 |
响应 data:
| 字段 |
类型 |
说明 |
devices |
array |
设备列表 |
total |
number |
设备数量 |
3.6 GET /api/v1/device/:device_id
| 项目 |
说明 |
| Auth |
requireUser |
| 说明 |
获取已绑定设备详情。只能查看自己绑定的设备。 |
路径参数:
响应 data:设备详情对象(含 device_id, device_name, firmware_version, battery, temperature 等)
3.7 GET /api/v1/device/command/pending
| 项目 |
说明 |
| Auth |
requireUser |
| 说明 |
拉取设备待执行的远程指令。拉取后指令标记为已推送。 |
Query 参数:
| 参数 |
类型 |
必填 |
说明 |
device_id |
string |
是 |
设备 ID |
响应 data:
| 字段 |
类型 |
说明 |
commands |
array |
指令列表 |
commands[].seq |
number |
指令序号(command_id) |
commands[].opcode |
number |
操作码 |
commands[].payload |
object |
指令参数 |
3.8 POST /api/v1/device/command/result
| 项目 |
说明 |
| Auth |
requireUser |
| 说明 |
上报指令执行结果 |
请求 Body:
| 字段 |
类型 |
必填 |
说明 |
command_id 或 seq |
number |
是 |
指令 ID |
success |
boolean |
否 |
是否成功,默认 true |
响应 data:
3.9 POST /api/v1/device/event
| 项目 |
说明 |
| Auth |
requireUser |
| 说明 |
上报设备事件(错误、温度异常等) |
请求 Body:
| 字段 |
类型 |
必填 |
说明 |
device_id |
string |
是 |
设备 ID |
event_type |
string |
否 |
事件类型,默认 device_error |
error_code |
number |
否 |
错误码 |
temperature |
number |
否 |
温度 |
响应 data:
4. 订阅模块
4.1 GET /api/v1/subscription/plans
| 项目 |
说明 |
| Auth |
无 |
| 说明 |
获取可用订阅计划列表。价格和试用天数从系统设置读取。 |
响应 data:
| 字段 |
类型 |
说明 |
plans |
array |
计划列表 |
plans[].key |
string |
计划标识(monthly/yearly/trial) |
plans[].name |
string |
名称(月卡/年卡/试用) |
plans[].price |
number |
价格(分) |
plans[].days |
number |
有效天数 |
响应示例:
4.2 GET /api/v1/subscription
| 项目 |
说明 |
| Auth |
requireUser |
| 说明 |
获取当前用户的订阅状态 |
响应 data:
| 字段 |
类型 |
说明 |
status |
string |
active / expired / inactive |
plan |
string |
计划(none/trial/monthly/yearly) |
start_time |
string |
开始时间(无订阅时无此字段) |
expire_time |
string |
到期时间(无订阅时无此字段) |
remaining_days |
number |
剩余天数 |
trial_used |
boolean |
是否已使用过试用 |
4.3 POST /api/v1/subscription/purchase
| 项目 |
说明 |
| Auth |
requireUser |
| 说明 |
创建购买订单。当前返回订单号和占位支付参数,支付集成待完成。 |
请求 Body:
| 字段 |
类型 |
必填 |
说明 |
plan 或 plan_type |
string |
是 |
计划标识(trial/monthly/yearly) |
响应 data:
| 字段 |
类型 |
说明 |
order_id |
string |
订单号 |
payment_params |
object |
支付参数(当前为空对象) |
plan |
string |
计划标识 |
amount |
number |
金额 |
4.4 POST /api/v1/subscription/mock-purchase
| 项目 |
说明 |
| Auth |
requireUser |
| 环境 |
仅非 production 环境可用 |
| 说明 |
模拟购买订阅,直接激活。不支持 trial 计划(trial 请用 /subscription/trial)。 |
请求 Body:
| 字段 |
类型 |
必填 |
说明 |
plan 或 plan_type |
string |
是 |
monthly 或 yearly |
响应 data:
| 字段 |
类型 |
说明 |
status |
string |
active |
plan |
string |
计划标识 |
remaining_days |
number |
剩余天数 |
4.5 POST /api/v1/subscription/trial
| 项目 |
说明 |
| Auth |
requireUser |
| 说明 |
激活试用订阅。每个用户仅可使用一次。已有有效订阅时不可激活。 |
请求 Body:无
响应 data:
| 字段 |
类型 |
说明 |
status |
string |
active |
plan |
string |
trial |
remaining_days |
number |
试用天数(默认 7) |
4.6 POST /api/v1/subscription/verify
| 项目 |
说明 |
| Auth |
requireAdmin |
| 说明 |
管理员手动激活订阅(临时方案,支付集成前使用) |
请求 Body:
| 字段 |
类型 |
必填 |
说明 |
user_id |
number |
是 |
用户 ID |
plan 或 plan_type |
string |
否 |
计划,默认 monthly |
order_id |
string |
否 |
订单号,不传则自动生成 |
响应 data:
| 字段 |
类型 |
说明 |
status |
string |
active |
plan |
string |
计划标识 |
remaining_days |
number |
剩余天数 |
5. 护理模块
5.1 GET /api/v1/treatment/history
| 项目 |
说明 |
| Auth |
requireUser |
| 说明 |
获取当前用户的护理记录列表,支持分页 |
Query 参数:
| 参数 |
类型 |
必填 |
说明 |
page |
number |
否 |
页码,默认 1 |
page_size |
number |
否 |
每页条数,默认 20 |
响应 data:
| 字段 |
类型 |
说明 |
total |
number |
总记录数 |
page |
number |
当前页码 |
page_size |
number |
每页条数 |
records |
array |
护理记录列表 |
5.2 POST /api/v1/treatment/sync
| 项目 |
说明 |
| Auth |
requireUser |
| 说明 |
同步护理记录。设备必须已绑定。同时更新设备的电量和温度。 |
请求 Body:
| 字段 |
类型 |
必填 |
说明 |
device_id |
string |
是 |
设备 ID |
session_id |
string |
否 |
会话 ID,不传自动生成 |
start_time |
string |
否 |
开始时间 |
end_time |
string |
否 |
结束时间 |
regions |
string/array |
否 |
护理区域(数组会用逗号拼接) |
total_duration_ms |
number |
否 |
总时长(毫秒) |
mode |
number |
否 |
护理模式 |
avg_pd |
number |
否 |
平均光密度 |
battery |
number |
否 |
电量 |
temperature |
number |
否 |
温度 |
wavelength |
number |
否 |
波长 |
brightness |
number |
否 |
亮度 |
pd_values |
object |
否 |
PD 传感器数据 |
响应 data:
| 字段 |
类型 |
说明 |
record_id |
string |
会话 ID(session_id) |
5.3 GET /api/v1/treatment/:record_id
| 项目 |
说明 |
| Auth |
requireUser |
| 说明 |
获取单条护理记录详情。只能查看自己的记录。 |
路径参数:
| 参数 |
说明 |
record_id |
会话 ID(session_id) |
响应 data:护理记录完整对象
6. 固件模块
6.1 GET /api/v1/firmware/latest
| 项目 |
说明 |
| Auth |
requireUser |
| 说明 |
检查固件更新。返回最新固件信息和有时效的 COS 签名下载 URL。 |
Query 参数:
| 参数 |
类型 |
必填 |
说明 |
current_version |
string |
否 |
当前固件版本号 |
响应 data(有更新):
| 字段 |
类型 |
说明 |
has_update |
boolean |
true |
version |
string |
最新版本号 |
size_bytes |
number |
文件大小(字节) |
sha256 |
string |
文件 SHA256 校验值 |
download_url |
string |
签名下载 URL(有效期 600 秒) |
响应 data(无更新):
7. 管理后台模块
所有管理后台接口路径前缀为 /api/v1/admin,需要 requireAdmin 认证。
7.1 认证
POST /api/v1/admin/login
| 项目 |
说明 |
| Auth |
无 |
| 说明 |
管理员登录。支持 bcrypt 和旧版 salt 哈希两种密码格式(旧格式自动升级)。 |
请求 Body:
| 字段 |
类型 |
必填 |
说明 |
username |
string |
是 |
用户名 |
password |
string |
是 |
密码 |
响应 data:
| 字段 |
类型 |
说明 |
token |
string |
管理员 JWT Token |
admin_id |
string |
管理员 ID |
username |
string |
用户名 |
real_name |
string |
真实姓名 |
role |
string |
角色 |
POST /api/v1/admin/password
| 项目 |
说明 |
| Auth |
requireAdmin |
| 说明 |
修改管理员密码。新密码最少 6 位。 |
请求 Body:
| 字段 |
类型 |
必填 |
说明 |
old_password |
string |
是 |
原密码 |
new_password |
string |
是 |
新密码(>=6 位) |
响应 data:
7.2 仪表盘
GET /api/v1/admin/dashboard
| 项目 |
说明 |
| Auth |
requireAdmin |
| 说明 |
获取后台首页统计数据 |
响应 data:
| 字段 |
类型 |
说明 |
device_count |
number |
设备总数 |
user_count |
number |
用户总数 |
treatment_count |
number |
护理记录总数 |
subscription_count |
number |
订阅总数 |
sub_stats |
object |
订阅统计详情 |
7.3 设备管理
GET /api/v1/admin/devices
| 项目 |
说明 |
| Auth |
requireAdmin |
| 说明 |
设备列表,支持关键词搜索和分页 |
Query 参数:
| 参数 |
类型 |
必填 |
说明 |
keyword |
string |
否 |
搜索关键词(设备 ID/名称) |
page |
number |
否 |
页码 |
page_size |
number |
否 |
每页条数 |
响应 data:
| 字段 |
类型 |
说明 |
records |
array |
设备列表 |
total |
number |
总数 |
POST /api/v1/admin/devices
| 项目 |
说明 |
| Auth |
requireAdmin |
| 说明 |
预生成单个产品码(设备) |
请求 Body:
| 字段 |
类型 |
必填 |
说明 |
device_id |
string |
是 |
设备 ID |
product_id |
string |
否 |
产品型号,默认 HOX_LIGHT_MASK |
device_secret |
string |
否 |
设备密钥 |
device_name |
string |
否 |
设备名称,默认"光子美容仪" |
firmware_version |
string |
否 |
固件版本,默认 1.0.0 |
响应 data:
| 字段 |
类型 |
说明 |
device_id |
string |
已创建的设备 ID |
POST /api/v1/admin/devices/batch
| 项目 |
说明 |
| Auth |
requireAdmin |
| 说明 |
批量预生成产品码,单次最多 500 个 |
请求 Body:
| 字段 |
类型 |
必填 |
说明 |
device_ids |
string[] |
是 |
设备 ID 数组(1-500 个) |
响应 data:
| 字段 |
类型 |
说明 |
created |
number |
成功创建数量 |
failed |
number |
失败数量 |
GET /api/v1/admin/devices/:device_id
| 项目 |
说明 |
| Auth |
requireAdmin |
| 说明 |
获取设备详情,含绑定历史和最近护理记录 |
响应 data:设备信息 + binding_history(绑定历史数组)+ recent_treatments(最近护理数组)
POST /api/v1/admin/devices/:device_id/unbind
| 项目 |
说明 |
| Auth |
requireAdmin |
| 说明 |
后台强制解绑设备 |
响应 data:
POST /api/v1/admin/devices/:device_id/command
| 项目 |
说明 |
| Auth |
requireAdmin |
| 说明 |
向设备推送远程指令 |
请求 Body:
| 字段 |
类型 |
必填 |
说明 |
opcode |
number |
是 |
操作码 |
| 其他 |
any |
否 |
指令参数(整个 body 存入 payload) |
响应 data:
GET /api/v1/admin/devices/:device_id/commands
| 项目 |
说明 |
| Auth |
requireAdmin |
| 说明 |
获取设备的指令历史,支持分页 |
响应 data:
| 字段 |
类型 |
说明 |
records |
array |
指令列表 |
total |
number |
总数 |
7.4 用户管理
GET /api/v1/admin/users
| 项目 |
说明 |
| Auth |
requireAdmin |
| 说明 |
用户列表,支持关键词搜索和分页 |
Query 参数:
| 参数 |
类型 |
必填 |
说明 |
keyword |
string |
否 |
搜索关键词 |
page |
number |
否 |
页码 |
page_size |
number |
否 |
每页条数 |
响应 data:
| 字段 |
类型 |
说明 |
records |
array |
用户列表 |
total |
number |
总数 |
GET /api/v1/admin/users/:user_id
| 项目 |
说明 |
| Auth |
requireAdmin |
| 说明 |
获取用户详情(含订阅、设备等关联信息) |
响应 data:用户详情对象
POST /api/v1/admin/users/:user_id/unbind
| 项目 |
说明 |
| Auth |
requireAdmin |
| 说明 |
后台解绑用户的设备 |
请求 Body:
| 字段 |
类型 |
必填 |
说明 |
device_id |
string |
否 |
指定设备 ID,不传则解绑该用户所有设备 |
响应 data:
| 字段 |
类型 |
说明 |
message |
string |
"success" |
affected_rows |
number |
受影响行数 |
POST /api/v1/admin/users/:user_id/deactivate
| 项目 |
说明 |
| Auth |
requireAdmin |
| 说明 |
注销用户。同时解绑该用户的所有设备。 |
响应 data:
| 字段 |
类型 |
说明 |
message |
string |
"success" |
unbound_rows |
number |
解绑的设备数 |
7.5 订阅管理
GET /api/v1/admin/subscriptions
| 项目 |
说明 |
| Auth |
requireAdmin |
| 说明 |
订阅列表,支持按状态筛选和分页 |
Query 参数:
| 参数 |
类型 |
必填 |
说明 |
tab |
string |
否 |
筛选标签(如 active/expired) |
page |
number |
否 |
页码 |
page_size |
number |
否 |
每页条数 |
响应 data:
| 字段 |
类型 |
说明 |
records |
array |
订阅列表 |
total |
number |
总数 |
stats |
object |
订阅统计 |
POST /api/v1/admin/subscriptions
| 项目 |
说明 |
| Auth |
requireAdmin |
| 说明 |
为指定用户创建订阅 |
请求 Body:
| 字段 |
类型 |
必填 |
说明 |
user_id |
number |
是 |
用户 ID |
plan |
string |
否 |
计划,默认 monthly |
amount |
number |
否 |
金额,默认 0 |
order_id |
string |
否 |
订单号,自动生成 |
days |
number |
否 |
有效天数,默认 30 |
响应 data:
POST /api/v1/admin/subscriptions/cancel
| 项目 |
说明 |
| Auth |
requireAdmin |
| 说明 |
取消指定订阅 |
请求 Body:
| 字段 |
类型 |
必填 |
说明 |
subscription_id |
number |
是 |
订阅 ID |
响应 data:
7.6 护理记录
GET /api/v1/admin/records
| 项目 |
说明 |
| Auth |
requireAdmin |
| 说明 |
护理记录列表,支持多条件筛选和分页 |
Query 参数:
| 参数 |
类型 |
必填 |
说明 |
keyword |
string |
否 |
搜索关键词 |
user_id |
number |
否 |
按用户筛选 |
date_from |
string |
否 |
起始日期 |
date_to |
string |
否 |
截止日期 |
page |
number |
否 |
页码 |
page_size |
number |
否 |
每页条数 |
响应 data:
| 字段 |
类型 |
说明 |
records |
array |
护理记录列表 |
total |
number |
总数 |
7.7 操作日志
GET /api/v1/admin/logs
| 项目 |
说明 |
| Auth |
requireAdmin |
| 说明 |
操作日志列表,支持按类型和设备筛选 |
Query 参数:
| 参数 |
类型 |
必填 |
说明 |
type |
string |
否 |
日志类型(action 字段) |
device_id |
string |
否 |
按设备筛选 |
page |
number |
否 |
页码 |
page_size |
number |
否 |
每页条数 |
响应 data:
| 字段 |
类型 |
说明 |
records |
array |
日志列表 |
total |
number |
总数 |
7.8 系统设置
GET /api/v1/admin/settings
| 项目 |
说明 |
| Auth |
requireAdmin |
| 说明 |
获取所有系统设置 |
响应 data:KV 对象,包含以下设置项:
| Key |
类型 |
默认值 |
说明 |
system_name |
string |
"光子美容仪后台" |
系统名称 |
admin_email |
string |
- |
管理员邮箱 |
timezone |
string |
- |
时区 |
monthly_price |
number |
99 |
月卡价格 |
yearly_price |
number |
899 |
年卡价格 |
trial_days |
number |
7 |
试用天数 |
enable_register |
boolean |
true |
是否允许注册 |
enable_binding |
boolean |
true |
是否允许设备绑定 |
enable_free_mode |
boolean |
true |
是否启用自由模式 |
enable_smart_mode |
boolean |
- |
是否启用智能模式 |
maintenance_mode |
boolean |
false |
维护模式(开启后拒绝用户登录) |
POST /api/v1/admin/settings
| 项目 |
说明 |
| Auth |
requireAdmin |
| 说明 |
更新系统设置。仅接受白名单内的 key。更新后自动清除设置缓存。 |
请求 Body:KV 对象,key 为上表中允许的设置项名。
请求示例:
响应 data:
7.9 固件管理
GET /api/v1/admin/firmware
| 项目 |
说明 |
| Auth |
requireAdmin |
| 说明 |
获取所有固件版本列表 |
响应 data:
| 字段 |
类型 |
说明 |
records |
array |
固件列表 |
total |
number |
总数 |
POST /api/v1/admin/firmware
| 项目 |
说明 |
| Auth |
requireAdmin |
| 说明 |
登记新固件版本(固件文件需先上传到 COS) |
请求 Body:
| 字段 |
类型 |
必填 |
说明 |
version |
string |
是 |
版本号 |
cos_key |
string |
是 |
COS 对象 Key |
device_type |
string |
否 |
设备类型 |
size_bytes |
number |
否 |
文件大小 |
sha256 |
string |
否 |
SHA256 校验值 |
status |
number |
否 |
状态(0=禁用, 1=启用),默认 1 |
响应 data:
| 字段 |
类型 |
说明 |
firmware_id |
number |
固件记录 ID |
POST /api/v1/admin/firmware/:firmware_id/status
| 项目 |
说明 |
| Auth |
requireAdmin |
| 说明 |
更新固件启用/禁用状态 |
请求 Body:
| 字段 |
类型 |
必填 |
说明 |
status |
number |
是 |
0=禁用, 1=启用 |
响应 data:
接口速查索引
| # |
Method |
Path |
Auth |
说明 |
| - |
GET |
/health |
无 |
健康检查 |
| 1.1 |
POST |
/api/v1/auth/login |
无 |
微信登录 |
| 1.2 |
POST |
/api/v1/auth/refresh |
Bearer |
Token 刷新 |
| 2.1 |
GET |
/api/v1/user/profile |
User |
获取资料 |
| 2.2 |
PUT |
/api/v1/user/profile |
User |
更新资料 |
| 2.3 |
POST |
/api/v1/user/avatar |
User |
上传头像 |
| 2.4 |
POST |
/api/v1/user/phone |
User |
绑定手机号 |
| 3.1 |
POST |
/api/v1/device/bind |
User |
申请绑定设备 |
| 3.2 |
POST |
/api/v1/device/bind/confirm |
User |
确认绑定 |
| 3.3 |
POST |
/api/v1/device/mock-bind |
User |
模拟绑定(非生产) |
| 3.4 |
POST |
/api/v1/device/unbind |
User |
解绑设备 |
| 3.5 |
GET |
/api/v1/device/list |
User |
设备列表 |
| 3.6 |
GET |
/api/v1/device/:device_id |
User |
设备详情 |
| 3.7 |
GET |
/api/v1/device/command/pending |
User |
拉取待执行指令 |
| 3.8 |
POST |
/api/v1/device/command/result |
User |
上报指令结果 |
| 3.9 |
POST |
/api/v1/device/event |
User |
上报设备事件 |
| 4.1 |
GET |
/api/v1/subscription/plans |
无 |
订阅计划列表 |
| 4.2 |
GET |
/api/v1/subscription |
User |
订阅状态 |
| 4.3 |
POST |
/api/v1/subscription/purchase |
User |
创建购买订单 |
| 4.4 |
POST |
/api/v1/subscription/mock-purchase |
User |
模拟购买(非生产) |
| 4.5 |
POST |
/api/v1/subscription/trial |
User |
激活试用 |
| 4.6 |
POST |
/api/v1/subscription/verify |
Admin |
手动激活订阅 |
| 5.1 |
GET |
/api/v1/treatment/history |
User |
护理记录列表 |
| 5.2 |
POST |
/api/v1/treatment/sync |
User |
同步护理记录 |
| 5.3 |
GET |
/api/v1/treatment/:record_id |
User |
护理记录详情 |
| 6.1 |
GET |
/api/v1/firmware/latest |
User |
检查固件更新 |
| 7.1 |
POST |
/api/v1/admin/login |
无 |
管理员登录 |
| 7.1 |
POST |
/api/v1/admin/password |
Admin |
修改密码 |
| 7.2 |
GET |
/api/v1/admin/dashboard |
Admin |
仪表盘统计 |
| 7.3 |
GET |
/api/v1/admin/devices |
Admin |
设备列表 |
| 7.3 |
POST |
/api/v1/admin/devices |
Admin |
创建设备 |
| 7.3 |
POST |
/api/v1/admin/devices/batch |
Admin |
批量创建设备 |
| 7.3 |
GET |
/api/v1/admin/devices/:id |
Admin |
设备详情 |
| 7.3 |
POST |
/api/v1/admin/devices/:id/unbind |
Admin |
强制解绑 |
| 7.3 |
POST |
/api/v1/admin/devices/:id/command |
Admin |
推送指令 |
| 7.3 |
GET |
/api/v1/admin/devices/:id/commands |
Admin |
指令历史 |
| 7.4 |
GET |
/api/v1/admin/users |
Admin |
用户列表 |
| 7.4 |
GET |
/api/v1/admin/users/:id |
Admin |
用户详情 |
| 7.4 |
POST |
/api/v1/admin/users/:id/unbind |
Admin |
解绑用户设备 |
| 7.4 |
POST |
/api/v1/admin/users/:id/deactivate |
Admin |
注销用户 |
| 7.5 |
GET |
/api/v1/admin/subscriptions |
Admin |
订阅列表 |
| 7.5 |
POST |
/api/v1/admin/subscriptions |
Admin |
创建订阅 |
| 7.5 |
POST |
/api/v1/admin/subscriptions/cancel |
Admin |
取消订阅 |
| 7.6 |
GET |
/api/v1/admin/records |
Admin |
护理记录列表 |
| 7.7 |
GET |
/api/v1/admin/logs |
Admin |
操作日志 |
| 7.8 |
GET |
/api/v1/admin/settings |
Admin |
获取设置 |
| 7.8 |
POST |
/api/v1/admin/settings |
Admin |
更新设置 |
| 7.9 |
GET |
/api/v1/admin/firmware |
Admin |
固件列表 |
| 7.9 |
POST |
/api/v1/admin/firmware |
Admin |
登记固件 |
| 7.9 |
POST |
/api/v1/admin/firmware/:id/status |
Admin |
更新固件状态 |