通用规范

请求格式、响应结构、认证方式。

请求格式

所有请求 Body 使用 application/json,响应也为 JSON。

统一响应结构
{ "code": 200, "message": "success", "data": { ... } }
字段类型说明
codeInteger状态码,200 成功
messageString提示信息
dataAny响应数据,失败为 null
认证方式

除登录/注册外,所有接口需携带 JWT Token:

Authorization: Bearer <token>

Token 有效期 24 小时

认证模块

用户注册与登录。

POST /api/auth/register

无需认证。

请求体

{ "username": "xiaoming", "password": "123456", "nickname": "小明", "email": "xiaoming@example.com" }
字段类型必填说明
usernameString3-20 字符
passwordString6-50 字符
nicknameString默认等于用户名
emailString需符合格式

成功响应

{ "code": 200, "message": "success", "data": { "id": 1, "username": "xiaoming", "nickname": "小明", "avatar": null, "status": 0, "email": "xiaoming@example.com", "createTime": "2026-03-30T09:00:00" } }

失败响应

codemessage原因
400用户名已存在用户名重复
400邮箱已被注册邮箱重复
POST /api/auth/login

无需认证。

请求体

{ "username": "xiaoming", "password": "123456" }

成功响应

{ "code": 200, "message": "success", "data": { "token": "eyJhbGciOiJIUzI1...", "tokenType": "Bearer", "expiresIn": 86400, "userId": 1, "username": "xiaoming" } }

失败响应

codemessage原因
401用户名或密码错误用户不存在或密码错误
403账号已被禁用用户状态为禁用

用户中心

用户信息管理。

GET /api/user/info

获取当前登录用户的详细信息。

成功响应

{ "code": 200, "message": "success", "data": { "id": 1, "username": "xiaoming", "nickname": "小明", "avatar": "https://example.com/avatar.jpg", "status": 0, "email": "xiaoming@example.com", "createTime": "2026-03-30T09:00:00" } }

错误码说明

全局错误码及其含义。

code含义
200成功
400请求参数错误
401未认证(Token 缺失或过期)
403无权限
404资源不存在
500服务器内部错误

数据结构参考

接口中使用的核心数据模型。

UserVO(用户信息)
字段类型说明
idLong用户 ID
usernameString用户名
nicknameString昵称
avatarString头像 URL
statusInteger0 正常 / 1 禁用
emailString邮箱
createTimeDateTime注册时间
StoryBook(故事书)
字段类型说明
idLong故事书 ID
userIdLong所属用户 ID
titleString故事标题
promptString提示词
styleString文章风格
ageGroupString目标年龄段
imageStyleString画面风格
languageString故事语言
pageCountInteger页数
coverImageUrlString封面图片 URL
statusInteger0 生成中 / 1 已完成 / 2 失败
createTimeDateTime创建时间
updateTimeDateTime最后更新时间