# 后台管理系统设计与开发 ## 1. 系统架构设计 ### 1.1 技术栈 - **前端**:Vue3 + TypeScript + Vite + Element Plus - **后端**:Golang + Gin + MySQL - **认证**:JWT - **权限控制**:基于角色的访问控制(RBAC) - **可视化**:ECharts ### 1.2 数据库设计 #### 1.2.1 现有表结构 - posts(博客文章表) - works(作品表) - snippets(代码片段表) - users(用户表) - tags(标签表) - post_tags(文章标签关联表) - settings(配置表) - access_logs(访问日志表) #### 1.2.2 新增表结构 - post_history(文章历史记录表):用于记录文章的编辑修改轨迹 ### 1.3 后端API设计 #### 1.3.1 认证模块 - POST /api/admin/login - 登录 - POST /api/admin/logout - 登出 - POST /api/admin/refresh - 刷新令牌 #### 1.3.2 用户管理 - GET /api/admin/users - 获取用户列表 - POST /api/admin/users - 创建用户 - GET /api/admin/users/:id - 获取用户详情 - PUT /api/admin/users/:id - 更新用户 - DELETE /api/admin/users/:id - 删除用户 #### 1.3.3 角色管理 - GET /api/admin/roles - 获取角色列表 - POST /api/admin/roles - 创建角色 - GET /api/admin/roles/:id - 获取角色详情 - PUT /api/admin/roles/:id - 更新角色 - DELETE /api/admin/roles/:id - 删除角色 #### 1.3.4 文章管理 - GET /api/admin/posts - 获取文章列表 - POST /api/admin/posts - 创建文章 - GET /api/admin/posts/:id - 获取文章详情 - PUT /api/admin/posts/:id - 更新文章 - DELETE /api/admin/posts/:id - 删除文章 - GET /api/admin/posts/:id/history - 获取文章历史记录 - GET /api/admin/posts/:id/history/:version - 获取文章指定版本 - POST /api/admin/posts/:id/history/:version/restore - 恢复文章到指定版本 #### 1.3.5 作品管理 - GET /api/admin/works - 获取作品列表 - POST /api/admin/works - 创建作品 - GET /api/admin/works/:id - 获取作品详情 - PUT /api/admin/works/:id - 更新作品 - DELETE /api/admin/works/:id - 删除作品 #### 1.3.6 代码片段管理 - GET /api/admin/snippets - 获取代码片段列表 - POST /api/admin/snippets - 创建代码片段 - GET /api/admin/snippets/:id - 获取代码片段详情 - PUT /api/admin/snippets/:id - 更新代码片段 - DELETE /api/admin/snippets/:id - 删除代码片段 #### 1.3.7 系统配置 - GET /api/admin/settings - 获取系统配置 - PUT /api/admin/settings - 更新系统配置 #### 1.3.8 操作日志 - GET /api/admin/logs - 获取操作日志 - GET /api/admin/logs/stats - 获取日志统计 #### 1.3.9 数据统计 - GET /api/admin/stats - 获取系统统计数据 ### 1.4 前端界面设计 #### 1.4.1 页面结构 - 登录页面 - 仪表盘(首页) - 用户管理 - 角色管理 - 文章管理 - 文章列表 - 文章编辑 - 文章历史记录 - 作品管理 - 代码片段管理 - 系统配置 - 操作日志 - 数据统计 #### 1.4.2 权限控制 - 基于角色的菜单权限 - 基于权限的按钮级控制 ## 2. 实施步骤 ### 2.1 后端开发 1. 创建文章历史记录模型 2. 实现文章历史记录相关API 3. 实现用户认证和授权中间件 4. 实现用户管理API 5. 实现角色管理API 6. 实现文章管理API(含历史记录功能) 7. 实现作品管理API 8. 实现代码片段管理API 9. 实现系统配置API 10. 实现操作日志API 11. 实现数据统计API ### 2.2 前端开发 1. 创建管理系统前端项目 2. 实现登录页面 3. 实现仪表盘 4. 实现用户管理页面 5. 实现角色管理页面 6. 实现文章管理页面 7. 实现作品管理页面 8. 实现代码片段管理页面 9. 实现系统配置页面 10. 实现操作日志页面 11. 实现数据统计页面 ### 2.3 测试与部署 1. 单元测试 2. 集成测试 3. 安全测试 4. 部署到生产环境 ## 3. 安全设计 ### 3.1 数据安全 - 密码加密存储(bcrypt) - JWT令牌认证 - HTTPS传输 ### 3.2 防止攻击 - SQL注入防护(使用参数化查询) - XSS攻击防护(输入验证、输出转义) - CSRF防护 - 接口限流 ### 3.3 日志审计 - 操作日志记录 - 登录日志记录 - 异常日志记录 ## 4. 性能优化 ### 4.1 后端优化 - 数据库索引优化 - 缓存策略 - 连接池优化 ### 4.2 前端优化 - 路由懒加载 - 组件按需加载 - 图片懒加载 - 接口请求优化 ## 5. 响应式设计 - 适配桌面端、平板、移动端 - 响应式布局 - 自适应菜单