first commit

This commit is contained in:
2026-06-03 10:09:03 +08:00
commit 81f5039458
6266 changed files with 188236 additions and 0 deletions
+392
View File
@@ -0,0 +1,392 @@
# 存储功能部署检查清单
## 部署前准备
### 1. 环境检查
- [ ] Go 1.17+ 已安装
- [ ] MySQL 5.7+ 已安装并运行
- [ ] Node.js 14+ 已安装(前端)
- [ ] 网络连接正常
### 2. 依赖安装
```bash
# 后端依赖
cd go
go mod download
go mod tidy
# 前端依赖(如需要)
cd platform
npm install
```
### 3. 数据库迁移
```bash
# 备份数据库
mysqldump -u root -p your_database > backup_$(date +%Y%m%d).sql
# 执行迁移
mysql -u root -p your_database < go/migrations/add_storage_config_table.sql
# 验证表创建
mysql -u root -p your_database -e "SHOW TABLES LIKE 'yz_system_storage_config';"
mysql -u root -p your_database -e "DESC yz_system_storage_config;"
```
## 部署步骤
### 1. 后端部署
```bash
cd go
# 编译
go build -o server main.go
# 或使用bee工具
bee run
```
### 2. 前端部署
```bash
cd platform
# 开发环境
npm run dev
# 生产环境
npm run build
```
### 3. 配置验证
访问:http://localhost:8080/platform/storageConfig
预期响应:
```json
{
"code": 200,
"msg": "success",
"data": {
"storage_type": "local",
...
}
}
```
## 功能测试
### 1. 存储配置测试
#### 测试本地存储
1. 登录平台管理后台
2. 进入:系统设置 → 平台设置 → 存储配置
3. 选择"本地存储"
4. 点击"保存设置"
5. 验证保存成功
#### 测试七牛云存储
1. 准备七牛云账号和配置信息
2. 选择"七牛云存储"
3. 填写配置:
- AccessKey: `your_access_key`
- SecretKey: `your_secret_key`
- Bucket: `your_bucket`
- CDN域名: `https://cdn.example.com`
- 存储区域: `z0`
4. 点击"保存设置"
5. 验证保存成功
### 2. 文件上传测试
#### 本地存储上传
1. 配置为本地存储
2. 上传测试文件
3. 检查文件是否保存到 `uploads/` 目录
4. 验证文件URL格式:`/uploads/2024/01/01/xxx.jpg`
5. 访问文件URL,确认可以访问
#### 七牛云上传
1. 配置为七牛云存储
2. 上传测试文件
3. 检查数据库记录
4. 验证文件URL格式:`https://cdn.example.com/2024/01/01/xxx.jpg`
5. 访问文件URL,确认可以访问
### 3. 文件迁移测试
1. 准备一些本地存储的文件
2. 配置七牛云存储
3. 调用迁移API
```bash
curl -X POST http://localhost:8080/platform/storage/migrateToQiniu
```
4. 检查迁移进度和结果
5. 验证文件URL已更新
6. 访问新URL,确认文件可访问
## 性能测试
### 1. 上传性能
```bash
# 测试单文件上传
time curl -F "file=@test.jpg" http://localhost:8080/platform/uploadfile
# 测试批量上传
for i in {1..10}; do
curl -F "file=@test$i.jpg" http://localhost:8080/platform/uploadfile &
done
wait
```
### 2. 迁移性能
- 准备100个测试文件
- 执行迁移
- 记录总耗时
- 计算平均速度
## 监控检查
### 1. 日志检查
```bash
# 查看服务日志
tail -f logs/server.log
# 查看错误日志
grep ERROR logs/server.log
# 查看上传日志
grep "文件上传" logs/server.log
```
### 2. 数据库检查
```sql
-- 检查存储配置
SELECT * FROM yz_system_storage_config;
-- 检查文件记录
SELECT COUNT(*) FROM yz_system_files;
-- 检查最近上传的文件
SELECT * FROM yz_system_files ORDER BY create_time DESC LIMIT 10;
```
### 3. 存储空间检查
```bash
# 本地存储空间
du -sh uploads/
# 七牛云存储空间(在七牛云控制台查看)
```
## 安全检查
### 1. 配置安全
- [ ] SecretKey 不在日志中输出
- [ ] 配置文件权限正确(600)
- [ ] 数据库连接使用强密码
- [ ] API接口有认证保护
### 2. 文件安全
- [ ] 文件大小限制生效(200MB)
- [ ] 文件类型验证正常
- [ ] 恶意文件上传被拦截
- [ ] 文件访问权限正确
### 3. 网络安全
- [ ] HTTPS配置正确
- [ ] CDN域名已备案
- [ ] 防火墙规则正确
- [ ] 跨域配置正确
## 回滚计划
### 如果部署失败
1. 停止服务
```bash
pkill -f server
```
2. 恢复数据库
```bash
mysql -u root -p your_database < backup_YYYYMMDD.sql
```
3. 恢复代码
```bash
git checkout previous_version
```
4. 重启服务
```bash
cd go
bee run
```
## 常见问题
### 问题1: 依赖安装失败
**解决方法:**
```bash
# 清理缓存
go clean -modcache
# 使用代理
export GOPROXY=https://goproxy.cn,direct
# 重新安装
go mod download
```
### 问题2: 数据库迁移失败
**解决方法:**
```bash
# 检查表是否已存在
mysql -u root -p your_database -e "SHOW TABLES LIKE 'yz_system_storage_config';"
# 如果存在,先删除
mysql -u root -p your_database -e "DROP TABLE IF EXISTS yz_system_storage_config;"
# 重新执行迁移
mysql -u root -p your_database < go/migrations/add_storage_config_table.sql
```
### 问题3: 七牛云上传失败
**检查项:**
- AccessKey 和 SecretKey 是否正确
- Bucket 是否存在
- 存储区域是否匹配
- 网络连接是否正常
**测试连接:**
```bash
curl -I https://your-cdn-domain.com
```
### 问题4: 文件访问404
**本地存储:**
```bash
# 检查文件是否存在
ls -la uploads/2024/01/01/
# 检查Nginx配置
nginx -t
# 检查文件权限
chmod 644 uploads/2024/01/01/*
```
**七牛云:**
- 检查CDN域名是否正确
- 检查文件是否上传成功
- 检查空间访问权限
## 部署完成确认
### 功能确认
- [ ] 存储配置页面正常显示
- [ ] 本地存储配置保存成功
- [ ] 七牛云配置保存成功
- [ ] 本地存储上传正常
- [ ] 七牛云上传正常
- [ ] 文件访问正常
- [ ] 文件迁移功能正常
- [ ] 错误处理正常
- [ ] 日志记录正常
### 性能确认
- [ ] 上传速度正常(< 5秒/10MB
- [ ] 访问速度正常(< 1秒)
- [ ] 迁移速度正常(> 10文件/秒)
- [ ] 内存使用正常(< 500MB
- [ ] CPU使用正常(< 50%
### 安全确认
- [ ] 认证保护生效
- [ ] 文件大小限制生效
- [ ] 文件类型验证生效
- [ ] 敏感信息不泄露
- [ ] 日志不包含密钥
## 上线通知
### 通知内容
```
【系统升级通知】
尊敬的用户:
系统已完成存储功能升级,新增以下功能:
1. 支持七牛云存储
2. 支持存储配置管理
3. 支持文件迁移功能
升级后的优势:
- 更快的访问速度(CDN加速)
- 更高的可靠性(云端备份)
- 更低的成本(按需付费)
如有问题,请联系技术支持。
感谢您的支持!
```
## 后续优化
### 短期优化(1周内)
- [ ] 添加上传进度显示
- [ ] 添加批量上传功能
- [ ] 优化错误提示
- [ ] 添加使用统计
### 中期优化(1个月内)
- [ ] 添加图片压缩
- [ ] 添加缩略图生成
- [ ] 添加水印功能
- [ ] 添加访问统计
### 长期优化(3个月内)
- [ ] 支持更多存储服务
- [ ] 添加文件管理界面
- [ ] 添加自动备份
- [ ] 添加CDN配置
---
**部署完成后,请在此签名确认:**
- 部署人员:__________
- 部署时间:__________
- 测试人员:__________
- 测试时间:__________
- 审核人员:__________
- 审核时间:__________