Files
ai_wht_B/API接口文档.md
“shengyudong” 5a384b694e 2026-1-6
2026-01-06 14:18:39 +08:00

21 KiB
Raw Permalink Blame History

AI文章生成管理平台 API接口文档

接口概述

  • Base URL: http://127.0.0.1:8216
  • 搜索服务: http://127.0.0.1:8321
  • 数据格式: JSON
  • 字符编码: UTF-8
  • 认证方式: JWT Token (Bearer)

统一响应格式

成功响应

{
  "code": 200,
  "message": "success",
  "data": {}
}

错误响应

{
  "code": 400,
  "message": "错误信息",
  "data": null
}

状态码说明

状态码 说明
200 请求成功
400 请求参数错误
401 未授权,需要登录
403 权限不足
404 资源不存在
500 服务器内部错误

一、基础接口

1.1 根路径

接口: GET /

认证: 无需认证

响应数据:

{
  "code": 200,
  "message": "万花筒API服务正常运行",
  "data": {
    "version": "1.0",
    "service": "wht_api"
  }
}

1.2 健康检查

接口: GET /health

认证: 无需认证

响应数据:

{
  "code": 200,
  "message": "服务正常",
  "data": {
    "status": "healthy",
    "timestamp": 1704267825000,
    "version": "2.0"
  }
}

二、认证接口

2.1 统一登录

接口: POST /api/auth/login

认证: 无需认证

支持方式: 用户名登录、手机号登录

请求参数(用户名方式):

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

请求参数(手机号方式):

{
  "phone": "13621242430",
  "password": "admin123"
}

响应数据:

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

2.2 员工登录

接口: POST /api/auth/employee/login

认证: 无需认证

请求参数:

{
  "phone": "13800138001",
  "password": "123456"
}

响应数据:

{
  "code": 200,
  "message": "登录成功",
  "data": {
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
    "employee": {
      "id": 1,
      "name": "张三",
      "phone": "13800138001",
      "enterprise_id": 1
    }
  }
}

2.3 用户登出

接口: POST /api/auth/logout

认证: 可选建议携带token

请求头:

Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

响应数据:

{
  "code": 200,
  "message": "登出成功",
  "data": null
}

三、工作台接口

3.1 工作台概览

接口: GET /api/dashboard/overview

认证: 需要token

请求头:

Authorization: Bearer {token}

响应数据:

{
  "code": 200,
  "message": "success",
  "data": {
    "total_articles": 1250,
    "published_today": 45,
    "total_authors": 128,
    "active_products": 23
  }
}

3.2 最近发布

接口: GET /api/dashboard/recent-publishes

认证: 需要token

请求参数:

参数 类型 必填 说明
limit int 返回条数默认10

响应数据:

{
  "code": 200,
  "message": "success",
  "data": {
    "list": [
      {
        "id": 1,
        "title": "冬季护肤小技巧",
        "author_name": "张医生",
        "product_name": "保湿面霜",
        "published_at": "2024-12-29 15:30:00"
      }
    ]
  }
}

3.3 热门产品

接口: GET /api/dashboard/hot-products

认证: 需要token

请求参数:

参数 类型 必填 说明
limit int 返回条数默认5

响应数据:

{
  "code": 200,
  "message": "success",
  "data": {
    "list": [
      {
        "id": 1,
        "product_name": "保湿面霜",
        "publish_count": 156,
        "image_url": "https://oss.example.com/product1.jpg"
      }
    ]
  }
}

四、企业管理接口

4.1 获取企业列表

接口: GET /api/enterprises/list

认证: 需要token

请求参数:

参数 类型 必填 说明
page int 页码默认1
pageSize int 每页数量默认20
keyword string 搜索关键词
status string 状态筛选

响应数据:

{
  "code": 200,
  "message": "success",
  "data": {
    "total": 50,
    "list": [
      {
        "id": 1,
        "name": "示例医疗集团",
        "short_name": "示例医疗",
        "phone": "13800138000",
        "email": "admin@example.com",
        "status": "active",
        "created_at": "2024-01-15 10:00:00"
      }
    ]
  }
}

4.2 企业统计

接口: GET /api/enterprises/stats

认证: 需要token

响应数据:

{
  "code": 200,
  "message": "success",
  "data": {
    "total_count": 50,
    "active_count": 45,
    "disabled_count": 5
  }
}

4.3 获取企业信息

接口: GET /api/enterprises/info

认证: 需要token

响应数据:

{
  "code": 200,
  "message": "success",
  "data": {
    "id": 1,
    "name": "示例医疗集团",
    "short_name": "示例医疗",
    "phone": "13800138000",
    "email": "admin@example.com",
    "created_at": "2024-01-15 10:00:00"
  }
}

4.4 更新企业信息

