Files
PINF_MANAGEMENT/docs/API_REFERENCE.md
Asukadaisiki 11a2b8f9d1 init
2026-02-10 22:06:40 +08:00

4.5 KiB
Raw Permalink Blame History

后端 API 文档(当前实现)

基础信息

  • Base URLhttp://localhost:5010/api
  • 认证方式JWT Bearer Token
  • Header 示例:
Authorization: Bearer <token>
Content-Type: application/json

通用响应结构

  • 成功:
{"status":"success","message":"...","data":{...}}
  • 错误:
{"status":"error","message":"..."}

时间与日期格式

  • 日期:YYYY-MM-DD
  • 时间ISO86012025-12-20T08:30:00

认证与用户

发送手机号验证码

  • POST /auth/phone/code
  • 请求字段:
  • phone string 手机号
  • 成功返回:data.code(仅开发模式下返回)

手机号验证码登录

  • POST /auth/phone/login
  • 请求字段:
  • phone string
  • code string
  • 成功返回:
  • data.token string
  • data.user object
  • data.need_set_password boolean

手机号密码登录

  • POST /auth/password/login
  • 请求字段:
  • phone string
  • password string8-16 位,需包含字母与数字)
  • 成功返回:
  • data.token string
  • data.user object
  • data.need_set_password boolean

设置密码

  • POST /auth/password/setup
  • 需要登录
  • 请求字段:
  • password string
  • 成功返回:data.user

更新昵称

  • PUT /auth/profile
  • 需要登录
  • 请求字段:
  • name string
  • 成功返回:data.user

微信登录(可选)

  • POST /auth/wechat
  • 请求字段:
  • code string

宝宝管理

列表

  • GET /babies
  • 需要登录

创建

  • POST /babies
  • 需要登录
  • 请求字段:
  • name string
  • gender string仅支持“男”“女”
  • birthday stringYYYY-MM-DD
  • dueDate string可选
  • gestationalWeeks number可选
  • note string可选

详情

  • GET /babies/{id}
  • 需要登录

更新

  • PUT /babies/{id}
  • 需要登录
  • 字段与创建一致,均为可选更新

删除

  • DELETE /babies/{id}
  • 需要登录

成长记录

列表

  • GET /babies/{babyId}/growth
  • 需要登录
  • Query
  • metric string可选
  • start string ISO8601可选
  • end string ISO8601可选

创建

  • POST /babies/{babyId}/growth
  • 需要登录
  • 请求字段:
  • metric string
  • value number
  • unit string
  • recordedAt string ISO8601可选
  • note string可选

更新

  • PUT /growth/{id}
  • 需要登录
  • 字段与创建一致,均为可选更新

删除

  • DELETE /growth/{id}
  • 需要登录

预约管理

列表

  • GET /appointments
  • 需要登录
  • Query
  • status string可选

创建

  • POST /appointments
  • 需要登录
  • 请求字段:
  • clinic string
  • department string
  • scheduledAt string ISO8601
  • remindAt string ISO8601可选
  • status string可选默认 pending
  • note string可选
  • babyId number可选

更新

  • PUT /appointments/{id}
  • 需要登录
  • 字段与创建一致,均为可选更新

删除

  • DELETE /appointments/{id}
  • 需要登录

更新状态

  • PATCH /appointments/{id}/status
  • 需要登录
  • 请求字段:
  • status string

内容管理(只读)

视频列表

  • GET /content/videos
  • 需要登录
  • Query
  • page number
  • per_page number
  • search string标题/简介)
  • category string

视频详情

  • GET /content/videos/{id}
  • 需要登录
  • 说明:会增加 views 计数

文章列表

  • GET /content/articles
  • 需要登录
  • Query
  • page number
  • per_page number
  • search string标题/正文)
  • category string

文章详情

  • GET /content/articles/{id}
  • 需要登录

聊天与 AI

发送消息

  • POST /chat/send
  • 需要登录
  • 请求字段:
  • content string
  • babyId number可选
  • messageId string可选
  • history array可选
  • metadata object可选
  • params object可选

历史记录

  • GET /chat/history
  • 需要登录
  • Query
  • page number
  • per_page number
  • babyId number可选

清空历史

  • DELETE /chat/history
  • 需要登录
  • Query
  • babyId number可选

健康检查

  • GET /health
  • GET /

常见错误码

  • 400 参数错误
  • 401 认证失败或 token 失效
  • 404 资源不存在
  • 500 服务端异常
  • 502 AI 服务异常(/chat/send

管理端缺口说明

  • 当前所有业务接口均以“用户本人”为作用域。
  • 需要管理端能力时,建议新增 /api/admin/* 路由与管理员鉴权。
  • 内容模块目前无写接口,后台管理若需编辑视频/文章需补齐写接口。