Skip to content

Commit 1395006

Browse files
committed
refactor(frontend): 重构 GuidedParamEditor 组件为模块化架构
- 将 GuidedParamEditor 单文件组件拆分为多个子组件: - CommandPreview: 命令行预览 - ParamConfigPanel: 参数配置面板 - ParamSelectPanel: 参数选择面板 - SelectedParamsPanel: 已选参数面板 - TechniqueInput: 技术选择输入组件 - 重构 paramDefinitions 为模块化结构(15 个分类文件): - 支持完整 215 个 SQLMap 参数 - 新增安全等级标识和警告信息 - 按参数类别分文件组织 - 更新 .qoder/commands 命令文件格式 - 更新中英文 README 文档
1 parent 1d56a7c commit 1395006

34 files changed

Lines changed: 4148 additions & 841 deletions

.qoder/commands/add_git_tag_and_push_new_version.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

.qoder/commands/commit.md

Lines changed: 170 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,170 @@
1+
---
2+
description: 智能代码提交 - 自动过滤垃圾文件,生成规范的语义化提交信息
3+
---
4+
5+
## Overview
6+
执行代码提交前的智能检查:过滤临时文件和日志 → 检查变更内容 → 生成符合 Conventional Commits 规范的提交信息。
7+
8+
> 如需正式发布版本,请使用 `/release` 命令
9+
10+
## Pre-flight Checks
11+
- [ ] 有待提交的代码变更
12+
- [ ] 已完成本地测试
13+
- [ ] 工作区无垃圾文件
14+
15+
## Execution Steps
16+
17+
### 1. 检查变更状态
18+
```bash
19+
git status
20+
```
21+
22+
**需要排除的垃圾文件:**
23+
| 类型 | 文件模式 |
24+
|------|---------|
25+
| 日志/重定向 | `*.log`, `nul`, `*.out`, `*.err` |
26+
| 截图 | `*.png`, `*.jpg`(除 `tmp/img/``doc/` 目录) |
27+
| 临时文件 | `*.tmp`, `*.swp`, `.DS_Store`, `Thumbs.db` |
28+
| 构建产物 | `target/`, `dist/`, `node_modules/`, `__pycache__/` |
29+
| IDE 配置 | `.idea/workspace.xml`, `.vscode/` |
30+
| 数据库 | `*.db`, `*.sqlite`(除示例数据) |
31+
32+
**处理垃圾文件:**
33+
```powershell
34+
# [PowerShell] 查看未跟踪文件
35+
git status --porcelain | Select-String "^\?\?"
36+
37+
# [Bash] 查看未跟踪文件
38+
git status --porcelain | grep "^??"
39+
```
40+
41+
```bash
42+
# 从暂存区移除垃圾文件(通用)
43+
git reset HEAD <垃圾文件>
44+
45+
# [PowerShell] 添加到 .gitignore
46+
Add-Content .gitignore "*.log"
47+
48+
# [Bash] 添加到 .gitignore
49+
echo "*.log" >> .gitignore
50+
```
51+
52+
### 2. 暂存变更
53+
```bash
54+
# 添加指定文件
55+
git add src/ README.md
56+
57+
# 或添加所有变更(确认无垃圾文件后)
58+
git add .
59+
60+
# 查看暂存内容
61+
git diff --cached --stat
62+
```
63+
64+
### 3. 生成提交信息
65+
66+
**Conventional Commits 格式:**
67+
```
68+
<type>(<scope>): <subject>
69+
70+
<body>
71+
72+
<footer>
73+
```
74+
75+
**Type 类型:**
76+
| Type | 说明 | 版本影响 |
77+
|------|------|---------|
78+
| `feat` | 新功能 | 次版本+1 |
79+
| `fix` | Bug 修复 | 修订号+1 |
80+
| `docs` | 文档更新 ||
81+
| `refactor` | 重构(无功能变化) ||
82+
| `perf` | 性能优化 ||
83+
| `test` | 测试相关 ||
84+
| `chore` | 构建/工具/依赖 ||
85+
| `style` | 代码格式(无逻辑变化) ||
86+
87+
**Scope 范围(本项目):**
88+
- `backend` - 后端 Python 代码
89+
- `frontend` - 前端 Vue 代码
90+
- `burp` - Burp Suite 插件
91+
- `vulnlab` - 靶场
92+
- `api` - API 相关
93+
- `ui` - 界面相关
94+
95+
**示例:**
96+
```bash
97+
# 新功能
98+
git commit -m "feat(backend): 添加任务批量删除功能
99+
100+
- 新增 /api/tasks/batch-delete 接口
101+
- 支持按状态过滤批量删除
102+
- 添加确认弹窗防止误操作
103+
104+
Closes #123"
105+
106+
# Bug 修复
107+
git commit -m "fix(frontend): 修复任务列表分页显示错误
108+
109+
修复当总数为 0 时分页器显示 NaN 的问题"
110+
111+
# 文档更新
112+
git commit -m "docs: 更新 API 文档"
113+
114+
# 重构
115+
git commit -m "refactor(api): 统一响应格式"
116+
117+
# 多模块变更
118+
git commit -m "feat: 支持 Header 作用域配置
119+
120+
- backend: 新增 scope_matcher 模块
121+
- frontend: 添加 ScopeConfigPanel 组件
122+
- 支持协议、主机、端口、路径匹配"
123+
```
124+
125+
### 4. 推送到远程
126+
```bash
127+
# 推送到 master 分支
128+
git push origin master
129+
```
130+
131+
## Post-commit
132+
133+
**后续操作建议:**
134+
- 如需发布版本 → 执行 `/release` 命令
135+
- 如需创建 PR → 在 GitHub 页面操作
136+
- 如需回滚 → 见下方 Rollback
137+
138+
## Rollback
139+
140+
**撤销最近一次提交(保留代码):**
141+
```bash
142+
git reset --soft HEAD~1
143+
```
144+
145+
**撤销最近一次提交(丢弃代码):**
146+
```bash
147+
git reset --hard HEAD~1
148+
```
149+
150+
**修改最近一次提交信息:**
151+
```bash
152+
git commit --amend -m "新的提交信息"
153+
```
154+
155+
## Safety Warnings
156+
157+
⚠️ **禁止提交:**
158+
- `*.log`, `nul`, `*.out` - 日志/重定向文件
159+
- `.env`, `*credentials*`, `*secret*` - 敏感信息
160+
- `*.db` - 本地数据库(除示例数据)
161+
- 大于 10MB 的二进制文件
162+
163+
⚠️ **提交前检查:**
164+
```bash
165+
# [PowerShell] 确认没有敏感文件
166+
git diff --cached --name-only | Select-String -Pattern "\.env|secret|password|credential"
167+
168+
# [Bash] 确认没有敏感文件
169+
git diff --cached --name-only | grep -E "\.env|secret|password|credential"
170+
```