接口: PUT /api/enterprises/info

认证: 需要token

请求参数:

{
  "short_name": "新名称",
  "email": "new@example.com"
}

响应数据:

{
  "code": 200,
  "message": "更新成功",
  "data": null
}

4.5 修改密码

接口: PUT /api/enterprises/change-password

认证: 需要token

请求参数:

{
  "old_password": "123456",
  "new_password": "654321"
}

响应数据:

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

五、图片管理接口

5.1 图片列表

接口: GET /api/images/list

认证: 需要token

请求参数:

参数 类型 必填 说明
page int 页码
pageSize int 每页数量

响应数据:

{
  "code": 200,
  "message": "success",
  "data": {
    "total": 100,
    "list": [
      {
        "id": 1,
        "image_name": "产品展示图",
        "image_url": "https://oss.example.com/image1.jpg",
        "image_type_name": "产品图",
        "width": 1920,
        "height": 1080,
        "file_size": 524288,
        "created_at": "2024-12-29 10:00:00"
      }
    ]
  }
}

5.2 图片仪表盘

接口: GET /api/images/list_dashboard

认证: 需要token

响应数据:

{
  "code": 200,
  "message": "success",
  "data": {
    "total_images": 1250,
    "total_types": 8,
    "total_tags": 45,
    "recent_uploads": 23
  }
}

5.3 上传图片

接口: POST /api/images/upload

认证: 需要token

请求参数: multipart/form-data

参数 类型 必填 说明
image file 图片文件
image_name string 图片名称
image_type_name string 图片类型
tag_keywords string 标签,逗号分隔

响应数据:

{
  "code": 200,
  "message": "上传成功",
  "data": {
    "id": 1,
    "image_url": "https://oss.example.com/image1.jpg",
    "thumbnail_url": "https://oss.example.com/thumb1.jpg"
  }
}

5.4 删除图片

接口: DELETE /api/images/:id

认证: 需要token

响应数据:

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

5.5 标签名称列表

接口: GET /api/images/tags/names/list

认证: 需要token

请求参数:

参数 类型 必填 说明
page int 页码
pageSize int 每页数量

响应数据:

{
  "code": 200,
  "message": "success",
  "data": {
    "total": 50,
    "list": [
      {
        "id": 1,
        "tag_name": "美白",
        "description": "美白相关标签",
        "usage_count": 156
      }
    ]
  }
}

5.6 创建标签名称

接口: POST /api/images/tags/names/create

认证: 需要token

请求参数:

{
  "tag_name": "美白",
  "description": "美白相关标签"
}

响应数据:

{
  "code": 200,
  "message": "创建成功",
  "data": {
    "id": 1
  }
}

5.7 更新标签名称

接口: PUT /api/images/tags/names/:id

认证: 需要token

请求参数:

{
  "tag_name": "美白淡斑",
  "description": "美白淡斑相关"
}

5.8 删除标签名称

接口: DELETE /api/images/tags/names/:id

认证: 需要token


5.9 标签关系列表

接口: GET /api/images/tags/relations/list

认证: 需要token

说明: 查询图片与标签的关联关系


5.10 图片类型列表

接口: GET /api/images/types/list

认证: 需要token

响应数据:

{
  "code": 200,
  "message": "success",
  "data": {
    "list": [
      {
        "id": 1,
        "type_name": "产品图",
        "description": "产品展示图片",
        "image_count": 156
      }
    ]
  }
}

5.11 创建类型

接口: POST /api/images/types/create

认证: 需要token

请求参数:

{
  "type_name": "产品图",
  "description": "产品展示图片"
}

5.12 更新类型

接口: PUT /api/images/types/:id

认证: 需要token


5.13 删除类型

接口: DELETE /api/images/types/:id

认证: 需要token


5.14 标签列表

接口: GET /api/images/tags/list

认证: 需要token

说明: 获取图片标签列表(图片-标签关联)


5.15 创建标签

接口: POST /api/images/tags/create

认证: 需要token

说明: 为图片添加标签


5.16 删除标签

接口: DELETE /api/images/tags/:id

认证: 需要token

说明: 删除图片标签关联


六、日志管理接口

6.1 获取操作日志

接口: GET /api/log/logs

认证: 需要token

请求参数:

参数 类型 必填 说明
page int 页码
pageSize int 每页数量
action string 操作类型
status string 状态success/error
start_date string 开始日期
end_date string 结束日期

响应数据:

{
  "code": 200,
  "message": "success",
  "data": {
    "total": 1000,
    "list": [
      {
        "id": 1,
        "user_id": 1,
        "action": "create_article",
        "description": "创建文章:冬季护肤小技巧",
        "status": "success",
        "created_at": "2024-12-29 14:30:00"
      }
    ]
  }
}

6.2 日志文件列表

