Files
aijianhua/admin-system/API接口文档.md

7.2 KiB
Raw Blame History

爱鉴花后台管理系统 API 接口文档

概述

本文档描述了爱鉴花后台管理系统的 RESTful API 接口规范,基于 OpenAPI 3.0 标准。

基础信息

  • Base URL: http://localhost:3200/api/v1
  • 认证方式: Bearer Token (JWT)
  • 响应格式: JSON

通用响应格式

{
  "code": 200,
  "message": "操作成功",
  "data": {}
}

错误码说明

错误码 说明
200 成功
400 请求参数错误
401 未授权访问
403 权限不足
404 资源不存在
409 资源冲突
500 服务器内部错误

用户管理接口

1. 获取用户列表

接口摘要: 获取用户列表(需要管理员权限)

请求方法: GET 请求路径: /users

请求参数:

参数名 类型 必填 说明
page integer 页码默认1
limit integer 每页数量默认10
keyword string 搜索关键词(用户名/手机号/邮箱)
user_type string 用户类型farmer/buyer/admin

请求示例:

GET /api/v1/users?page=1&limit=10&keyword=test&user_type=farmer
Authorization: Bearer <token>

响应示例 (200):

{
  "code": 200,
  "message": "获取成功",
  "data": {
    "users": [
      {
        "id": 1,
        "username": "testuser",
        "phone": "13800138000",
        "email": "test@example.com",
        "user_type": "farmer",
        "avatar_url": null,
        "created_at": "2023-12-01 10:00:00",
        "last_login": "2023-12-15 15:30:00"
      }
    ],
    "pagination": {
      "page": 1,
      "limit": 10,
      "total": 100,
      "pages": 10
    }
  }
}

2. 创建用户

接口摘要: 创建新用户(需要管理员权限)

请求方法: POST 请求路径: /users

请求体:

参数名 类型 必填 说明
username string 用户名
phone string 手机号
email string 邮箱地址
user_type string 用户类型farmer/buyer/admin
password string 密码最少6位
real_name string 真实姓名
avatar_url string 头像URL

请求示例:

POST /api/v1/users
Authorization: Bearer <token>
Content-Type: application/json

{
  "username": "newuser",
  "phone": "13900139000",
  "email": "newuser@example.com",
  "user_type": "buyer",
  "password": "123456",
  "real_name": "张三",
  "avatar_url": null
}

响应示例 (201):

{
  "code": 201,
  "message": "用户创建成功",
  "data": {
    "id": 2,
    "username": "newuser",
    "phone": "13900139000",
    "email": "newuser@example.com",
    "user_type": "buyer",
    "avatar_url": null,
    "real_name": "张三"
  }
}

错误响应示例 (409):

{
  "code": 409,
  "message": "用户名已存在",
  "data": null
}

3. 获取用户详情

接口摘要: 获取指定用户的详细信息

请求方法: GET 请求路径: /users/{id}

路径参数:

参数名 类型 必填 说明
id integer 用户ID

请求示例:

GET /api/v1/users/1
Authorization: Bearer <token>

响应示例 (200):

{
  "code": 200,
  "message": "获取成功",
  "data": {
    "id": 1,
    "username": "testuser",
    "phone": "13800138000",
    "email": "test@example.com",
    "user_type": "farmer",
    "avatar_url": null,
    "real_name": "测试用户",
    "created_at": "2023-12-01 10:00:00",
    "last_login": "2023-12-15 15:30:00"
  }
}

4. 更新用户信息

接口摘要: 更新用户信息

请求方法: PUT 请求路径: /users/{id}

路径参数:

参数名 类型 必填 说明
id integer 用户ID

请求体:

参数名 类型 必填 说明
username string 用户名
phone string 手机号
email string 邮箱地址
user_type string 用户类型
real_name string 真实姓名
avatar_url string 头像URL

请求示例:

PUT /api/v1/users/1
Authorization: Bearer <token>
Content-Type: application/json

{
  "username": "updateduser",
  "phone": "13800138001",
  "email": "updated@example.com",
  "user_type": "admin",
  "real_name": "更新用户"
}

响应示例 (200):

{
  "code": 200,
  "message": "更新成功",
  "data": {
    "id": 1,
    "username": "updateduser",
    "phone": "13800138001",
    "email": "updated@example.com",
    "user_type": "admin",
    "avatar_url": null,
    "real_name": "更新用户"
  }
}

5. 删除用户

接口摘要: 删除用户(软删除,需要管理员权限)

请求方法: DELETE 请求路径: /users/{id}

路径参数:

参数名 类型 必填 说明
id integer 用户ID

请求示例:

DELETE /api/v1/users/1
Authorization: Bearer <token>

响应示例 (200):

{
  "code": 200,
  "message": "删除成功",
  "data": null
}

6. 修改密码

接口摘要: 修改用户密码

请求方法: PUT 请求路径: /users/{id}/password

路径参数:

参数名 类型 必填 说明
id integer 用户ID

请求体:

参数名 类型 必填 说明
old_password string 原密码
new_password string 新密码最少6位

请求示例:

PUT /api/v1/users/1/password
Authorization: Bearer <token>
Content-Type: application/json

{
  "old_password": "oldpassword123",
  "new_password": "newpassword456"
}

响应示例 (200):

{
  "code": 200,
  "message": "密码修改成功",
  "data": null
}

认证接口

1. 用户登录

接口摘要: 用户登录获取访问令牌

请求方法: POST 请求路径: /auth/login

请求体:

参数名 类型 必填 说明
username string 用户名
password string 密码

请求示例:

POST /api/v1/auth/login
Content-Type: application/json

{
  "username": "admin",
  "password": "admin123"
}

响应示例 (200):

{
  "code": 200,
  "message": "登录成功",
  "data": {
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
    "user": {
      "id": 1,
      "username": "admin",
      "user_type": "admin"
    }
  }
}

2. 获取当前用户信息

接口摘要: 获取当前登录用户信息

请求方法: GET 请求路径: /users/me

请求示例:

GET /api/v1/users/me
Authorization: Bearer <token>

响应示例 (200):

{
  "code": 200,
  "message": "获取成功",
  "data": {
    "id": 1,
    "username": "admin",
    "phone": "13800138000",
    "email": "admin@example.com",
    "user_type": "admin",
    "avatar_url": null,
    "real_name": "管理员",
    "created_at": "2023-12-01 10:00:00",
    "last_login": "2023-12-15 15:30:00"
  }
}