feat: 完善 /config /path /profile 命令的 add/remove/list 功能

- /config: 新增 add/remove 命令,支持存储桶的添加和删除(带引用检查)
- /path: 新增 remove 命令,支持预设路径删除(带引用检查)
- /profile: 已有 add/remove/list 功能,增强验证逻辑
- 帮助卡片:全面更新所有命令的详细说明和示例
- README.md: 补充完整的命令表格和使用示例
- CHANGELOG.md: 创建更新日志文档
- 安全保护:删除前检查引用关系,禁止删除 default 存储桶
This commit is contained in:
饭团
2026-03-14 20:16:05 +08:00
parent 4cf65bd9bd
commit 3045cc86d5
3 changed files with 311 additions and 12 deletions

137
CHANGELOG.md Normal file
View File

@@ -0,0 +1,137 @@
# 更新日志
## v5.1 - 2026-03-14
### ✨ 新增功能
#### `/config` 命令增强
-`add` - 添加存储桶配置
```bash
/config add <名称> <accessKey> <secretKey> <bucket> <region> <domain>
示例:/config add mybucket xxxxxx yyyyyy my-bucket z0 https://cdn.example.com
```
- ✅ `remove` - 删除存储桶配置(带引用检查)
```bash
/config remove <名称>
```
- ✅ `list` - 查看所有存储桶(已有)
- ✅ `set` - 修改配置项(已有)
**保护机制:**
- ⚠️ 不能删除 `default` 存储桶
- ⚠️ 删除前检查是否有上传配置引用该存储桶
---
#### `/path` 命令增强
- ✅ `add` - 添加预设路径(已有)
```bash
/path add <名称> <路径>
示例:/path add backup /backup/
```
- ✅ `remove` - 删除预设路径(带引用检查)
```bash
/path remove <名称>
```
- ✅ `list` - 查看所有预设路径(已有)
**保护机制:**
- ⚠️ 删除前检查是否有上传配置引用该路径
---
#### `/profile` 命令增强
- ✅ `add` - 添加上传配置模板(已有)
```bash
/profile add <名称> <存储桶> [路径键名]
示例:/profile add IPA 上传 default ipa
```
- ✅ `remove` - 删除上传配置模板(已有)
```bash
/profile remove <名称>
```
- ✅ `list` - 查看所有上传配置模板(已有)
**验证机制:**
- ✅ 添加时验证存储桶是否存在
- ✅ 添加时验证路径键名是否存在(如果提供)
---
### 📖 文档更新
#### 帮助卡片全面升级
- 详细说明了所有命令的用法
- 添加了完整的示例
- 增加了注意事项说明
- 优化了卡片布局和可读性
#### README.md 更新
- 补充了完整的命令表格
- 添加了每个命令的详细示例
- 分类整理了上传命令、存储桶配置、预设路径、上传配置模板
---
### 🛡️ 安全增强
1. **引用检查** - 删除存储桶/路径前自动检查是否被上传配置引用
2. **默认保护** - 禁止删除 default 存储桶
3. **参数验证** - 添加存储桶时验证区域代码
4. **存在性检查** - 添加上传配置时验证存储桶和路径是否存在
---
### 📝 使用示例
#### 完整配置流程
```bash
# 1. 添加存储桶
/config add production xxxxxx yyyyyy prod-bucket z0 https://cdn.example.com
# 2. 添加预设路径
/path add app /app/
/path add backup /backup/
# 3. 创建上传配置
/profile add 生产环境上传 production app
/profile add 备份上传 production backup
# 4. 查看配置
/config list
/path list
/profile list
# 5. 开始上传
/upload
```
#### 删除配置
```bash
# 删除上传配置
/profile remove 备份上传
# 删除预设路径
/path remove backup
# 删除存储桶(需确保没有被引用)
/config remove production
```
---
### 🐛 已知问题
---
### 📦 升级方式
```bash
# 重启服务
pm2 restart qiniu-bot
# 查看日志
pm2 logs qiniu-bot
```