Files
junhong_cmp_fiber/docs/admin-openapi.yaml
huang 2d566a9820 1. 需求确认
2. 结构的一些变更
2026-01-06 11:07:04 +08:00

1020 lines
33 KiB
YAML

components:
schemas:
ModelAccountPageResult:
properties:
items:
description: 账号列表
items:
$ref: '#/components/schemas/ModelAccountResponse'
nullable: true
type: array
page:
description: 当前页码
type: integer
size:
description: 每页数量
type: integer
total:
description: 总记录数
type: integer
type: object
ModelAccountResponse:
properties:
created_at:
description: 创建时间
type: string
creator:
description: 创建人ID
minimum: 0
type: integer
id:
description: 账号ID
minimum: 0
type: integer
parent_id:
description: 父账号ID
minimum: 0
nullable: true
type: integer
phone:
description: 手机号
type: string
shop_id:
description: 关联店铺ID
minimum: 0
nullable: true
type: integer
status:
description: 状态
type: integer
updated_at:
description: 更新时间
type: string
updater:
description: 更新人ID
minimum: 0
type: integer
user_type:
description: 用户类型
type: integer
username:
description: 用户名
type: string
type: object
ModelAssignPermissionsParams:
properties:
perm_ids:
description: 权限ID列表
items:
minimum: 0
type: integer
minItems: 1
nullable: true
type: array
required:
- perm_ids
type: object
ModelAssignRolesParams:
properties:
role_ids:
description: 角色ID列表
items:
minimum: 0
type: integer
minItems: 1
nullable: true
type: array
required:
- role_ids
type: object
ModelCreateAccountRequest:
properties:
parent_id:
description: 父账号ID
minimum: 0
nullable: true
type: integer
password:
description: 密码
maxLength: 32
minLength: 8
type: string
phone:
description: 手机号
maxLength: 11
minLength: 11
type: string
shop_id:
description: 关联店铺ID
minimum: 0
nullable: true
type: integer
user_type:
description: 用户类型 (1:Root, 2:Admin, 3:Agent, 4:Merchant)
maximum: 4
minimum: 1
type: integer
username:
description: 用户名
maxLength: 50
minLength: 3
type: string
required:
- username
- phone
- password
- user_type
type: object
ModelCreatePermissionRequest:
properties:
parent_id:
description: 父权限ID
minimum: 0
nullable: true
type: integer
perm_code:
description: 权限编码
maxLength: 100
minLength: 1
type: string
perm_name:
description: 权限名称
maxLength: 50
minLength: 1
type: string
perm_type:
description: 权限类型 (1:菜单, 2:按钮)
maximum: 2
minimum: 1
type: integer
sort:
description: 排序值
minimum: 0
type: integer
url:
description: 请求路径
maxLength: 255
type: string
required:
- perm_name
- perm_code
- perm_type
type: object
ModelCreateRoleRequest:
properties:
role_desc:
description: 角色描述
maxLength: 255
type: string
role_name:
description: 角色名称
maxLength: 50
minLength: 1
type: string
role_type:
description: 角色类型 (1:超级管理员, 2:普通管理员, 3:操作员)
maximum: 3
minimum: 1
type: integer
required:
- role_name
- role_type
type: object
ModelPermission:
properties:
creator:
minimum: 0
type: integer
parent_id:
minimum: 0
nullable: true
type: integer
perm_code:
type: string
perm_name:
type: string
perm_type:
type: integer
sort:
type: integer
status:
type: integer
updater:
minimum: 0
type: integer
url:
type: string
type: object
ModelPermissionPageResult:
properties:
items:
description: 权限列表
items:
$ref: '#/components/schemas/ModelPermissionResponse'
nullable: true
type: array
page:
description: 当前页码
type: integer
size:
description: 每页数量
type: integer
total:
description: 总记录数
type: integer
type: object
ModelPermissionResponse:
properties:
created_at:
description: 创建时间
type: string
creator:
description: 创建人ID
minimum: 0
type: integer
id:
description: 权限ID
minimum: 0
type: integer
parent_id:
description: 父权限ID
minimum: 0
nullable: true
type: integer
perm_code:
description: 权限编码
type: string
perm_name:
description: 权限名称
type: string
perm_type:
description: 权限类型
type: integer
sort:
description: 排序值
type: integer
status:
description: 状态
type: integer
updated_at:
description: 更新时间
type: string
updater:
description: 更新人ID
minimum: 0
type: integer
url:
description: 请求路径
type: string
type: object
ModelPermissionTreeNode:
properties:
children:
description: 子权限列表
items:
$ref: '#/components/schemas/ModelPermissionTreeNode'
type: array
id:
description: 权限ID
minimum: 0
type: integer
perm_code:
description: 权限编码
type: string
perm_name:
description: 权限名称
type: string
perm_type:
description: 权限类型
type: integer
sort:
description: 排序值
type: integer
url:
description: 请求路径
type: string
type: object
ModelRole:
properties:
creator:
minimum: 0
type: integer
role_desc:
type: string
role_name:
type: string
role_type:
type: integer
status:
type: integer
updater:
minimum: 0
type: integer
type: object
ModelRolePageResult:
properties:
items:
description: 角色列表
items:
$ref: '#/components/schemas/ModelRoleResponse'
nullable: true
type: array
page:
description: 当前页码
type: integer
size:
description: 每页数量
type: integer
total:
description: 总记录数
type: integer
type: object
ModelRoleResponse:
properties:
created_at:
description: 创建时间
type: string
creator:
description: 创建人ID
minimum: 0
type: integer
id:
description: 角色ID
minimum: 0
type: integer
role_desc:
description: 角色描述
type: string
role_name:
description: 角色名称
type: string
role_type:
description: 角色类型
type: integer
status:
description: 状态
type: integer
updated_at:
description: 更新时间
type: string
updater:
description: 更新人ID
minimum: 0
type: integer
type: object
ModelUpdateAccountParams:
properties:
password:
description: 密码
maxLength: 32
minLength: 8
nullable: true
type: string
phone:
description: 手机号
maxLength: 11
minLength: 11
nullable: true
type: string
status:
description: 状态 (0:禁用, 1:启用)
maximum: 1
minimum: 0
nullable: true
type: integer
username:
description: 用户名
maxLength: 50
minLength: 3
nullable: true
type: string
type: object
ModelUpdatePermissionParams:
properties:
parent_id:
description: 父权限ID
minimum: 0
nullable: true
type: integer
perm_code:
description: 权限编码
maxLength: 100
minLength: 1
nullable: true
type: string
perm_name:
description: 权限名称
maxLength: 50
minLength: 1
nullable: true
type: string
sort:
description: 排序值
minimum: 0
nullable: true
type: integer
status:
description: 状态 (0:禁用, 1:启用)
maximum: 1
minimum: 0
nullable: true
type: integer
url:
description: 请求路径
maxLength: 255
nullable: true
type: string
type: object
ModelUpdateRoleParams:
properties:
role_desc:
description: 角色描述
maxLength: 255
nullable: true
type: string
role_name:
description: 角色名称
maxLength: 50
minLength: 1
nullable: true
type: string
status:
description: 状态 (0:禁用, 1:启用)
maximum: 1
minimum: 0
nullable: true
type: integer
type: object
info:
title: Admin API
version: "1.0"
openapi: 3.0.3
paths:
/api/admin/accounts:
get:
parameters:
- description: 页码
in: query
name: page
schema:
description: 页码
minimum: 1
type: integer
- description: 每页数量
in: query
name: page_size
schema:
description: 每页数量
maximum: 100
minimum: 1
type: integer
- description: 用户名模糊查询
in: query
name: username
schema:
description: 用户名模糊查询
maxLength: 50
type: string
- description: 手机号模糊查询
in: query
name: phone
schema:
description: 手机号模糊查询
maxLength: 20
type: string
- description: 用户类型
in: query
name: user_type
schema:
description: 用户类型
maximum: 4
minimum: 1
nullable: true
type: integer
- description: 状态
in: query
name: status
schema:
description: 状态
maximum: 1
minimum: 0
nullable: true
type: integer
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ModelAccountPageResult'
description: OK
summary: 账号列表
tags:
- Account
post:
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ModelCreateAccountRequest'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ModelAccountResponse'
description: OK
summary: 创建账号
tags:
- Account
/api/admin/accounts/{account_id}/roles/{role_id}:
delete:
parameters:
- description: 账号ID
in: path
name: account_id
required: true
schema:
description: 账号ID
minimum: 0
type: integer
- description: 角色ID
in: path
name: role_id
required: true
schema:
description: 角色ID
minimum: 0
type: integer
responses:
"204":
description: No Content
summary: 移除角色
tags:
- Account
/api/admin/accounts/{id}:
delete:
parameters:
- description: ID
in: path
name: id
required: true
schema:
description: ID
minimum: 0
type: integer
responses:
"204":
description: No Content
summary: 删除账号
tags:
- Account
get:
parameters:
- description: ID
in: path
name: id
required: true
schema:
description: ID
minimum: 0
type: integer
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ModelAccountResponse'
description: OK
summary: 获取账号详情
tags:
- Account
put:
parameters:
- description: ID
in: path
name: id
required: true
schema:
description: ID
minimum: 0
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ModelUpdateAccountParams'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ModelAccountResponse'
description: OK
summary: 更新账号
tags:
- Account
/api/admin/accounts/{id}/roles:
get:
parameters:
- description: ID
in: path
name: id
required: true
schema:
description: ID
minimum: 0
type: integer
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/ModelRole'
type: array
description: OK
summary: 获取账号角色
tags:
- Account
post:
parameters:
- description: ID
in: path
name: id
required: true
schema:
description: ID
minimum: 0
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ModelAssignRolesParams'
responses:
"204":
description: No Content
summary: 分配角色
tags:
- Account
/api/admin/permissions:
get:
parameters:
- description: 页码
in: query
name: page
schema:
description: 页码
minimum: 1
type: integer
- description: 每页数量
in: query
name: page_size
schema:
description: 每页数量
maximum: 100
minimum: 1
type: integer
- description: 权限名称模糊查询
in: query
name: perm_name
schema:
description: 权限名称模糊查询
maxLength: 50
type: string
- description: 权限编码模糊查询
in: query
name: perm_code
schema:
description: 权限编码模糊查询
maxLength: 100
type: string
- description: 权限类型
in: query
name: perm_type
schema:
description: 权限类型
maximum: 2
minimum: 1
nullable: true
type: integer
- description: 父权限ID
in: query
name: parent_id
schema:
description: 父权限ID
minimum: 0
nullable: true
type: integer
- description: 状态
in: query
name: status
schema:
description: 状态
maximum: 1
minimum: 0
nullable: true
type: integer
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ModelPermissionPageResult'
description: OK
summary: 权限列表
tags:
- Permission
post:
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ModelCreatePermissionRequest'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ModelPermissionResponse'
description: OK
summary: 创建权限
tags:
- Permission
/api/admin/permissions/{id}:
delete:
parameters:
- description: ID
in: path
name: id
required: true
schema:
description: ID
minimum: 0
type: integer
responses:
"204":
description: No Content
summary: 删除权限
tags:
- Permission
get:
parameters:
- description: ID
in: path
name: id
required: true
schema:
description: ID
minimum: 0
type: integer
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ModelPermissionResponse'
description: OK
summary: 获取权限详情
tags:
- Permission
put:
parameters:
- description: ID
in: path
name: id
required: true
schema:
description: ID
minimum: 0
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ModelUpdatePermissionParams'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ModelPermissionResponse'
description: OK
summary: 更新权限
tags:
- Permission
/api/admin/permissions/tree:
get:
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/ModelPermissionTreeNode'
type: array
description: OK
summary: 获取权限树
tags:
- Permission
/api/admin/roles:
get:
parameters:
- description: 页码
in: query
name: page
schema:
description: 页码
minimum: 1
type: integer
- description: 每页数量
in: query
name: page_size
schema:
description: 每页数量
maximum: 100
minimum: 1
type: integer
- description: 角色名称模糊查询
in: query
name: role_name
schema:
description: 角色名称模糊查询
maxLength: 50
type: string
- description: 角色类型
in: query
name: role_type
schema:
description: 角色类型
maximum: 3
minimum: 1
nullable: true
type: integer
- description: 状态
in: query
name: status
schema:
description: 状态
maximum: 1
minimum: 0
nullable: true
type: integer
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ModelRolePageResult'
description: OK
summary: 角色列表
tags:
- Role
post:
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ModelCreateRoleRequest'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ModelRoleResponse'
description: OK
summary: 创建角色
tags:
- Role
/api/admin/roles/{id}:
delete:
parameters:
- description: ID
in: path
name: id
required: true
schema:
description: ID
minimum: 0
type: integer
responses:
"204":
description: No Content
summary: 删除角色
tags:
- Role
get:
parameters:
- description: ID
in: path
name: id
required: true
schema:
description: ID
minimum: 0
type: integer
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ModelRoleResponse'
description: OK
summary: 获取角色详情
tags:
- Role
put:
parameters:
- description: ID
in: path
name: id
required: true
schema:
description: ID
minimum: 0
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ModelUpdateRoleParams'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ModelRoleResponse'
description: OK
summary: 更新角色
tags:
- Role
/api/admin/roles/{id}/permissions:
get:
parameters:
- description: ID
in: path
name: id
required: true
schema:
description: ID
minimum: 0
type: integer
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/ModelPermission'
type: array
description: OK
summary: 获取角色权限
tags:
- Role
post:
parameters:
- description: ID
in: path
name: id
required: true
schema:
description: ID
minimum: 0
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ModelAssignPermissionsParams'
responses:
"204":
description: No Content
summary: 分配权限
tags:
- Role
/api/admin/roles/{role_id}/permissions/{perm_id}:
delete:
parameters:
- description: 角色ID
in: path
name: role_id
required: true
schema:
description: 角色ID
minimum: 0
type: integer
- description: 权限ID
in: path
name: perm_id
required: true
schema:
description: 权限ID
minimum: 0
type: integer
responses:
"204":
description: No Content
summary: 移除权限
tags:
- Role