feat: 统一 Admin 主列表分页 (#64)
This commit is contained in:
@@ -78,12 +78,13 @@
|
||||
|
||||
### 3.2 分页
|
||||
|
||||
`[必须]` 五个模块**统一每页 20 条**(原来这里写的是"建议一页 50 条",
|
||||
`[必须]` 六个主列表(蝦皮、PDD、顺运宝、采集采购、客户端、用户)
|
||||
**统一每页 20 条**(原来这里写的是"建议一页 50 条",
|
||||
已按工单 #43 改为 20 并升级为 `[必须]`)——20 行在 1366×768 上正好一屏,
|
||||
不用滚动就能看完;50 条要滚动,操作员容易漏看最下面几行。
|
||||
|
||||
蝦皮数据页(§4)是全项目第一个做分页的页面,本节是它定下的通用规则,
|
||||
**其余四个页面照抄**,不要各写一套:
|
||||
其余主列表复用公共实现,不要各写一套:
|
||||
|
||||
- `[必须]` 分页用 SQL 的 `LIMIT ? OFFSET ?`,**不得**把全量查出来在 Go 里
|
||||
切片——这正是蝦皮数据页改之前一次吐 3.4MB HTML 的成因(实测 5195 行)。
|
||||
@@ -105,14 +106,17 @@
|
||||
浏览器的前进后退和书签都该正常工作。
|
||||
- `[必须]` 第一页时"首页 / 上一页"禁用,最后一页时"下一页 / 末页"禁用;
|
||||
禁用要有**视觉 + 语义**区分(不可点的元素不要还是 `<a>`),不能只靠颜色。
|
||||
- `[必须]` 固定底部状态条左侧显示状态和统计,分页组件稳定靠在右下角;
|
||||
窄窗口可以换成上下两行,但不得遮住状态文字、分页按钮或表格最后一行。
|
||||
- `[必须]` 表格勾选只代表当前页。翻页后不保留勾选,也不提供跨页批量操作,
|
||||
避免操作员看不到将被处理的记录。
|
||||
- `[建议]` 不做 `1 2 3 … N` 这种页码列表。页数一多列出来没有意义,
|
||||
操作员应该靠筛选定位,不是靠翻页数页码。
|
||||
|
||||
公共实现放在 `admin/service/pagination.go`(`PageSize` 常量、
|
||||
`ParsePage` / `ClampPage` / `TotalPages` / `NewPaginationView`)和
|
||||
`admin/templates/partials/footer.html`(分页控件,`Pagination` 字段
|
||||
为空时不渲染,不影响还没做分页的页面),后面四个页面直接复用,
|
||||
不要各写一份。
|
||||
为空时不渲染)。六个主列表全部直接复用,不要各写一份。
|
||||
|
||||
## 4. 蝦皮数据页
|
||||
|
||||
|
||||
Reference in New Issue
Block a user