做统一认证登录

This commit is contained in:
2026-09-19 21:44:04 +08:00
parent 1a4471e34d
commit fa281363fb
78 changed files with 8127 additions and 1442 deletions
+217
View File
@@ -0,0 +1,217 @@
# 平台更新功能开发总结
## ✅ 已完成的工作
### 1. 前端修改
#### 官网首页组件 (ScheduleSection.vue)
- ✅ 将"近期活动与发布节奏"改为"近期平台更新内容"
- ✅ 数据结构从硬编码改为从 API 动态获取
- ✅ 字段映射:`update_date`、`title`、`content`
- ✅ 添加加载状态和空数据提示
- ✅ 管理入口链接指向 `/platform/platformupgrade`
**关键改动**:
```vue
// 原数据结构
interface ScheduleItem {
range: string;
period: string;
name: string;
desc: string;
}
// 新数据结构
interface UpgradeItem {
id: number;
update_date: string;
title: string;
content: string;
create_time: string;
}
```
### 2. 后端开发
#### 数据模型 (platform_upgrade.go)
```go
type PlatformUpgrade struct {
ID uint64 `orm:"column(id);pk;auto"`
TenantID string `orm:"column(tenant_id);size(64)"`
UpdateDate string `orm:"column(update_date);size(20)"`
Title string `orm:"column(title);size(255)"`
Content string `orm:"column(content);type(text)"`
Sort int `orm:"column(sort);default(0)"`
Status int8 `orm:"column(status);default(1)"`
CreateUserID string `orm:"column(create_user_id);size(64)"`
CreateTime time.Time `orm:"column(create_time);auto_now_add"`
UpdateTime *time.Time `orm:"column(update_time);auto_now"`
DeleteTime *time.Time `orm:"column(delete_time);null"`
}
```
#### API 控制器 (api_platform_upgrade.go)
- **List()**: GET `/api/platform/upgrade/list`
- 支持 `limit` 参数(默认 10,最大 50)
- 按 `sort` 降序、`create_time` 降序排列
- 只返回 `status=1` 的记录
- **Detail()**: GET `/api/platform/upgrade/detail?id={id}`
- 获取单条更新详情
- 权限验证和参数校验
#### 路由注册 (api.go)
```go
beego.Router("/api/platform/upgrade/list", &controllers.ApiPlatformUpgradeController{}, "get:List")
beego.Router("/api/platform/upgrade/detail", &controllers.ApiPlatformUpgradeController{}, "get:Detail")
```
### 3. 管理平台页面 (platformupgrade/index.vue)
完整的管理界面,包含:
- ✅ 数据表格展示
- ✅ 新增/编辑对话框
- ✅ 删除确认
- ✅ 表单验证
- ✅ 排序和状态管理
**功能特性**:
- 日期选择器
- HTML 内容输入
- 数字输入(排序)
- 状态切换(显示/隐藏)
### 4. 数据库脚本 (platform_upgrade.sql)
提供完整的建表 SQL 和示例数据:
- ✅ 表结构定义
- ✅ 索引优化
- ✅ 3 条示例数据(V3.0 版本发布、OA 升级、CRM 优化)
- ✅ UTF8MB4 字符集支持
### 5. 文档
- ✅ 《平台更新功能说明.md》- 详细使用文档
- ✅ 《开发总结.md》- 本文档
## 📁 文件清单
```
e:\Demo\Go\yunzerwebsiteallinone\
├── go/
│ ├── models/
│ │ └── platform_upgrade.go # 新增:数据模型
│ ├── controllers/
│ │ └── api_platform_upgrade.go # 新增:API 控制器
│ └── routers/
│ └── api/
│ └── api.go # 修改:注册新路由
│
├── website/
│ └── src/views/home/components/
│ └── ScheduleSection.vue # 修改:官网首页组件
│
├── platform/
│ └── src/views/platform/
│ └── platformupgrade/
│ └── index.vue # 新增:管理页面
│
└── docs/
├── sql/
│ └── platform_upgrade.sql # 新增:SQL 脚本
└── 平台更新功能说明.md # 新增:使用说明
└── 开发总结.md # 新增:本文档
```
## 🚀 部署步骤
### Step 1: 执行 SQL 脚本
```bash
# 在 MySQL 中执行
source e:\Demo\Go\yunzerwebsiteallinone\docs\sql\platform_upgrade.sql
```
### Step 2: 重启后端服务
```bash
cd e:\Demo\Go\yunzerwebsiteallinone\go
# 重新编译运行
bee run
# 或
go build -o main.exe
./main.exe
```
### Step 3: 测试功能
1. 访问官网首页,查看更新内容展示
2. 访问后台管理页面,进行增删改查操作
3. 调用 API 接口验证数据
## 🔍 技术要点
### 1. 前后端分离架构
- 前端通过 AJAX 请求获取数据
- 后端提供 RESTful API
- 数据格式统一为 JSON
### 2. 软删除机制
- 使用 `delete_time` 字段实现软删除
- 查询时过滤 `delete_time__isnull`
- 保留历史记录便于追溯
### 3. 排序策略
- `sort` 字段控制显示顺序
- 数值越大越靠前
- 支持管理员灵活调整
### 4. 租户隔离设计
- `tenant_id` 字段预留租户标识
- 当前实现为全局显示(空字符串)
- 未来可扩展为按租户隔离
### 5. HTML 内容支持
- `content` 字段使用 TEXT 类型
- 支持富文本 HTML 格式
- 前端可渲染格式化内容
## 📊 数据流程
```mermaid
graph LR
A[管理员] -->|增删改查 | B(后台管理页面)
B -->|CRUD 操作 | C[后端 API]
C -->|读写 | D[(MySQL 数据库)]
E[官网首页] -->|GET /api/platform/upgrade/list| C
C -->|返回数据 | E
E -->|展示 | F[访客]
```
## ⚠️ 注意事项
1. **数据库连接**: 确保数据库连接正常
2. **路由注册**: 后端必须重启才能生效
3. **权限配置**: 如需后台管理,需配置菜单权限
4. **数据安全**: 建议对 HTML 内容进行 XSS 过滤
5. **性能优化**: 大数据量时需考虑分页和缓存
## 🔄 后续优化建议
1. **分页功能**: 当前列表不分页,数据量大时需优化
2. **富文本编辑器**: 管理页面可使用 Quill/CKEditor 等编辑器
3. **版本对比**: 增加版本号字段,支持版本对比功能
4. **附件上传**: 支持上传更新相关的安装包、文档等
5. **分类标签**: 增加功能分类(CRM/OA/ERP/CMS)
6. **统计功能**: 记录阅读量、点赞数等互动数据
7. **推送通知**: 更新时自动通知用户
## 📞 联系方式
如有问题,请查阅:
- 《平台更新功能说明.md》
- 项目 README
- 相关代码注释
---
**开发完成时间**: 2026-09-18
**开发者**: AI Assistant
**版本**: v1.0.0