开发文档

鲜花交易系统与鲜花交易平台(PHP / ThinkPHP 版)的研发记录:功能上线、架构演进与实施经验,按发布日期持续更新。

后台列表的 7 个可用性细节:从"按钮挤成三行"说起

起因是一个很具体的画面

账号管理列表的操作列有 5 个按钮:编辑、重置密码、启禁用、查看日志、删除。列宽按默认算,5 个按钮被挤成 3 行,行高被撑高,一屏只能看到 6 条——而这张表通常有几十分页。

这类问题不会有人报 bug,但它每天都在消耗使用者的耐心。修起来也简单:操作列加宽 + 按钮左对齐 + 单行不换行。

顺手把这类细节整理成清单,后面每个列表页都按这七条过一遍。

1. 默认每页条数要按场景定

列表默认 10 条对"偶尔查一下"的页面够用,对"每天核对数据"的页面太少。账号、订单、文件这类高频页默认 20 条起,并提供 30/60/120 的切换。

关键是要记住用户的选择:翻页回来又变回 20 条,是最容易招骂的细节。

2. 操作列永不换行

按钮换行不只是难看,它会让每行高度不一致,视线无法对齐。做法:操作列设最小宽度、按钮容器 flex-wrap: nowrap、超过 5 个操作时把低频操作收进"更多"下拉。

3. 树形列表默认折叠,但要有"展开全部"

菜单管理是典型的树:目录 → 菜单 → 按钮权限。默认全展开会滚动到失控,默认全折叠又找不到东西。

处理方式:默认只显示目录与菜单两级,工具栏提供"展开全部/收起全部",搜索时自动展开命中节点的祖先链——否则搜到了但看不见,等于没搜到。

树形展开还有个易踩的坑:用组件库的树表格时,展开箭头可能因为自定义列渲染而消失。我们的做法是自绘树 + 显式维护展开状态集合,可控性比依赖组件内部状态好。

4. 高频微操作要在列表里完成

能在列表里点一下完成的事,不要逼用户进详情:

  • 点击状态标签直接切换启用/停用(带二次确认);
  • 双击排序值直接编辑(回车保存,Esc 取消);
  • 开关类字段用开关而不是下拉。

这些改动让"调 10 个菜单的排序"从 10 次弹窗变成 10 次双击。

5. 相册视图要固定栅格

文件列表切到相册视图时,每行固定张数(我们定 10 张),封面统一 3:4 竖版。理由很实在:鲜花商品图多是竖图,混排横图会让栅格参差,视觉上像坏了。

6. 空状态要给出下一步

"暂无数据"是最没用的提示。空状态应该说明:是没数据、还是筛选条件太严、还是没权限。三种情况各自给不同文案与操作入口(清空筛选 / 去新建 / 联系管理员)。

7. 危险操作要"可撤销"或"双确认"

删除、作废、彻底删除放右侧并用独立配色;能进回收站的就不做物理删除;物理删除前做引用校验。这条不是美观问题,是数据安全问题。

小结

后台的可用性不靠设计感,靠动作次数。每减少一次多余点击、一次误操作、一次视线上跳,乘以每天的使用次数,就是真实的效率差。

这七条已经写进我们的后台开发清单:新做列表页时先过一遍,比上线后被运营一条条提需求要省得多。

本文属于「开发文档」系列,记录鲜花交易系统(PHP + ThinkPHP 8 + MySQL 8)的实际研发进展。想了解功能清单与报价,可前往系统报价或联系我们。