移除验证码解析功能,简化为纯短信转发

- 删除 VerificationCodeParser 及相关测试,短信捕获和推送不再解析验证码
- 飞书推送改为只发送短信原文,时间戳格式化为可读日期
- 移除主界面"只推送验证码"开关和"调试时上传完整短信正文"选项
- 移除"保存轮询间隔"按钮,开启轮询时自动保存间隔(未输入默认1秒)
- 按钮文字从"开始1秒轮询验证码"改为"开始短信轮询"
- 删除"打印最近30条短信"功能及相关 SmsInboxReader.logRecentMessages
- SmsInboxReader 用 RecentSmsResult 替换 RecentCodeResult
- FeishuWebhookConfigStore.Config 移除 filterVerificationCode/sendFullBodyDebug
- 修复代码缩进不一致问题
This commit is contained in:
2026-05-18 22:38:06 +08:00
parent 95a3c6d8c4
commit c5ef726134
27 changed files with 273 additions and 697 deletions
@@ -33,7 +33,7 @@ The app SHALL send markdown content to the Feishu bot webhook using the same req
The app SHALL avoid blocking UI and SMS broadcast handling while sending webhook requests.
#### Scenario: SMS receiver triggers a push
- **WHEN** a verification code is parsed successfully in `SmsReceiver`
- **WHEN** a new SMS capture result is stored successfully in `SmsReceiver`
- **THEN** the app MUST save the local capture result first
- **AND** it MUST dispatch the webhook push asynchronously
- **AND** it MUST NOT wait for the network request before returning from broadcast handling
@@ -85,12 +85,11 @@ The app SHALL avoid exposing webhook secrets while sending complete SMS content
- **THEN** it MUST mask the secret
- **AND** it MUST NOT log the generated signature or full webhook URL
#### Scenario: Verification code push content is built
- **WHEN** the app builds markdown content from a parsed SMS result
- **THEN** it MUST include the verification code and minimal diagnostics such as source, masked sender, time, strategy, and confidence
- **AND** it MUST include the full original SMS body
#### Scenario: SMS push content is built
- **WHEN** the app builds markdown content from an SMS capture result
- **THEN** it MUST include the full original SMS body and minimal diagnostics such as source, masked sender, time, and any structured failure reason when present
#### Scenario: Webhook push is disabled
- **WHEN** a verification code is parsed while push is disabled
- **WHEN** an SMS is captured while push is disabled
- **THEN** the app MUST keep local SMS capture behavior unchanged
- **AND** it MUST record or report that remote push was skipped because it is disabled