接口: GET /api/log/logs/files

认证: 需要token

响应数据:

{
  "code": 200,
  "message": "success",
  "data": {
    "files": [
      {
        "filename": "article_server.log",
        "size": 1024000,
        "modified_at": "2024-12-29 15:00:00"
      }
    ]
  }
}

6.3 文件日志内容

接口: GET /api/log/logs/file

认证: 需要token

请求参数:

参数 类型 必填 说明
filename string 文件名
lines int 读取行数默认100

响应数据:

{
  "code": 200,
  "message": "success",
  "data": {
    "content": "[2024-12-29 15:00:00] INFO: 服务启动\n..."
  }
}

七、文章管理接口

7.1 文章列表

接口: GET /api/articles/list

认证: 需要token

请求参数:

参数 类型 必填 说明
page int 页码
pageSize int 每页数量
status string 状态筛选
keyword string 搜索关键词

响应数据:

{
  "code": 200,
  "message": "success",
  "data": {
    "total": 500,
    "list": [
      {
        "id": 1,
        "title": "冬季护肤小技巧",
        "topic": "护肤",
        "content": "文章内容...",
        "author_name": "张医生",
        "status": "published",
        "created_at": "2024-12-29 10:00:00"
      }
    ]
  }
}

7.2 文章仪表盘

接口: GET /api/articles/list_dashboard

认证: 需要token

响应数据:

{
  "code": 200,
  "message": "success",
  "data": {
    "total_articles": 1250,
    "published_count": 856,
    "draft_count": 394,
    "today_generated": 23
  }
}

7.3 生成文章

接口: POST /api/articles/generate

认证: 需要token

请求参数:

{
  "topic": "冬季护肤",
  "author_id": 1,
  "product_id": 5,
  "template_id": 2
}

响应数据:

{
  "code": 200,
  "message": "生成成功",
  "data": {
    "id": 1,
    "title": "冬季护肤小技巧",
    "content": "..."
  }
}

7.4 文章详情

接口: GET /api/articles/:id

认证: 需要token

响应数据:

{
  "code": 200,
  "message": "success",
  "data": {
    "id": 1,
    "title": "冬季护肤小技巧",
    "topic": "护肤",
    "content": "详细内容...",
    "author_id": 1,
    "author_name": "张医生",
    "status": "published",
    "created_at": "2024-12-29 10:00:00"
  }
}

7.5 更新文章

接口: PUT /api/articles/:id

认证: 需要token

请求参数:

{
  "title": "新标题",
  "content": "新内容",
  "status": "published"
}

响应数据:

{
  "code": 200,
  "message": "更新成功",
  "data": null
}

7.6 批量发布(账号循环)

接口: POST /api/articles/batch-published-account-cycle

认证: 需要token

请求参数:

{
  "article_ids": [1, 2, 3, 4, 5],
  "cycle_mode": "round_robin"
}

响应数据:

{
  "code": 200,
  "message": "批量发布成功",
  "data": {
    "success_count": 5,
    "failed_count": 0
  }
}

7.7 批量发布(指定作者)

接口: POST /api/articles/batch-published-review

认证: 需要token

请求参数:

{
  "article_ids": [1, 2, 3],
  "author_id": 5
}

响应数据:

{
  "code": 200,
  "message": "批量发布成功",
  "data": {
    "success_count": 3,
    "failed_count": 0
  }
}

八、员工管理接口

8.1 员工列表

接口: GET /api/employees/list

认证: 需要token

请求参数:

参数 类型 必填 说明
page int 页码
pageSize int 每页数量
keyword string 搜索关键词
status string 状态筛选

响应数据:

{
  "code": 200,
  "message": "success",
  "data": {
    "total": 50,
    "list": [
      {
        "id": 1,
        "name": "张三",
        "phone": "13800138001",
        "role": "员工",
        "status": "active",
        "created_at": "2024-01-15 10:00:00"
      }
    ]
  }
}

8.2 员工统计

接口: GET /api/employees/stats

认证: 需要token

响应数据:

{
  "code": 200,
  "message": "success",
  "data": {
    "total_count": 50,
    "active_count": 45,
    "inactive_count": 5
  }
}

8.3 添加员工

接口: POST /api/employees/add

认证: 需要token

请求参数:

{
  "name": "张三",
  "phone": "13800138001",
  "password": "123456",
  "role": "员工"
}

响应数据:

{
  "code": 200,
  "message": "添加成功",
  "data": {
    "id": 1
  }
}

8.4 删除员工

接口: DELETE /api/employees/:id

认证: 需要token

说明: 软删除,仅删除登录权限,保留发布记录

响应数据:

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

九、作者管理接口

9.1 作者列表(按科室分组)

接口: GET /api/authors

认证: 需要token

响应数据:

