Files
QWQLwToo 079ee4eaeb
build-winui / winui (push) Has been cancelled
Add server components
2026-06-26 13:28:09 +08:00

170 lines
4.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 后台管理系统使用说明
## 功能概述
后台管理系统提供了完整的用户认证、内容管理、路由管理、日志查看等功能。
## 访问地址
访问 `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)` 添加日志到缓冲区。
## 技术支持
如有问题,请查看服务器日志或联系开发团队。