2.3 KiB
2.3 KiB
API详情页滑块验证码 Spec
Why
当前API详情页(ApiDetail)直接展示接口调用信息和测试工具,缺乏访问控制。为防止恶意抓取和未授权访问接口测试功能,需要在页面访问时增加滑块验证码验证,验证通过后才展示完整内容。
What Changes
- 在ApiDetail页面集成SliderCaptcha组件
- 验证通过前隐藏接口详情、参数说明、测试工具等敏感内容
- 验证通过后展示完整页面内容
- 支持重试次数限制和Token过期自动刷新
- 暗色模式适配
Impact
- Affected specs: API接口大全详情页
- Affected code:
src/pages/ApiDetail/ApiDetail.tsx- 集成滑块验证码src/pages/ApiDetail/ApiDetail.css- 添加验证遮罩样式src/components/SliderCaptcha/SliderCaptcha.tsx- 复用现有组件
ADDED Requirements
Requirement: API详情页滑块验证码
系统SHALL在用户访问API详情页时要求进行滑块验证码验证。
Scenario: 首次访问页面
- WHEN 用户打开API详情页
- THEN 显示滑块验证码遮罩,隐藏页面核心内容
- AND 用户完成滑块验证后展示完整内容
Scenario: 验证成功
- WHEN 用户成功完成滑块验证
- THEN 隐藏验证码遮罩,展示API详情内容
- AND 显示验证成功状态(绿色勾选图标)
Scenario: 验证失败
- WHEN 用户验证失败
- AND 显示失败状态,自动刷新验证码
- AND 允许用户重试(最多3次)
Scenario: 超过最大重试次数
- WHEN 用户连续失败超过最大重试次数
- AND 显示操作按钮让用户手动刷新
Requirement: 内容保护
验证通过前SHALL隐藏接口敏感信息。
Scenario: 未验证状态
- WHEN 用户未完成滑块验证
- THEN 隐藏接口参数、响应示例、测试工具等内容
- AND 显示验证码组件
Requirement: 暗色模式支持
滑块验证码组件SHALL支持暗色模式。
Scenario: 暗色模式
- WHEN 用户切换到暗色模式
- AND 验证码组件和遮罩适配暗色主题
MODIFIED Requirements
Requirement: ApiDetail页面
现有ApiDetail页面SHALL集成滑块验证码保护。
Scenario: 页面加载
- WHEN 页面加载
- AND 默认显示验证状态,验证通过后才渲染完整内容