.qoder/commands/git_add_commit_and_tag_push.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

.qoder/commands/release.md

Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
1+
---
2+
description: 发布新版本 - 同步版本号、更新变更日志、触发 GitHub Actions 自动构建
3+
---
4+
5+
## Overview
6+
执行完整的版本发布流程:同步所有组件版本号(后端、Burp 插件)→ 更新变更日志 → 创建 Git Tag → 推送触发 GitHub Actions 自动构建发布。
7+
8+
## Pre-flight Checks
9+
- [ ] 当前分支为 `master`(本项目默认分支)
10+
- [ ] 工作区干净(`git status` 无未提交的垃圾文件)
11+
- [ ] 最近的 commit 是稳定的
12+
- [ ] 已确定语义化版本号(如 `1.8.34`
13+
14+
## Execution Steps
15+
16+
### 1. 确定版本号
17+
```bash
18+
# 获取最新 tag,提取版本号
19+
git describe --tags --abbrev=0 2>/dev/null || echo "无历史 tag"
20+
21+
# 查看待发布的提交
22+
git log --oneline -10
23+
```
24+
25+
**版本号规则:**
26+
- 格式:`数字.数字.数字`(如 `1.8.34`,不含 `v` 前缀)
27+
- 必须大于当前最新版本
28+
- 语义化:破坏性变更→主版本,新功能→次版本,修复→修订号
29+
30+
### 2. 同步所有版本号(共 7 处)
31+
32+
#### 2.1 后端版本(1 处)
33+
| 文件 | 位置 | 格式 |
34+
|------|------|------|
35+
| `src/backEnd/config.py` | 第 7 行 | `VERSION = "1.8.34"` |
36+
37+
#### 2.2 Burp 插件版本(6 处)
38+
| 文件 | 位置 | 格式 |
39+
|------|------|------|
40+
| `src/burpEx/legacy-api/pom.xml` | 第 9 行 | `<version>1.8.34</version>` |
41+
| `src/burpEx/montoya-api/pom.xml` | 第 9 行 | `<version>1.8.34</version>` |
42+
| `src/burpEx/legacy-api/.../BurpExtender.java` | 第 46 行 | `EXTENSION_VERSION = "1.8.34"` |
43+
| `src/burpEx/legacy-api/.../AboutDialog.java` | 第 14 行 | `VERSION = "1.8.34"` |
44+
| `src/burpEx/montoya-api/.../SqlmapWebUIExtension.java` | 第 22 行 | `EXTENSION_VERSION = "1.8.34"` |
45+
| `src/burpEx/montoya-api/.../AboutDialog.java` | 第 14 行 | `VERSION = "1.8.34"` |
46+
47+
**批量替换命令:**
48+
```bash
49+
# [PowerShell] 查看当前版本(假设旧版本为 1.8.33)
50+
Select-String -Path "src/backEnd/config.py","src/burpEx/*/pom.xml","src/burpEx/*/src/main/java/com/sqlmapwebui/burp/*.java","src/burpEx/*/src/main/java/com/sqlmapwebui/burp/dialogs/AboutDialog.java" -Pattern "1.8.33"
51+
52+
# [Bash] 查看当前版本
53+
grep -rn "1.8.33" src/backEnd/config.py src/burpEx/*/pom.xml src/burpEx/*/src/main/java/com/sqlmapwebui/burp/*.java src/burpEx/*/src/main/java/com/sqlmapwebui/burp/dialogs/AboutDialog.java
54+
```
55+
56+
```bash
57+
# [PowerShell] 批量替换为新版本
58+
Get-ChildItem -Path src/backEnd/config.py,src/burpEx -Recurse -Include config.py,pom.xml,*.java | ForEach-Object {
59+
(Get-Content $_.FullName) -replace '1.8.33', '1.8.34' | Set-Content $_.FullName
60+
}
61+
62+
# [Bash] 批量替换为新版本
63+
find src/backEnd -name "config.py" -exec sed -i 's/1.8.33/1.8.34/g' {} \;
64+
find src/burpEx -name "pom.xml" -exec sed -i 's/1.8.33/1.8.34/g' {} \;
65+
find src/burpEx -name "*.java" -exec sed -i 's/"1.8.33"/"1.8.34"/g' {} \;
66+
```
67+
68+
**校验:**
69+
```bash
70+
# [PowerShell] 确认无遗漏
71+
Select-String -Path "src/backEnd/config.py","src/burpEx" -Pattern "旧版本号" -Recurse
72+
73+
# [Bash] 确认无遗漏
74+
grep -rn "旧版本号" src/backEnd/config.py src/burpEx/
75+
```
76+
77+
**校验清单:**
78+
- [ ] 7 处版本号已全部更新
79+
- [ ] 版本号格式正确(不含 `v` 前缀)
80+
81+
**提交:**
82+
```bash
83+
git add src/backEnd/config.py src/burpEx/
84+
git commit -m "chore: bump version to 1.8.34"
85+
```
86+
87+
### 3. 更新 README 变更日志
88+
`README.md` 的变更日志章节顶部插入新版本记录:
89+
90+
```markdown
91+
### [v1.8.34] - 2026-02-27
92+
93+
#### ✨ 新增
94+
- <新功能描述>
95+
96+
#### 🐛 修复
97+
- <问题修复>
98+
99+
#### 📝 其他
100+
- <其他变更>
101+
```
102+
103+
**提交:**
104+
```bash
105+
git add README.md
106+
git commit -m "docs: update changelog for v1.8.34"
107+
```
108+
109+
### 4. 创建 Tag 并推送
110+
111+
> **重要**:本项目使用 `release-v版本号` 格式的 Tag 触发 GitHub Actions
112+
113+
```bash
114+
# 创建带注释的 tag(必须使用 release-v 前缀)
115+
git tag -a release-v1.8.34 -m "Release v1.8.34
116+
117+
主要变更:
118+
- <简要描述>
119+
120+
详见 README.md 变更日志"
121+
122+
# 推送 commit
123+
git push origin master
124+
125+
# 推送 tag 触发自动发布
126+
git push origin release-v1.8.34
127+
```
128+
129+
### 5. 验证发布
130+
- [ ] GitHub Actions 工作流已触发(查看 Actions 标签页)
131+
- [ ] 等待构建完成(约 3-5 分钟)
132+
- [ ] GitHub Releases 页面出现新版本
133+
- [ ] 发布包完整:
134+
- `sqlmapwebui-1.8.34.zip`(后端+前端)
135+
- `sqlmap-webui-burp-montoya-1.8.34.jar`
136+
- `sqlmap-webui-burp-legacy-1.8.34.jar`
137+
- `vulnTestServer-1.8.34.zip`
138+
139+
## Error Recovery
140+
141+
**Tag 打错(未推送):**
142+
```bash
143+
git tag -d release-v错误版本
144+
# 修正后重新打 tag
145+
```
146+
147+
**Tag 已推送需要回滚:**
148+
```bash
149+
git push --delete origin release-v错误版本
150+
git tag -d release-v错误版本
151+
# 修正后重新执行第 4 步
152+
```
153+
154+
## Safety Warnings
155+
⚠️ **Tag 格式必须正确**
156+
- 必须使用 `release-v数字.数字.数字` 格式(如 `release-v1.8.34`
157+
- 错误格式不会触发 Actions:`v1.8.34``1.8.34``release-1.8.34`
158+
159+
⚠️ **版本号格式区分**
160+
- 代码中版本号:不含 `v` 前缀(`1.8.34`
161+
- Git Tag 版本号:含 `release-v` 前缀(`release-v1.8.34`
162+
- README 变更日志:含 `v` 前缀(`v1.8.34`
163+
164+
⚠️ **版本同步检查清单**
165+
- 后端 `config.py` 版本(1 处)
166+
- Burp pom.xml 版本(2 处)
167+
- Burp Java 常量版本(4 处)
168+
- 共 7 处,漏更会导致版本显示不一致

0 commit comments

Comments
 (0)