feat: drag account groups and separate grouped card rows
This commit is contained in:
1 parent
59837cf09c
commit
9a133e82e9
13 files changed
+360
-94
No files matched your search
@@ -78,3 +78,7 @@
|
||||
## 2026-10-03 图库补充
|
||||
|
||||
内置图库扩充为 36 项,新增“抖音月付”和“东方财富”。真实数据库与已认证接口验证名称搜索、共享范围、图片读取和透明 PNG 规范;已有财务数据保持不变。资源来源与验收见 [更新说明](update-icons-2026-10-03.md)。
|
||||
|
||||
## 2026-10-03 拖拽排序与分组分行
|
||||
|
||||
33 项单元测试、前端类型检查和生产构建通过;真实数据库分组排序专项检查通过。浏览器验证实际拖拽、取消、键盘调整、保存刷新和弹窗联动,确认全部账户页按分组顺序分行显示。无新增数据库字段。详见 [更新说明](update-group-drag-2026-10-03.md)。
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 61 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 33 KiB |
@@ -0,0 +1,26 @@
|
||||
# 2026-10-03 分组拖拽与账户分行
|
||||
|
||||
## 使用方式
|
||||
|
||||
分组排序弹窗移除上下移动按钮,改为带拖拽手柄、分组名称和序号的列表。按住手柄拖到目标位置即可调整顺序,拖拽时高亮当前分组,靠近列表边缘自动滚动。点击保存后,账户页、分组筛选及账户选择弹窗同步使用新顺序;取消弹窗不会保存。
|
||||
|
||||
手柄支持鼠标、触屏和触控笔的 Pointer Events;44 像素操作区域与 touch-action 防止拖动手柄时页面误滚动。键盘可聚焦手柄后使用上下方向键调整、Home 置顶、End 置底;拖动过程中 Esc 或指针取消会恢复本次拖动前的顺序。辅助状态提示当前位置。
|
||||
|
||||
“全部账户”按保存顺序显示分组标题;标题横跨卡片网格,因此每个分组从新行开始。相同分组内仍使用响应式卡片排列;选择单一分组时只显示该组账户。未分组仍为独立分组。
|
||||
|
||||
复用现有 User.accountGroupOrder、settings 和备份协议,未增加数据库表或字段,不改变余额和财务记录,无需新增数据库迁移或依赖。
|
||||
|
||||
## 验证
|
||||
|
||||
- 前端类型检查和生产构建通过;33 项单元测试通过,新增重排测试覆盖跨多项插入、保持相邻顺序、不修改输入及边界处理。
|
||||
- 真实 MySQL 分组排序专项检查通过:顺序持久化、用户隔离、非法输入拒绝、ZIP 恢复及旧备份兼容。此次未重复执行其他 12 项后端专项,上轮完整 13 项回归记录保留。
|
||||
- 浏览器专用虚构账号:将“日常”从末尾实际拖到首位;取消后重新打开仍为原顺序;验证 Home、End 和方向键移动;再次拖拽并保存后刷新,账户页与选择弹窗保持“日常、未分组、消费、理财”顺序。
|
||||
- 浏览器读取各分组标题和卡片的实际位置,确认不同组的卡片纵向分离,未共享同一行。
|
||||
- 已检查桌面截图;触屏与触控笔使用统一事件实现,未在真实手机硬件上实测。
|
||||
- 验收临时账号和脚本清理,保留用户原有 Vite 配置改动;仅本地 Git 提交,不 push。
|
||||
|
||||
完成时间:2026-10-03 17:04。
|
||||
|
||||

|
||||
|
||||

|
||||
@@ -1,5 +1,7 @@
|
||||
# 2026-10-03 账户分组排序
|
||||
|
||||
当前排序界面已改为拖拽;最新操作及全部账户分行行为见 [后续更新](update-group-drag-2026-10-03.md)。以下保留首轮验收记录。
|
||||
|
||||
## 使用方式
|
||||
|
||||
账户页点击“分组排序”,使用“上移/下移”调整分组后保存。顺序同步用于账户分组筛选、全部账户卡片、分组输入建议以及转账、借贷操作和定时计划中的账户选择弹窗。刷新网页或重新登录后仍保留;取消不会保存。只有一个分组时排序按钮禁用,首尾按钮防止越界。
|
||||
|
||||
Reference in new issue
Block a user