{
  "code": 200,
  "message": "success",
  "data": {
    "departments": [
      {
        "department_name": "皮肤科",
        "authors": [
          {
            "id": 1,
            "author_name": "张医生",
            "title": "主治医师",
            "department": "皮肤科"
          }
        ]
      }
    ]
  }
}

9.2 创建作者

接口: POST /api/authors

认证: 需要token

请求参数:

{
  "author_name": "张医生",
  "title": "主治医师",
  "department": "皮肤科",
  "bio": "专注皮肤护理20年"
}

响应数据:

{
  "code": 200,
  "message": "创建成功",
  "data": {
    "id": 1
  }
}

9.3 更新作者

接口: PUT /api/authors/:id

认证: 需要token

请求参数:

{
  "author_name": "张医生",
  "title": "副主任医师",
  "department": "皮肤科"
}

响应数据:

{
  "code": 200,
  "message": "更新成功",
  "data": null
}

9.4 删除作者

接口: DELETE /api/authors/:id

认证: 需要token

响应数据:

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

9.5 作者列表(用户关联)

接口: GET /api/authors/list

认证: 需要token

请求参数:

参数 类型 必填 说明
user_id int 用户ID

响应数据:

{
  "code": 200,
  "message": "success",
  "data": {
    "list": [
      {
        "id": 1,
        "author_name": "张医生",
        "department": "皮肤科"
      }
    ]
  }
}

9.6 作者详细列表

接口: GET /api/authors/detail_list

认证: 需要token

请求参数:

参数 类型 必填 说明
page int 页码
pageSize int 每页数量

响应数据:

{
  "code": 200,
  "message": "success",
  "data": {
    "total": 128,
    "list": [
      {
        "id": 1,
        "author_name": "张医生",
        "title": "主治医师",
        "department": "皮肤科",
        "bio": "专注皮肤护理20年",
        "article_count": 45,
        "created_at": "2024-01-15 10:00:00"
      }
    ]
  }
}

9.7 科室列表

接口: GET /api/authors/departments

认证: 需要token

响应数据:

{
  "code": 200,
  "message": "success",
  "data": {
    "departments": [
      {
        "department_name": "皮肤科",
        "author_count": 12
      },
      {
        "department_name": "内科",
        "author_count": 15
      }
    ]
  }
}

9.8 搜索作者

接口: GET /api/authors/search

认证: 需要token

请求参数:

参数 类型 必填 说明
keyword string 搜索关键词

响应数据:

{
  "code": 200,
  "message": "success",
  "data": {
    "list": [
      {
        "id": 1,
        "author_name": "张医生",
        "title": "主治医师",
        "department": "皮肤科"
      }
    ]
  }
}

附录

A. 请求头说明

所有需要认证的接口都需要携带以下请求头:

Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Content-Type: application/json

B. 分页参数说明

所有列表接口都支持以下分页参数:

参数 类型 默认值 说明
page int 1 页码
pageSize int 20 每页数量最大100

C. 错误码说明

错误码 说明 处理建议
1001 用户名/手机号已存在 使用其他账号
1002 密码错误 检查密码
1003 Token过期 重新登录
1004 权限不足 检查用户角色
1005 资源不存在 检查资源ID
1006 参数错误 检查请求参数

D. 业务规则说明

  1. 文章生成规则

    • 支持AI自动生成文章
    • 可指定作者、产品、模板
    • 生成后状态为topic需人工审核
  2. 批量发布规则

    • 支持账号循环模式
    • 支持指定作者模式
    • 发布后状态变为published
  3. 权限管理规则

    • 不同企业之间的数据完全隔离
    • 员工只能看到所属企业的数据
    • 管理员可以管理所有数据
  4. 图片管理规则

    • 支持OSS存储
    • 自动生成缩略图
    • 支持标签和类型管理
  5. 日志记录规则

    • 所有关键操作必须记录日志
    • 支持按多维度查询日志
    • 日志文件每日自动切割
  6. 作者管理规则

    • 支持按科室分组
    • 记录作者的文章数量
    • 支持模糊搜索

E. 数据库表结构对应

本接口文档对应的数据库表结构:

模块 核心表
企业管理 ai_enterprises
员工管理 ai_employees
图片管理 ai_images, ai_image_tags, ai_image_tag_names, ai_image_types
文章管理 ai_articles
作者管理 ai_authors
系统管理 ai_logs, ai_users

总计: 10+张数据库表


F. 接口数量统计

模块 接口数量
基础接口 2个
认证接口 3个
工作台接口 3个
企业管理 5个
图片管理 16个
日志管理 3个
文章管理 7个
员工管理 4个
作者管理 8个
总计 51个接口

文档版本: v2.0
最后更新: 2025-12-29
维护团队: AI文章生成平台开发团队