Skip to content

Commit 17b76c8

Browse files
committed
docs: 更新备忘录 v14.2 设置面板重构+登录持久化
1 parent 6d3b205 commit 17b76c8

1 file changed

Lines changed: 78 additions & 1 deletion

File tree

开发备忘录.md

Lines changed: 78 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,87 @@
11
# TestPilot AI 开发备忘录
22

3-
> 最后更新:2026-03-25(✅ v14.0-G9 完成 + v14.1 蓝本规则架构重构
3+
> 最后更新:2026-03-26(✅ v14.2 设置面板重构 + 登录持久化修复
44
> 项目结构详见 README.md,此处不重复。
55
66
---
77

8+
## ✅ v14.2 设置面板重构 + 登录体验优化(2026-03-26)
9+
10+
### 核心变更
11+
12+
#### 1. 登录持久化(离线优先策略)
13+
- **问题**:每次 VS Code 重载都要重新登录
14+
- **根因**`_handleCheckAuth` 每次重载都调用 `cloudGetMe` 网络验证,失败就清除 token 退出
15+
- **修复**`extension/src/sidebarProvider.ts` - `_handleCheckAuth`):
16+
- secrets 里有 token + username → **立即**显示已登录(不等网络)
17+
- 后台静默调用 `cloudGetMe` 刷新用户信息
18+
- 网络失败时尝试 refresh token,仍失败则**静默忽略**(保持已登录状态)
19+
- **只有主动点"注销"才退出**,任何网络异常都不强制退出
20+
- RefreshToken 延长至 **30天**(原7天)
21+
22+
#### 2. 注销按钮样式
23+
- 从小型行内按钮改为**全宽按钮**(同登录按钮宽度),高度 28px
24+
- 样式:透明背景 + 灰框,不显眼但易点击
25+
- 新增 `.sdrop-logout-btn` CSS 类
26+
27+
#### 3. 设置面板全面重构
28+
新增三个功能项,布局结构:
29+
```
30+
个性化设置
31+
─────────────
32+
🌓 界面主题 [切换]
33+
☀️ 浅色模式
34+
─────────────
35+
🌐 界面语言 即将推出
36+
🔤 字体大小 即将推出
37+
💰 积分情况 99分 ← 新增,点击展开详情面板
38+
├ 剩余积分: 99 分
39+
├ 当前套餐: 免费版
40+
└ 充值和升级套餐即将推出
41+
⏱ 步骤间隔 [500] ms ← 新增,默认500ms,全链路传给引擎
42+
🔔 完成通知 [切换] ← 新增,测试完弹VS Code右下角通知
43+
─────────────
44+
👤 zcj220 ← 已登录时点击无反应(不弹登录面板)
45+
[ 注销 ]
46+
```
47+
48+
#### 4. 步骤间隔 — 全链路打通
49+
- **前端**:默认 500ms(原0),localStorage 存储,每次运行测试时读取
50+
- **传参链路**`blueprintTest postMessage``_handleBlueprintTest``startBlueprintTest(step_interval_ms)` → HTTP API → `BlueprintRunner(step_interval_ms)``asyncio.sleep(step_interval_ms/1000)`
51+
- **叠加关系**:蓝本中每步的 `wait_after_ms` 执行完后,**额外**再等 `step_interval_ms`
52+
- **改动文件**
53+
- `src/testing/blueprint_runner.py``__init__``step_interval_ms=0`,每步后加 sleep
54+
- `src/api/models.py``RunBlueprintRequest``step_interval_ms: int = 0`
55+
- `src/api/routes.py`:创建 `BlueprintRunner` 时传入该参数
56+
- `extension/src/engineClient.ts``startBlueprintTest` 接口加 `step_interval_ms?: number`
57+
- `extension/src/sidebarProvider.ts`:读取、保存、发送该参数
58+
59+
#### 5. 完成通知
60+
- 测试完成后,若用户开启「完成通知」,调用 `vscode.window.showInformationMessage()`
61+
- 显示内容:`✅ TestPilot: 「蓝本名」完成,通过率 83%`
62+
63+
#### 6. 积分情况独立展开行
64+
- 登录后在设置面板显示「💰 积分情况 99分」行
65+
- 点击展开子面板:剩余积分 + 当前套餐 + 充值提示
66+
- 积分为 -1(离线占位)时:右侧不显示数字,展开后 balance 显示 `-`
67+
- 退出登录后积分行和展开面板均隐藏
68+
69+
#### 7. 账号区域精简
70+
- `settingsUserRow`(账号区):只保留注销按钮,不再显示重复的用户名/积分
71+
- 已登录时点「👤 zcj220」行不弹出登录面板(原来会弹)
72+
- 未登录时点击正常展开登录/注册表单
73+
74+
### 版本提交记录
75+
| commit | 说明 |
76+
|--------|------|
77+
| `a9a07a5` | 离线优先登录持久化 + 注销按钮全宽灰色样式 |
78+
| `75beb96` | 去掉注销区域重复显示的用户名 |
79+
| `66ca5f9` | 设置面板新增步骤间隔+完成通知,修复积分-1显示 |
80+
| `dfa8889` | 步骤间隔默认500ms且全链路生效,积分独立一行 |
81+
| `6d3b205` | 登录态点账号行不弹面板,积分情况独立展开行 |
82+
83+
---
84+
885
## v14.0 进度总结(2026-03-25)
986

1087
### ✅ v14.0-A MySQL 云数据库完成

0 commit comments

Comments
 (0)