Files
nl_cms-api/README_NEW.md
2025-07-29 12:45:07 +08:00

188 lines
4.7 KiB
Go
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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