Add server components
build-winui / winui (push) Has been cancelled

This commit is contained in:
QWQLwToo
2026-06-26 13:28:09 +08:00
parent 7ecc6a8923
commit 079ee4eaeb
168 changed files with 37475 additions and 0 deletions
+169
View File
@@ -0,0 +1,169 @@
# 后台管理系统使用说明
## 功能概述
后台管理系统提供了完整的用户认证、内容管理、路由管理、日志查看等功能。
## 访问地址
访问 `http://localhost:3355/admin` 进入后台管理界面。
## 用户注册和登录
### 注册
1. 首次访问后台管理页面,点击"注册"标签
2. 填写以下信息:
- **用户名**3-50个字符
- **邮箱**:有效的邮箱地址
- **密码**:必须满足以下要求:
- 至少8个字符
- 包含至少一个大写字母
- 包含至少一个小写字母
- 包含至少一个数字
- 包含至少一个特殊字符
- 不能是常见弱密码(如 password、123456 等)
- 不能全部是相同字符
3. **重要**:第一个注册的用户将自动成为管理员
### 登录
1. 使用注册的用户名和密码登录
2. 登录成功后会自动跳转到管理界面
## 功能模块
### 1. 仪表盘
显示系统概览信息:
- 用户总数
- 路由总数
- 日志条目数
- 服务器时间
### 2. 路由管理
可以添加、编辑、删除路由:
- **HTTP 方法**GET、POST、PUT、DELETE、PATCH
- **路径**:路由路径(如 `/api/example`
- **类型**
- `view`:视图路由
- `json`JSON 接口
- `file`:文件路由
- `static`:静态文件
- `custom`:自定义处理
- **处理器/文件路径**:处理函数或文件路径
- **描述**:路由描述(可选)
- **启用状态**:是否启用该路由
- **排序**:路由执行顺序
### 3. 文件管理
- 浏览服务器文件
- 查看文件内容
- 编辑文件(需要手动实现保存功能)
### 4. 配置管理
可以编辑以下配置文件:
- `tool-status.json`
- `update-info.json`
- `media-types.json`
操作步骤:
1. 选择要编辑的配置文件
2. 点击"加载配置"加载当前配置
3. 在编辑器中修改 JSON 内容
4. 点击"保存配置"保存更改
### 5. 日志查看
- 实时查看系统日志
- 支持刷新和清空日志
- 日志级别:INFO、WARN、ERROR
## API 接口
### 认证接口
- `POST /admin/register` - 用户注册
- `POST /admin/login` - 用户登录
- `POST /admin/logout` - 用户登出
- `GET /admin/me` - 获取当前用户信息
### 管理接口(需要管理员权限)
- `GET /admin/api/logs` - 获取日志
- `GET /admin/api/routes` - 获取所有路由
- `POST /admin/api/routes` - 创建路由
- `PUT /admin/api/routes/:id` - 更新路由
- `DELETE /admin/api/routes/:id` - 删除路由
- `GET /admin/api/files` - 获取文件列表
- `GET /admin/api/file` - 读取文件
- `POST /admin/api/file` - 保存文件
- `PUT /admin/api/config` - 更新配置文件
- `GET /admin/api/system` - 获取系统信息
- `POST /admin/api/reload` - 热重载(需要重启服务器)
## 安全说明
1. **密码强度**:系统强制要求强密码,防止弱密码攻击
2. **JWT 认证**:使用 JWT Token 进行身份验证
3. **权限控制**:只有管理员可以访问管理功能
4. **路径验证**:文件操作会验证路径,防止目录遍历攻击
## 数据库
系统使用 SQLite 数据库,数据库文件位于 `data/app.db`
### 数据表
- **users**:用户表
- id, username, email, password, is_admin, is_active
- **routes**:路由表
- id, method, path, type, handler, description, is_active, order
## 注意事项
1. **第一个用户**:第一个注册的用户自动成为管理员,请妥善保管账号
2. **热重载**:路由热重载功能需要重启服务器才能生效
3. **文件编辑**:文件编辑功能需要谨慎使用,建议先备份
4. **日志限制**:日志缓冲区最多保存 1000 条记录
## 故障排除
### 无法登录
1. 检查用户名和密码是否正确
2. 确认账户未被禁用(is_active = true
3. 检查浏览器 Cookie 是否被禁用
### 权限不足
1. 确认当前用户是管理员(is_admin = true
2. 检查 Token 是否有效
3. 尝试重新登录
### 数据库错误
1. 检查 `data` 目录权限
2. 确认 SQLite 数据库文件可写
3. 查看服务器日志获取详细错误信息
## 开发扩展
### 添加新的管理功能
1.`handlers/admin.go` 中添加处理函数
2.`config/routes.go` 中注册路由
3. 在前端 `admin.html``admin.js` 中添加界面
### 自定义日志记录
使用 `handlers.AddLog(level, message)` 添加日志到缓冲区。
## 技术支持
如有问题,请查看服务器日志或联系开发团队。