- 基础地址:
http://localhost:8081
- 认证方式: JWT Bearer Token
- 响应格式: JSON
- 基础地址:
http://localhost:3000
- WebSocket:
ws://localhost:8082/ws
成功响应:
{
"code": 200,
"msg": "操作成功",
"data": {}
}
失败响应:
{
"code": 400,
"msg": "操作失败"
}
POST /api/admin/login
Content-Type: application/json
{
"username": "admin",
"password": "123456"
}
POST /api/admin/logout
Authorization: Bearer {token}
GET /api/admin/users?page=1&page_size=20&keyword=&status=
Authorization: Bearer {token}
POST /api/admin/users
Authorization: Bearer {token}
Content-Type: application/json
{
"username": "test",
"password": "123456",
"email": "test@example.com",
"phone": "13800138000"
}
PUT /api/admin/users/{id}
Authorization: Bearer {token}
Content-Type: application/json
{
"email": "new@example.com",
"phone": "13900139000"
}
DELETE /api/admin/users/{id}
Authorization: Bearer {token}
POST /api/admin/users/{id}/password
Authorization: Bearer {token}
Content-Type: application/json
{
"password": "newpassword123"
}
GET /api/admin/counselors?page=1&page_size=20&keyword=&status=
Authorization: Bearer {token}
POST /api/admin/counselors
Authorization: Bearer {token}
Content-Type: application/json
{
"name": "张三",
"avatar": "/uploads/avatars/1.jpg",
"specialties": "心理咨询,情绪管理",
"price_per_minute": 5.0,
"status": 1
}
PUT /api/admin/counselors/{id}
Authorization: Bearer {token}
Content-Type: application/json
{
"name": "李四",
"specialties": "心理咨询,情绪管理,职业规划"
}
DELETE /api/admin/counselors/{id}
Authorization: Bearer {token}
GET /api/admin/orders?page=1&page_size=20&status=&user_id=&counselor_id=
Authorization: Bearer {token}
GET /api/admin/orders/statistics
Authorization: Bearer {token}
PUT /api/admin/orders/{id}/status
Authorization: Bearer {token}
Content-Type: application/json
{
"status": 2
}
GET /api/admin/chat/sessions?page=1&page_size=20
Authorization: Bearer {token}
GET /api/admin/chat/sessions/{session_id}/messages?page=1&page_size=50
Authorization: Bearer {token}
GET /api/admin/chat/statistics
Authorization: Bearer {token}
GET /api/admin/chat/messages/search?keyword=测试&page=1&page_size=20
Authorization: Bearer {token}
DELETE /api/admin/chat/sessions/{id}
Authorization: Bearer {token}
GET /api/admin/withdraws/pending
Authorization: Bearer {token}
POST /api/admin/withdraw/{id}/approve
Authorization: Bearer {token}
Content-Type: application/json
{
"status": 1,
"remark": "审核通过"
}
POST /api/admin/withdraw/{id}/transfer
Authorization: Bearer {token}
GET /api/admin/withdraws?page=1&page_size=20&status=
Authorization: Bearer {token}
GET /api/admin/finance/stats?start_date=&end_date=
Authorization: Bearer {token}
GET /api/admin/finance/revenue?type=daily&start_date=&end_date=
Authorization: Bearer {token}
GET /api/admin/finance/reports?type=revenue&start_date=&end_date=
Authorization: Bearer {token}
GET /api/admin/finance/accounts?page=1&page_size=20&keyword=
Authorization: Bearer {token}
GET /api/admin/finance/accounts/{id}
Authorization: Bearer {token}
GET /api/admin/user/info
Authorization: Bearer {token}
GET /api/admin/user/permissions
Authorization: Bearer {token}
GET /api/admin/session/stats
Authorization: Bearer {token}
GET /api/admin/online/users
Authorization: Bearer {token}
POST /api/admin/broadcast
Authorization: Bearer {token}
Content-Type: application/json
{
"message": "系统维护通知",
"type": "system"
}
GET /api/admin/logs?page=1&page_size=20&level=&module=&start_date=&end_date=
Authorization: Bearer {token}
GET /api/admin/configs?category=
Authorization: Bearer {token}
POST /api/admin/configs
Authorization: Bearer {token}
Content-Type: application/json
{
"key": "custom_config",
"value": "custom_value",
"category": "basic",
"label": "自定义配置",
"type": "string"
}
PUT /api/admin/configs/{id}
Authorization: Bearer {token}
Content-Type: application/json
{
"value": "new_value"
}
DELETE /api/admin/configs/{id}
Authorization: Bearer {token}
GET /api/admin/roles?page=1&page_size=20&keyword=
Authorization: Bearer {token}
POST /api/admin/roles
Authorization: Bearer {token}
Content-Type: application/json
{
"name": "财务经理",
"description": "财务管理权限",
"status": 1
}
PUT /api/admin/roles/{id}
Authorization: Bearer {token}
Content-Type: application/json
{
"name": "高级财务经理",
"description": "高级财务管理权限"
}
DELETE /api/admin/roles/{id}
Authorization: Bearer {token}
GET /api/admin/roles/{id}/permissions
Authorization: Bearer {token}
PUT /api/admin/roles/{id}/permissions
Authorization: Bearer {token}
Content-Type: application/json
{
"permissions": [1, 2, 3, 4, 5]
}
GET /api/admin/permissions/tree
Authorization: Bearer {token}
GET /api/admin/permissions?page=1&page_size=20&keyword=
Authorization: Bearer {token}
POST /api/admin/permissions
Authorization: Bearer {token}
Content-Type: application/json
{
"name": "财务报表",
"code": "finance:reports:view",
"type": "menu",
"parent_id": 0,
"sort": 1
}
PUT /api/admin/permissions/{id}
Authorization: Bearer {token}
Content-Type: application/json
{
"name": "高级财务报表"
}
DELETE /api/admin/permissions/{id}
Authorization: Bearer {token}
GET /api/admin/menus/tree
Authorization: Bearer {token}
GET /api/admin/menus?page=1&page_size=20&keyword=
Authorization: Bearer {token}
POST /api/admin/menus
Authorization: Bearer {token}
Content-Type: application/json
{
"name": "财务管理",
"path": "/finance",
"icon": "Wallet",
"parent_id": 0,
"sort": 1,
"status": 1
}
PUT /api/admin/menus/{id}
Authorization: Bearer {token}
Content-Type: application/json
{
"name": "高级财务管理",
"path": "/finance/advanced"
}
DELETE /api/admin/menus/{id}
Authorization: Bearer {token}
GET /api/admin/lowcode/forms?page=1&page_size=20&keyword=
Authorization: Bearer {token}
POST /api/admin/lowcode/forms
Authorization: Bearer {token}
Content-Type: application/json
{
"name": "用户反馈表单",
"description": "收集用户反馈信息",
"schema": {
"fields": [...]
}
}
PUT /api/admin/lowcode/forms/{id}
Authorization: Bearer {token}
Content-Type: application/json
{
"name": "用户反馈表单(更新版)"
}
DELETE /api/admin/lowcode/forms/{id}
Authorization: Bearer {token}
GET /api/admin/lowcode/forms/{id}
Authorization: Bearer {token}
GET /api/admin/lowcode/forms/{id}/data?page=1&page_size=20
Authorization: Bearer {token}
POST /api/admin/lowcode/forms/{id}/submit
Authorization: Bearer {token}
Content-Type: application/json
{
"data": {
"field1": "value1",
"field2": "value2"
}
}
GET /api/admin/lowcode/pages?page=1&page_size=20&keyword=
Authorization: Bearer {token}
POST /api/admin/lowcode/pages
Authorization: Bearer {token}
Content-Type: application/json
{
"name": "用户中心页面",
"description": "用户个人中心",
"schema": {
"components": [...]
}
}
PUT /api/admin/lowcode/pages/{id}
Authorization: Bearer {token}
Content-Type: application/json
{
"name": "高级用户中心"
}
DELETE /api/admin/lowcode/pages/{id}
Authorization: Bearer {token}
GET /api/admin/lowcode/pages/{id}
Authorization: Bearer {token}
GET /api/admin/lowcode/pages/{id}/preview
Authorization: Bearer {token}
GET /api/admin/statistics
Authorization: Bearer {token}
GET /api/counselors?page=1&page_size=20&keyword=&specialty=
POST /api/user/register
Content-Type: application/json
{
"username": "test",
"password": "123456",
"email": "test@example.com",
"phone": "13800138000"
}
POST /api/user/login
Content-Type: application/json
{
"username": "test",
"password": "123456"
}
POST /api/orders
Authorization: Bearer {token}
Content-Type: application/json
{
"counselor_id": 1,
"type": "text",
"amount": 100
}
POST /api/payment/create
Authorization: Bearer {token}
Content-Type: application/json
{
"order_id": 1,
"payment_method": "wechat"
}
ws://localhost:8082/ws?token={token}&user_id={user_id}
| 错误码 |
说明 |
| 200 |
操作成功 |
| 400 |
参数错误 |
| 401 |
未授权 |
| 403 |
禁止访问 |
| 404 |
资源不存在 |
| 500 |
服务器错误 |
| 状态值 |
说明 |
| 0 |
待支付 |
| 1 |
已支付 |
| 2 |
进行中 |
| 3 |
已完成 |
| 4 |
已取消 |
| 状态值 |
说明 |
| 0 |
待审核 |
| 1 |
已通过 |
| 2 |
已拒绝 |
| 3 |
已打款 |
所有列表接口支持分页参数:
page: 页码,从 1 开始,默认 1
page_size: 每页数量,默认 20
响应格式:
{
"code": 200,
"msg": "获取成功",
"data": {
"list": [...],
"total": 100,
"page": 1,
"page_size": 20
}
}
{
"type": "chat",
"data": {
"session_id": 123,
"content": "你好"
}
}
{
"type": "message",
"data": {
"id": 456,
"session_id": 123,
"sender_id": 1,
"content": "你好",
"timestamp": 1640995200000
}
}
| 类型 |
说明 |
| chat |
聊天消息 |
| system |
系统消息 |
| notification |
通知消息 |
| typing |
正在输入 |
| online_status |
在线状态 |
- 所有需要认证的接口都必须在请求头中携带 JWT Token
- Token 格式:
Authorization: Bearer {token}
- Token 有效期: 24 小时
- 文件上传大小限制: 10MB
- 密码最少 6 位字符
- 用户名唯一性检查
- 所有时间格式使用 ISO 8601 标准