Files
xk-docs/docs/projects/xk-api/modules/system.md

260 lines
7.6 KiB
Markdown
Raw Normal View History

2026-07-08 15:04:42 +08:00
# 系统管理模块
## 概述
系统管理模块负责管理后台的基础配置,包括管理员、角色权限、菜单、系统配置、操作日志、公告通知等。
---
## 管理员管理
### 接口
| 方法 | 路径 | 说明 |
|------|------|------|
| POST | `admin/login` | 登录 |
| POST | `admin/send-verification-code` | 发送验证码 |
| POST | `admin/logout` | 退出 |
| GET | `admin/my-info` | 当前用户信息 |
| GET | `admin/codes` | 权限码列表 |
| GET | `admin/menu` | 菜单列表 |
| GET | `admin/my-belong-id` | 当前归属 ID |
| GET | `admin/sibling-accounts` | 同级账户列表 |
| POST | `admin/switch-account` | 切换账户 |
| GET | `admin/my-balance` | 我的余额 |
| GET | `admin/my-card` | 我的银行卡 |
| GET | `admin/get-quick-menu` | 快捷菜单 |
| GET | `admin/list` | 管理员列表 |
| GET | `admin/option` | 管理员选项 |
| GET | `admin/detail` | 管理员详情 |
| GET | `admin/creatable-roles` | 可创建角色 |
| POST | `admin/create` | 创建管理员 |
| POST | `admin/update` | 更新管理员 |
| POST | `admin/delete` | 删除管理员 |
| POST | `admin/reset-password` | 重置密码 |
| POST | `admin/update-password` | 修改密码 |
| POST | `admin/save-card` | 保存银行卡 |
| POST | `admin/generate-login-account` | 生成登录账号 |
### 关联类
| 类 | 文件 | 说明 |
|----|------|------|
| `AdminController` | `app/Http/Controllers/admin/system/AdminController.php` | 控制器 |
| `AdminService` | `app/Service/admin/system/AdminService.php` | 业务服务 |
| `AdminModel` | `app/Models/new/admin/AdminModel.php` | 模型 |
| `AdminNoticeModel` | `app/Models/new/admin/AdminNoticeModel.php` | 通知模型 |
| `AdminNoticeRelationsModel` | `app/Models/new/admin/AdminNoticeRelationsModel.php` | 通知关联 |
| `JWTService` | `app/Service/common/JWTService.php` | JWT 认证 |
### 关联模型
| 模型 | 表名 | 说明 |
|------|------|------|
| `AdminModel` | `xk_admin` | 管理员用户 |
| `AdminNoticeModel` | `xk_admin_notice` | 管理员消息 |
| `AdminNoticeRelationsModel` | `xk_admin_notice_relations` | 用户通知关联 |
### 流程图
```mermaid
sequenceDiagram
participant C as 客户端
participant A as AdminController
participant S as AdminService
participant M as AdminModel
participant JWT as JWTService
C->>A: POST admin/login
A->>S: login(account, password)
S->>M: findByAccount(account)
M-->>S: admin
S->>S: verifyPassword(password, hash)
S->>JWT: generateToken(admin)
JWT-->>C: token
```
---
## 角色权限
### 接口
| 方法 | 路径 | 说明 |
|------|------|------|
| GET | `role/list` | 角色列表 |
| GET | `role/detail` | 角色详情 |
| POST | `role/create` | 创建角色 |
| POST | `role/update` | 更新角色 |
| POST | `role/delete` | 删除角色 |
### 关联类
| 类 | 文件 | 说明 |
|----|------|------|
| `RoleController` | `app/Http/Controllers/admin/system/RoleController.php` | 控制器 |
| `RoleService` | `app/Service/admin/system/RoleService.php` | 业务服务 |
| `RoleModel` | `app/Models/new/admin/RoleModel.php` | 模型 |
| `RoleMenuRelationsModel` | `app/Models/new/admin/RoleMenuRelationsModel.php` | 角色-菜单关联 |
| `RoleQuickNavModel` | `app/Models/new/admin/RoleQuickNavModel.php` | 快捷导航 |
| `RoleEnum` | `app/Enum/RoleEnum.php` | 角色枚举 |
### 关联模型
| 模型 | 表名 | 说明 |
|------|------|------|
| `RoleModel` | `xk_role` | 角色定义 |
| `RoleMenuRelationsModel` | `xk_role_menu_relations` | 角色-菜单绑定 |
| `RoleQuickNavModel` | `xk_role_quick_nav` | 角色快捷导航 |
### 角色枚举 (RoleEnum)
| 值 | 常量 | 说明 |
|----|------|------|
| 1 | `SUPPER_ADMIN` | 超级管理员 |
| 2 | `ADMIN` | 管理员 |
| 3 | `PROVINCE_MANAGER` | 省经理 |
| 4 | `CITY_MANAGER` | 市经理 |
| 5 | `DISTRICT_MANAGER` | 区经理 |
| 6 | `SALESPERSON` | 推广员 |
| 7 | `SUPPLIER` | 供应商 |
| 8 | `CLINIC_ADMINISTRATOR` | 门店管理员 |
| 9 | `CLINIC_STAFF` | 门店员工 |
| 10 | `DOCTOR` | 医生 |
| 11 | `PHARMACIST` | 药师 |
| 12 | `HEADQUARTERS_FINANCE` | 总部财务 |
| 14 | `CLINIC_SALESPERSON` | 门店推广员 |
---
## 菜单管理
### 接口
| 方法 | 路径 | 说明 |
|------|------|------|
| GET | `menu/list` | 菜单列表 |
| POST | `menu/create` | 创建菜单 |
| POST | `menu/update` | 更新菜单 |
| POST | `menu/delete` | 删除菜单 |
### 关联类
| 类 | 文件 | 说明 |
|----|------|------|
| `MenuController` | `app/Http/Controllers/admin/system/MenuController.php` | 控制器 |
| `MenuService` | `app/Service/admin/system/MenuService.php` | 业务服务 |
| `MenuModel` | `app/Models/new/admin/MenuModel.php` | 模型 |
### 关联模型
| 模型 | 表名 | 说明 |
|------|------|------|
| `MenuModel` | `xk_menu` | 菜单定义 |
### 字段说明
| 字段 | 类型 | 说明 |
|------|------|------|
| `title` | varchar | 菜单名称 |
| `icon` | varchar | 图标 |
| `name` | varchar | 路由名称 |
| `path` | varchar | 路由路径 |
| `component` | varchar | 组件路径 |
| `redirect` | varchar | 重定向 |
| `pid` | int | 父级 ID |
| `sort` | int | 排序 |
| `hide_in_menu` | tinyint | 是否隐藏 |
| `affix_tab` | tinyint | 是否固定标签 |
---
## 系统配置
### 接口
| 方法 | 路径 | 说明 |
|------|------|------|
| GET | `system-config/list` | 配置列表 |
| POST | `system-config/update` | 更新配置 |
### 关联类
| 类 | 文件 | 说明 |
|----|------|------|
| `SystemConfigController` | `app/Http/Controllers/admin/system/SystemConfigController.php` | 控制器 |
| `SystemConfigService` | `app/Service/admin/system/SystemConfigService.php` | 业务服务 |
| `SystemConfigModel` | `app/Models/new/config/SystemConfigModel.php` | 模型 |
### 关联模型
| 模型 | 表名 | 说明 |
|------|------|------|
| `SystemConfigModel` | `xk_system_config` | 系统配置 |
### 字段说明
| 字段 | 类型 | 说明 |
|------|------|------|
| `config_key` | varchar | 配置键(唯一) |
| `config_value` | text | 配置值 |
| `value_type` | varchar | 值类型string/int/float/bool/json |
| `config_group` | varchar | 配置分组 |
| `description` | varchar | 描述 |
| `is_system` | tinyint | 是否系统配置 |
---
## 操作日志
### 接口
| 方法 | 路径 | 说明 |
|------|------|------|
| GET | `log/list` | 日志列表 |
### 关联类
| 类 | 文件 | 说明 |
|----|------|------|
| `OldController` | `app/Http/Controllers/admin/log/OldController.php` | 控制器 |
| `OldLogService` | `app/Service/admin/log/OldLogService.php` | 业务服务 |
| `ApiOpLogModel` | `app/Models/new/log/ApiOpLogModel.php` | 模型 |
| `ErrorLogModel` | `app/Models/new/log/ErrorLogModel.php` | 错误日志模型 |
### 关联模型
| 模型 | 表名 | 说明 |
|------|------|------|
| `ApiOpLogModel` | `xk_api_op_log` | API 操作日志 |
| `ErrorLogModel` | `xk_error_log` | 错误日志 |
---
## 公告通知
### 接口
| 方法 | 路径 | 说明 |
|------|------|------|
| GET | `notice/list` | 通知列表 |
| POST | `notice/create` | 创建通知 |
| POST | `notice/update` | 更新通知 |
| POST | `notice/delete` | 删除通知 |
### 关联类
| 类 | 文件 | 说明 |
|----|------|------|
| `NoticeController` | `app/Http/Controllers/admin/system/NoticeController.php` | 控制器 |
| `NoticeService` | `app/Service/admin/system/NoticeService.php` | 业务服务 |
| `NoticeModel` | `app/Models/new/admin/NoticeModel.php` | 模型 |
| `AdminNoticeModel` | `app/Models/new/admin/AdminNoticeModel.php` | 管理员通知模型 |
### 关联模型
| 模型 | 表名 | 说明 |
|------|------|------|
| `NoticeModel` | `xk_notice` | 公告 |
| `AdminNoticeModel` | `xk_admin_notice` | 管理员消息 |