Gitea MCP 未向当前会话暴露,按仓库规则回退项目根目录安全配置与 Gitea API 创建本工单;凭据未写入工单、代码或日志。
来源:用户于 2026-08-31 提问「所有页面翻页组件是不是同一个,现在最多 50 条一页,加 100 条一页和 200 条一页是否合适」。在只读核验后用户确认按建议范围建单:只加 100,不加 200。
目的:让数据量较大的列表页可以一页看 100 条,减少翻页次数;不引入"选了 200 实际只拿到 100"的误导性行为。
代码基线:5338dd0(2026-08-31)。核验日期 2026-08-31。
5338dd0
web/src/components/Pagination/index.vue
pageSizes: [10, 20, 30, 50]
web/src/views/goauto/syb-inner-codes/index.vue:34
:page-sizes="[20, 50, 100, 200]"
sybinnercode/service.go:122-125
20/50/100/200
invalid("pageSize 只允许 20、50、100、200")
device/list.go:55-56
product/service.go:250-253
product/related.go:107-108
purchase/admin_query.go:116-117
replacement/service.go:194-195
shopeeproduct/service.go:227-228
sybimport/service.go:68-69
task/admin_service.go:182-183
sybshop/service.go:66-67
PageSize < 1 或 > 200
pageSizes
sybinnercode
sybshop
sys-user
sys-role
sys-config
Pagination/index.vue
[10, 20, 30, 50, 100]
syb-inner-codes
[20, 50, 100, 200]
sys-api
sys-login-log
sys-oper-log
sys-post
dict
dict/data
dev-tools/gen/importTable
page-sizes
现有分页组件的默认值调整,属最小范围界面改动,不新增组件、不改变交互模式,只增加一个可选档位。实施前提供包含新档位下拉选项的标注截图交用户确认,覆盖:goauto 一个典型列表页(如 pdd-products)与 admin 一个典型列表页(如 sys-user)两个状态。
无长期文档影响。 未新增接口、参数或数据结构,仅调整前端共享组件的默认展示档位;启动、测试、部署与排错方式均未变化。因此跳过 Wiki 更新与同步。
待确认(2026-08-31 创建,等待用户确认方案与界面截图后方可实施)。
设计证据:用户于 2026-08-31 确认共享分页增加 100 条/页档位。
Admin 接口核验:
common/dto.Pagination
GetPageSize
[20,50,100,200]
实现:共享 Pagination/index.vue 默认档位由 [10,20,30,50] 改为 [10,20,30,50,100],未新增 200,未改变任何页面初始 pageSize。
[10,20,30,50]
[10,20,30,50,100]
验证:
pnpm exec eslint src/components/Pagination/index.vue tests/unit/pagination.spec.js
pnpm exec jest tests/unit/pagination.spec.js --runInBand
pnpm build:prod
文档影响:无长期文档影响,跳过 Wiki。
提交:55ded8b,已推送 origin/main。工作区中的 SYB 文档和 server/config/settings.yml 修改未纳入本提交。状态:待用户验收。
55ded8b
origin/main
server/config/settings.yml
验收通过(2026-09-01,用户确认)。实施内容与设计证据见上方评论;无新增长期事实变化,未触发额外 Wiki 同步。工单关闭。
No dependencies set.
The note is not visible to the blocked user.
原始需求摘要
来源:用户于 2026-08-31 提问「所有页面翻页组件是不是同一个,现在最多 50 条一页,加 100 条一页和 200 条一页是否合适」。在只读核验后用户确认按建议范围建单:只加 100,不加 200。
目的:让数据量较大的列表页可以一页看 100 条,减少翻页次数;不引入"选了 200 实际只拿到 100"的误导性行为。
基线与已核实事实
代码基线:
5338dd0(2026-08-31)。核验日期 2026-08-31。web/src/components/Pagination/index.vue,默认pageSizes: [10, 20, 30, 50];goauto 模块下至少 10 个列表页、admin 系统管理模块下至少 12 个页面均使用该组件,多数未覆盖默认值。web/src/views/goauto/syb-inner-codes/index.vue:34单独传入:page-sizes="[20, 50, 100, 200]",对应后端sybinnercode/service.go:122-125有专属白名单,只接受20/50/100/200四个值,不合规则时报invalid("pageSize 只允许 20、50、100、200")。device/list.go:55-56、product/service.go:250-253(pdd-products)、product/related.go:107-108(related-syb-products)、purchase/admin_query.go:116-117、replacement/service.go:194-195、shopeeproduct/service.go:227-228、sybimport/service.go:68-69、task/admin_service.go:182-183。sybinnercode/service.go:122-125,不在本单范围。sybshop/service.go:66-67:PageSize < 1 或 > 200才重置为 50,实际没有开放到 200 的合法输入路径,行为特殊,本单不处理。pageSizes加上 100,对上述"上限 100"的全部接口都是安全的(选 100 就能拿到完整 100 条);加 200 会导致这些接口在选 200 时被服务端悄悄截成 100 条返回,且前端没有任何提示,是一个真实的误导性问题,因此本单不加 200。判断边界
sybinnercode、sybshop行为特殊,明确排除在外,不因本单改动。sys-user、sys-role、sys-config等 12 个页面)各自后端分页上限是否也是 100 或更高;本单改动是共享组件的默认值,会同时影响这些页面。前端加 100 时若这些接口上限低于 100(如更早期实现可能限制为 50),会出现同样的"选了拿不到"问题。目标
Pagination/index.vue的默认pageSizes增加 100 档:[10, 20, 30, 50, 100]。syb-inner-codes的[20, 50, 100, 200])。非目标
sybinnercode现有的专属白名单和其 200 档。sybshop的分页上限或重置逻辑。前置依赖与并行性
固定实施方案
sys-user、sys-role、sys-config、sys-api、sys-login-log、sys-oper-log、sys-post、dict、dict/data、dev-tools/gen/importTable等)对应后端列表接口的分页上限,逐一记录结果。page-sizes,排除 100 档;或web/src/components/Pagination/index.vue的pageSizesprop 默认值为[10, 20, 30, 50, 100]。设计证据
现有分页组件的默认值调整,属最小范围界面改动,不新增组件、不改变交互模式,只增加一个可选档位。实施前提供包含新档位下拉选项的标注截图交用户确认,覆盖:goauto 一个典型列表页(如 pdd-products)与 admin 一个典型列表页(如 sys-user)两个状态。
验收标准
syb-inner-codes页面行为不受影响,仍保留[20, 50, 100, 200]覆盖。sybshop、sybinnercode相关接口与页面未被修改。必测场景
20/50/100/200四档,行为不变。风险与安全门禁
文档影响
无长期文档影响。 未新增接口、参数或数据结构,仅调整前端共享组件的默认展示档位;启动、测试、部署与排错方式均未变化。因此跳过 Wiki 更新与同步。
状态
待确认(2026-08-31 创建,等待用户确认方案与界面截图后方可实施)。
实施完成,待验收
设计证据:用户于 2026-08-31 确认共享分页增加 100 条/页档位。
Admin 接口核验:
common/dto.Pagination。GetPageSize只把非正数回退为 10,不对 100 截断,因此无需页面排除。syb-inner-codes显式覆盖[20,50,100,200],保持不变;未修改 sybshop/sybinnercode 服务端。实现:共享
Pagination/index.vue默认档位由[10,20,30,50]改为[10,20,30,50,100],未新增 200,未改变任何页面初始 pageSize。验证:
pnpm exec eslint src/components/Pagination/index.vue tests/unit/pagination.spec.js:0 错误,仅组件原有属性排序 warning。pnpm exec jest tests/unit/pagination.spec.js --runInBand:2/2 通过,覆盖共享默认包含 100 和显式[20,50,100,200]覆盖不变。pnpm build:prod:通过;仅有仓库既有 CSS 伪类和 chunk-size 警告。文档影响:无长期文档影响,跳过 Wiki。
提交:
55ded8b,已推送origin/main。工作区中的 SYB 文档和server/config/settings.yml修改未纳入本提交。状态:待用户验收。验收通过(2026-09-01,用户确认)。实施内容与设计证据见上方评论;无新增长期事实变化,未触发额外 Wiki 同步。工单关闭。