4.7 KiB
4.7 KiB
CMS API 2.0 - 新数据库结构版本
🎉 项目概述
基于新数据库结构重新开发的企业级CMS API系统,采用GoFrame v2.6.4框架,支持完整的RBAC权限管理、内容管理、产品管理等功能。
🚀 主要特性
✅ 已完成功能
- 规范化数据库设计:统一的表结构和命名规范
- RBAC权限系统:用户-角色-权限完整模型
- JWT认证:安全的Token认证机制
- 用户管理:完整的用户CRUD操作
- 中间件支持:CORS、认证、响应处理
- 企业官网功能:产品、服务、案例、团队管理
🔄 数据库结构优势
- 用户管理模块:统一用户表 + RBAC权限系统
- 内容管理模块:文章、页面、分类、标签、媒体文件
- 企业官网模块:产品、服务、案例、团队、询价、友情链接
- 系统管理模块:配置管理、操作日志
📋 快速开始
1. 数据库初始化
# 执行数据库初始化脚本
mysql -u root -p < database_design_new.sql
2. 启动服务器
# 使用启动脚本
./start_new_server.ps1
# 或手动启动
go mod tidy
go run main_new.go
3. 测试API
# 运行测试脚本
./test_new_api.ps1
🔧 配置说明
数据库配置 (config/config.yaml)
database:
default:
host: "127.0.0.1"
port: "3306"
user: "root"
pass: "root"
name: "cc_cms_gf" # 数据库名称
type: "mysql"
JWT配置
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
- 文件上传功能
- 邮件通知功能
🐛 问题排查
常见问题
-
数据库连接失败
- 检查MySQL服务是否启动
- 确认数据库配置正确
- 确保数据库cc_cms_gf已创建
-
Token认证失败
- 检查JWT配置
- 确认Token格式正确
- 验证用户状态是否正常
-
权限不足
- 检查用户角色分配
- 确认权限配置正确
📞 技术支持
如有问题,请检查:
- 数据库是否正确初始化
- 配置文件是否正确
- 依赖是否完整安装
- 服务器端口是否被占用
CMS API 2.0 - 企业级内容管理系统后端API