# CMS API 2.0 - 新数据库结构版本 ## 🎉 项目概述 基于新数据库结构重新开发的企业级CMS API系统,采用GoFrame v2.6.4框架,支持完整的RBAC权限管理、内容管理、产品管理等功能。 ## 🚀 主要特性 ### ✅ 已完成功能 - **规范化数据库设计**:统一的表结构和命名规范 - **RBAC权限系统**:用户-角色-权限完整模型 - **JWT认证**:安全的Token认证机制 - **用户管理**:完整的用户CRUD操作 - **中间件支持**:CORS、认证、响应处理 - **企业官网功能**:产品、服务、案例、团队管理 ### 🔄 数据库结构优势 - **用户管理模块**:统一用户表 + RBAC权限系统 - **内容管理模块**:文章、页面、分类、标签、媒体文件 - **企业官网模块**:产品、服务、案例、团队、询价、友情链接 - **系统管理模块**:配置管理、操作日志 ## 📋 快速开始 ### 1. 数据库初始化 ```bash # 执行数据库初始化脚本 mysql -u root -p < database_design_new.sql ``` ### 2. 启动服务器 ```bash # 使用启动脚本 ./start_new_server.ps1 # 或手动启动 go mod tidy go run main_new.go ``` ### 3. 测试API ```bash # 运行测试脚本 ./test_new_api.ps1 ``` ## 🔧 配置说明 ### 数据库配置 (config/config.yaml) ```yaml database: default: host: "127.0.0.1" port: "3306" user: "root" pass: "root" name: "cc_cms_gf" # 数据库名称 type: "mysql" ``` ### JWT配置 ```yaml jwt: signingKey: "cms_jwt_signing_key_2024" expire: 7200 # 2小时 ``` ## 📡 API接口 ### 公开接口 - `GET /` - 服务状态检查 - `GET /test/db` - 数据库连接测试 - `POST /api/public/login` - 用户登录 - `GET /api/public/configs` - 获取公开配置 ### 用户接口(需要认证) - `GET /api/user/profile` - 获取用户信息 - `PUT /api/user/profile` - 更新用户信息 - `POST /api/user/change-password` - 修改密码 - `POST /api/user/logout` - 用户登出 ### 管理员接口(需要认证) - `GET /api/admin/users` - 用户列表 - `POST /api/admin/users` - 创建用户 - `GET /api/admin/users/:id` - 用户详情 - `PUT /api/admin/users/:id` - 更新用户 - `DELETE /api/admin/users/:id` - 删除用户 ## 🗄️ 数据库表结构 ### 核心表 - `users` - 用户表(统一管理) - `roles` - 角色表 - `permissions` - 权限表 - `user_roles` - 用户角色关联 - `role_permissions` - 角色权限关联 ### 内容管理 - `categories` - 分类表 - `tags` - 标签表 - `articles` - 文章表 - `pages` - 页面表 - `media_files` - 媒体文件表 ### 企业官网 - `products` - 产品表 - `services` - 服务表 - `cases` - 案例表 - `team_members` - 团队成员表 - `inquiries` - 客户询价表 - `links` - 友情链接表 ### 系统管理 - `system_configs` - 系统配置表 - `operation_logs` - 操作日志表 ## 🔐 默认账号 - **用户名**: admin - **密码**: admin123 - **角色**: 超级管理员 ## 📁 项目结构 ``` cms-api/ ├── config/ # 配置文件 ├── internal/ │ ├── controller/ # 控制器层 │ ├── service/ # 服务层 │ ├── dao/ # 数据访问层 │ ├── model/ # 数据模型 │ └── middleware/ # 中间件 ├── database_design_new.sql # 数据库初始化脚本 ├── main_new.go # 主程序入口 ├── start_new_server.ps1 # 启动脚本 ├── test_new_api.ps1 # 测试脚本 └── README_NEW.md # 项目说明 ``` ## 🔄 版本对比 | 功能 | 旧版本 | 新版本 | |------|--------|--------| | 数据库设计 | 不规范,表结构混乱 | 规范化设计,统一命名 | | 用户管理 | 分离的users和admins表 | 统一的users表 | | 权限系统 | 简单的JSON字符串 | 完整的RBAC模型 | | 企业功能 | 缺失 | 完整的企业官网功能 | | 扩展性 | 差 | 高度可扩展 | ## 🚧 待开发功能 - [ ] 文章管理API - [ ] 产品管理API - [ ] 服务管理API - [ ] 案例管理API - [ ] 系统配置API - [ ] 文件上传功能 - [ ] 邮件通知功能 ## 🐛 问题排查 ### 常见问题 1. **数据库连接失败** - 检查MySQL服务是否启动 - 确认数据库配置正确 - 确保数据库cc_cms_gf已创建 2. **Token认证失败** - 检查JWT配置 - 确认Token格式正确 - 验证用户状态是否正常 3. **权限不足** - 检查用户角色分配 - 确认权限配置正确 ## 📞 技术支持 如有问题,请检查: 1. 数据库是否正确初始化 2. 配置文件是否正确 3. 依赖是否完整安装 4. 服务器端口是否被占用 --- **CMS API 2.0** - 企业级内容管理系统后端API