188 lines
4.7 KiB
Go
188 lines
4.7 KiB
Go
# 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 |