3.6 KiB
3.6 KiB
收藏按钮功能验证与统一 Spec
Why
当前实用工具页面的收藏按钮存在以下问题:
- 移动端页面缺失收藏按钮:CalculatorMobile、Base64ToolMobile、CharsetConverterMobile、CodeFormatterMobile、ColorConverterMobile、EncodingConverterMobile、ImageCompressorMobile、JsonFormatterMobile、TextDiffMobile 共 9 个移动端页面没有收藏按钮
- 桌面端按钮位置不统一:部分页面在工具栏顶层(返回按钮旁),部分在英雄区标题旁
- ID 使用不一致:部分页面使用硬编码 toolId,部分使用 urlPath
- 需要验证功能完整性:确认未登录点击弹出登录弹窗,登录后实现收藏功能
What Changes
位置统一(桌面端)
- 将所有桌面端工具页面的收藏按钮统一放置在英雄区标题旁边
- 统一使用
variant="hero"样式(毛玻璃效果,适配渐变背景) - 受影响页面:JsonFormatter、Base64Tool、EncodingConverter、CodeFormatter、RegexTool、TextDiff、TimestampTool、QRCodeGenerator、ColorConverter、ImageCompressor(共 10 个)
移动端补全
- 为 9 个移动端页面添加收藏按钮,放置在英雄区标题旁
- 受影响页面:CalculatorMobile、Base64ToolMobile、CharsetConverterMobile、CodeFormatterMobile、ColorConverterMobile、EncodingConverterMobile、ImageCompressorMobile、JsonFormatterMobile、TextDiffMobile
ID 统一
- 将所有硬编码 toolId 改为 urlPath 动态查找
Impact
- Affected specs: tool-fav-button-missing, tool-fav-button-layout
- Affected code:
src/pages/*/下 19 个页面组件- 可能需要新增移动端英雄区样式
ADDED Requirements
Requirement: 移动端收藏按钮
所有移动端工具详情页 SHALL 在英雄区标题旁边提供收藏按钮。
Scenario: 移动端页面显示收藏按钮
- WHEN 用户访问移动端工具详情页(如 CalculatorMobile)
- THEN 收藏按钮显示在英雄区标题旁边,使用 hero variant 样式
Requirement: 收藏按钮位置统一
所有工具详情页(含桌面端和移动端)的收藏按钮 SHALL 统一放置在英雄区标题旁边。
Scenario: 桌面端按钮位置
- WHEN 用户访问桌面端工具详情页
- THEN 收藏按钮位于英雄区标题旁边,与标题水平对齐
Scenario: 移动端按钮位置
- WHEN 用户访问移动端工具详情页
- THEN 收藏按钮位于英雄区标题旁边
Requirement: ID 使用统一
所有收藏按钮 SHALL 使用 urlPath 动态查找 toolId,不再硬编码 toolId。
Scenario: urlPath 查找
- WHEN 页面加载收藏按钮
- THEN 通过 urlPath 从 API 获取 toolId 并缓存
MODIFIED Requirements
Requirement: 收藏按钮桌面端样式
收藏按钮在英雄区 SHALL 使用 variant="hero" 样式,提供毛玻璃效果,适配渐变背景。
Scenario: hero variant 样式
- WHEN 收藏按钮位于英雄区
- THEN 背景半透明白色,带毛玻璃模糊效果,边框半透明
Requirement: 收藏功能验证
-
WHEN 未登录用户点击收藏按钮
-
THEN 显示提示"请先登录"(不弹出登录弹窗,仅提示消息)
-
WHEN 已登录用户点击收藏按钮(未收藏状态)
-
THEN 按钮变为实心金色星标,显示"已收藏",收藏数 +1,显示成功提示
-
WHEN 已登录用户点击收藏按钮(已收藏状态)
-
THEN 按钮变为空心星标,显示"收藏",收藏数 -1,显示取消提示
REMOVED Requirements
Requirement: 硬编码 toolId
Reason: 硬编码 toolId 维护困难,容易与后端数据不一致 Migration: 统一使用 urlPath 动态查找