refactor(backend): 更新数据库配置并迁移至MySQL,优化文档和技术栈描述

This commit is contained in:
ylweng
2025-09-01 01:07:12 +08:00
parent cbee609e78
commit e767d1ab27
13 changed files with 736 additions and 236 deletions

View File

@@ -2,12 +2,16 @@
## 基础信息
**Base URL**: `http://localhost:3000/api/v1`
**Base URL**: `http://localhost:3100/api/v1`
**认证方式**: Bearer Token (JWT)
**响应格式**: JSON
**API版本**: v1
**开发状态**: 开发中
## 响应格式
### 成功响应
@@ -34,6 +38,19 @@
}
```
## 通用状态码
| 状态码 | 说明 |
|--------|------|
| 200 | 请求成功 |
| 201 | 创建成功 |
| 400 | 请求参数错误 |
| 401 | 未授权访问 |
| 403 | 权限不足 |
| 404 | 资源不存在 |
| 429 | 请求过于频繁 |
| 500 | 服务器内部错误 |
## 认证接口
### 1. 用户注册
@@ -94,26 +111,6 @@
}
```
### 2.1 微信登录
**Endpoint**: `POST /auth/wechat-login`
**描述**: 微信授权登录
**请求体**:
```json
{
"code": "string, required, 微信授权码",
"userInfo": {
"nickName": "string, optional, 微信昵称",
"avatarUrl": "string, optional, 微信头像",
"gender": "number, optional, 性别(0:未知,1:男,2:女)"
}
}
```
**响应**: 同登录接口
**响应**:
```json
{
@@ -139,7 +136,83 @@
}
```
### 3. 微信登录
### 3. 获取当前用户信息
**Endpoint**: `GET /auth/me`
**认证**: 需要Bearer Token
**描述**: 获取当前登录用户信息
**响应**:
```json
{
"success": true,
"code": 200,
"data": {
"user": {
"id": 1,
"username": "testuser",
"nickname": "测试用户",
"email": "test@example.com",
"phone": "13800138000",
"avatar": "https://example.com/avatar.jpg",
"gender": "male",
"birthday": "1990-01-01",
"points": 1000,
"level": 3,
"balance": 500.00,
"travel_count": 5,
"animal_adopt_count": 2,
"flower_order_count": 3,
"status": "active",
"created_at": "2025-01-01T00:00:00.000Z",
"updated_at": "2025-01-01T00:00:00.000Z",
"last_login_at": "2025-01-01T00:00:00.000Z"
}
}
}
```
### 4. 更新用户信息
**Endpoint**: `PUT /auth/profile`
**认证**: 需要Bearer Token
**描述**: 更新用户个人信息
**请求体**:
```json
{
"nickname": "string, optional, 昵称",
"avatar": "string, optional, 头像URL",
"gender": "string, optional, 性别(male/female/other)",
"birthday": "string, optional, 生日(YYYY-MM-DD)"
}
```
**响应**:
```json
{
"success": true,
"code": 200,
"message": "用户信息更新成功",
"data": {
"user": {
"id": 1,
"username": "testuser",
"nickname": "新昵称",
"avatar": "https://example.com/new-avatar.jpg",
"gender": "male",
"birthday": "1990-01-01",
"updated_at": "2025-01-01T00:00:00.000Z"
}
}
}
```
### 5. 微信登录
**Endpoint**: `POST /auth/wechat-login`
@@ -157,7 +230,28 @@
}
```
**响应**: 同登录接口
**响应**:
```json
{
"success": true,
"code": 200,
"message": "微信登录成功",
"data": {
"user": {
"id": 1,
"username": "testuser",
"nickname": "测试用户",
"avatar": "https://example.com/avatar.jpg",
"gender": "male",
"points": 100,
"level": 2,
"status": "active",
"last_login_at": "2025-01-01T00:00:00.000Z"
},
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}
}
```
### 4. 获取当前用户信息
@@ -197,21 +291,21 @@
}
```
### 5. 更新用户信息
### 6. 更新用户信息
## 管理员接口
**Endpoint**: `PUT /auth/profile`
### 6. 管理员登录
**认证**: 需要Bearer Token
**Endpoint**: `POST /auth/admin/login`
**描述**: 管理员登录获取访问令牌
**描述**: 更新用户个人信息
**请求体**:
```json
{
"username": "string, required, 管理员用户名",
"password": "string, required, 密码"
"nickname": "string, optional, 昵称",
"avatar": "string, optional, 头像URL",
"gender": "string, optional, 性别(male/female/other)",
"birthday": "string, optional, 生日(YYYY-MM-DD)"
}
```
@@ -220,36 +314,215 @@
{
"success": true,
"code": 200,
"message": "登录成功",
"message": "用户信息更新成功",
"data": {
"user": {
"id": 1,
"username": "admin",
"email": "admin@jiebanke.com",
"real_name": "管理员",
"avatar": "",
"status": "active",
"last_login_at": "2025-01-01T00:00:00.000Z"
},
"roles": [
"username": "testuser",
"nickname": "新昵称",
"avatar": "https://example.com/new-avatar.jpg",
"gender": "male",
"birthday": "1990-01-01",
"updated_at": "2025-01-01T00:00:00.000Z"
}
}
}
```
## 用户服务接口
### 1. 获取用户列表
**Endpoint**: `GET /users`
**认证**: 需要Bearer Token
**描述**: 获取用户列表(管理员权限)
**查询参数**:
- `page` (可选): 页码默认1
- `limit` (可选): 每页数量默认20
- `username` (可选): 用户名模糊搜索
- `status` (可选): 状态过滤
**响应**:
```json
{
"success": true,
"code": 200,
"data": {
"users": [
{
"id": 2,
"name": "admin",
"description": "普通管理员"
"id": 1,
"username": "testuser",
"nickname": "测试用户",
"email": "test@example.com",
"phone": "13800138000",
"avatar": "https://example.com/avatar.jpg",
"gender": "male",
"points": 100,
"level": 2,
"status": "active",
"created_at": "2025-01-01T00:00:00.000Z"
}
],
"permissions": [
"user:manage",
"content:review",
"content:publish",
"data:view",
"data:export"
],
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
"pagination": {
"total": 100,
"page": 1,
"limit": 20,
"pages": 5
}
}
}
```
### 2. 获取用户详情
**Endpoint**: `GET /users/{id}`
**认证**: 需要Bearer Token
**描述**: 获取指定用户的详细信息
**响应**:
```json
{
"success": true,
"code": 200,
"data": {
"user": {
"id": 1,
"username": "testuser",
"nickname": "测试用户",
"email": "test@example.com",
"phone": "13800138000",
"avatar": "https://example.com/avatar.jpg",
"gender": "male",
"birthday": "1990-01-01",
"points": 1000,
"level": 3,
"balance": 500.00,
"travel_count": 5,
"animal_adopt_count": 2,
"flower_order_count": 3,
"status": "active",
"created_at": "2025-01-01T00:00:00.000Z",
"updated_at": "2025-01-01T00:00:00.000Z"
}
}
}
```
## 8. 管理员接口
### 8.1 管理员登录
- **Endpoint**: POST /api/v1/admin/login
- **认证要求**: 无
- **描述**: 管理员登录系统
- **请求体**:
```json
{
"username": "admin",
"password": "password123"
}
```
- **响应**:
```json
{
"success": true,
"code": 200,
"message": "登录成功",
"data": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"admin": {
"id": 1,
"username": "admin",
"email": "admin@example.com",
"nickname": "超级管理员",
"avatar": "https://example.com/avatar.jpg",
"role": "super_admin",
"status": 1,
"last_login": "2024-01-15T10:30:00.000Z"
}
}
}
```
### 8.2 获取管理员信息
- **Endpoint**: GET /api/v1/admin/profile
- **认证要求**: Bearer Token
- **描述**: 获取当前登录管理员信息
- **响应**:
```json
{
"success": true,
"code": 200,
"message": "获取成功",
"data": {
"id": 1,
"username": "admin",
"email": "admin@example.com",
"nickname": "超级管理员",
"avatar": "https://example.com/avatar.jpg",
"role": "super_admin",
"status": 1,
"last_login": "2024-01-15T10:30:00.000Z",
"created_at": "2024-01-01T00:00:00.000Z",
"updated_at": "2024-01-15T10:30:00.000Z"
}
}
```
### 8.3 更新管理员信息
- **Endpoint**: PUT /api/v1/admin/profile
- **认证要求**: Bearer Token
- **描述**: 更新当前登录管理员信息
- **请求体**:
```json
{
"nickname": "新昵称",
"email": "newemail@example.com",
"avatar": "https://example.com/new-avatar.jpg"
}
```
- **响应**:
```json
{
"success": true,
"code": 200,
"message": "更新成功",
"data": {
"id": 1,
"username": "admin",
"email": "newemail@example.com",
"nickname": "新昵称",
"avatar": "https://example.com/new-avatar.jpg",
"role": "super_admin",
"status": 1
}
}
```
### 8.4 修改密码
- **Endpoint**: PUT /api/v1/admin/password
- **认证要求**: Bearer Token
- **描述**: 修改当前登录管理员密码
- **请求体**:
```json
{
"old_password": "oldpassword123",
"new_password": "newpassword456"
}
```
- **响应**:
```json
{
"success": true,
"code": 200,
"message": "密码修改成功"
}
```
### 7. 获取管理员信息
**Endpoint**: `GET /auth/admin/me`
@@ -293,26 +566,23 @@
}
```
### 8. 用户管理接口
### 9. 用户管理接口
#### 8.1 获取用户列表
**Endpoint**: `GET /admin/users`
**认证**: 需要Bearer Token需要user:manage权限
**查询参数**:
- `page` (可选): 页码默认1
- `limit` (可选): 每页数量默认20
- `username` (可选): 用户名模糊搜索
- `user_type` (可选): 用户类型过滤
- `status` (可选): 状态过滤
**响应**:
#### 9.1 获取用户列表
- **Endpoint**: GET /api/v1/users
- **认证要求**: Bearer Token需要user:manage权限
- **查询参数**:
- `page` (可选): 页码默认1
- `limit` (可选): 每页数量默认20
- `username` (可选): 用户名模糊搜索
- `user_type` (可选): 用户类型过滤
- `status` (可选): 状态过滤
- **响应**:
```json
{
"success": true,
"code": 200,
"message": "获取成功",
"data": {
"users": [
{
@@ -339,20 +609,43 @@
}
```
#### 8.2 更新用户状态
**Endpoint**: `PUT /admin/users/{id}/status`
**认证**: 需要Bearer Token需要user:manage权限
**请求体**:
#### 9.2 获取用户详情
- **Endpoint**: GET /api/v1/users/{id}
- **认证要求**: Bearer Token需要user:manage权限
- **响应**:
```json
{
"status": "string, required, 状态(active/inactive)"
"success": true,
"code": 200,
"message": "获取成功",
"data": {
"user": {
"id": 1,
"username": "testuser",
"nickname": "测试用户",
"email": "test@example.com",
"phone": "13800138000",
"user_type": "farmer",
"status": "active",
"points": 100,
"level": 2,
"created_at": "2025-01-01T00:00:00.000Z",
"last_login_at": "2025-01-01T00:00:00.000Z"
}
}
}
```
**响应**:
#### 9.3 更新用户状态
- **Endpoint**: PUT /api/v1/users/{id}/status
- **认证要求**: Bearer Token需要user:manage权限
- **请求体**:
```json
{
"status": "active"
}
```
- **响应**:
```json
{
"success": true,
@@ -361,25 +654,173 @@
}
```
### 9. 内容管理接口
#### 9.1 获取内容列表
**Endpoint**: `GET /admin/contents`
**认证**: 需要Bearer Token需要content:review权限
**查询参数**:
- `page` (可选): 页码默认1
- `limit` (可选): 每页数量默认20
- `type` (可选): 内容类型
- `status` (可选): 审核状态
**响应**:
#### 9.4 删除用户
- **Endpoint**: DELETE /api/v1/users/{id}
- **认证要求**: Bearer Token需要user:manage权限
- **响应**:
```json
{
"success": true,
"code": 200,
"message": "用户删除成功"
}
```
### 10. 系统管理接口
#### 10.1 获取系统信息
- **Endpoint**: GET /api/v1/admin/system/info
- **认证要求**: Bearer Token需要system:view权限
- **响应**:
```json
{
"success": true,
"code": 200,
"message": "获取成功",
"data": {
"system": {
"version": "1.0.0",
"node_version": "v18.17.0",
"platform": "linux",
"arch": "x64",
"uptime": 123456,
"memory_usage": {
"total": 17179869184,
"used": 8589934592,
"free": 8589934592
},
"cpu_usage": 25.5
}
}
}
```
#### 10.2 获取系统服务列表
- **Endpoint**: GET /api/v1/admin/system/services
- **认证要求**: Bearer Token需要system:manage权限
- **查询参数**:
- `page` (可选): 页码默认1
- `limit` (可选): 每页数量默认20
- `type` (可选): 服务类型(database/cache/mq)
- `status` (可选): 服务状态(running/stopped)
- **响应**:
```json
{
"success": true,
"code": 200,
"message": "获取成功",
"data": {
"services": [
{
"id": "mysql",
"name": "MySQL数据库",
"type": "database",
"status": "running",
"host": "localhost",
"port": 3306,
"description": "主数据库服务",
"created_at": "2024-01-01T00:00:00.000Z",
"updated_at": "2024-01-15T10:30:00.000Z"
}
],
"pagination": {
"total": 5,
"page": 1,
"limit": 20,
"pages": 1
}
}
}
```
#### 10.3 更新服务状态
- **Endpoint**: PUT /api/v1/admin/system/services/{id}/status
- **认证要求**: Bearer Token需要system:manage权限
- **请求体**:
```json
{
"status": "stopped"
}
```
- **响应**:
```json
{
"success": true,
"code": 200,
"message": "服务状态更新成功"
}
```
#### 10.4 获取系统配置
- **Endpoint**: GET /api/v1/admin/system/configs
- **认证要求**: Bearer Token需要system:config权限
- **查询参数**:
- `page` (可选): 页码默认1
- `limit` (可选): 每页数量默认20
- `group` (可选): 配置分组
- **响应**:
```json
{
"success": true,
"code": 200,
"message": "获取成功",
"data": {
"configs": [
{
"id": "site_name",
"name": "网站名称",
"value": "结伴客",
"type": "string",
"group": "basic",
"description": "网站显示名称",
"created_at": "2024-01-01T00:00:00.000Z",
"updated_at": "2024-01-15T10:30:00.000Z"
}
],
"pagination": {
"total": 10,
"page": 1,
"limit": 20,
"pages": 1
}
}
}
```
#### 10.5 更新系统配置
- **Endpoint**: PUT /api/v1/admin/system/configs/{id}
- **认证要求**: Bearer Token需要system:config权限
- **请求体**:
```json
{
"value": "新网站名称"
}
```
- **响应**:
```json
{
"success": true,
"code": 200,
"message": "配置更新成功"
}
```
### 11. 内容管理接口
#### 11.1 获取内容列表
- **Endpoint**: GET /admin/contents
- **认证要求**: Bearer Token需要content:review权限
- **查询参数**:
- `page` (可选): 页码默认1
- `limit` (可选): 每页数量默认20
- `type` (可选): 内容类型
- `status` (可选): 审核状态
- **响应**:
```json
{
"success": true,
"code": 200,
"message": "获取成功",
"data": {
"contents": [
{