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