chengkai3
3789411570
fix:[FL-8][用户管理页面操作列宽度调整为180px]
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-06-19 10:49:19 +08:00
chengkai3
65de32d7f3
feat: 用户管理页面增加角色列展示
...
在用户列表中增加"角色"列,显示在用户名和邮箱之间。
用户角色使用蓝色标签样式展示,支持多个角色同时显示。
同时在移动端卡片视图中也增加了角色展示。
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-06-19 10:35:09 +08:00
chengkai3
ee1c534a2d
feat: improve user ID validation in user management page
...
- Add real-time validation for user ID format (letters, numbers, underscore only)
- Add real-time uniqueness check during input (not just on submit)
- Apply validation to both create and edit user modals
- Show inline error messages immediately when validation fails
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-06-19 10:33:00 +08:00
chengkai3
9424abaa64
移除用户管理页面编辑用户时的状态表单字段
...
从编辑用户模态框中移除状态选择器,用户状态现在只能通过操作菜单中的"启用/禁用"选项来修改。
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-06-19 10:32:21 +08:00
chengkai3
b646f16e85
添加角色分配表单必填校验
...
- 角色字段标记为必填,显示红色星号
- 点击保存按钮时立即触发校验
- 未选择角色时显示错误提示「请至少选择一个角色」
- 校验失败时不会关闭模态框
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-06-19 10:30:37 +08:00
Admin
68a865adb9
[fix]:[FL-208][用户管理页面卡片视图优化]
...
Co-authored-by: multica-agent <github@multica.ai >
2026-06-19 10:02:43 +08:00
chengkai3
d342fe79d0
fix:[FL-203][菜单管理 - 修复 INSERT SQL 缺少 visible/cacheable/component 字段]
...
修复菜单创建接口中 INSERT SQL 语句缺少 visible、cacheable 和 component 字段的问题。
问题描述:
- 前端发送的请求包含 visible、cacheable 和 component 字段
- 后端 INSERT SQL 语句未包含这些字段
- 导致数据库使用默认值 null,违反 visible 列的 NOT NULL 约束
修复内容:
- 在 INSERT INTO menus 语句中添加 visible、cacheable、component 字段
- 在 VALUES 子句中添加对应的占位符
- 在参数字典中添加这三个字段的值
影响范围:
- api/app/services/legacy_admin_rbac_service.py 的 create_menu 函数
Co-authored-by: multica-agent <github@multica.ai >
2026-06-18 21:03:44 +08:00
chengkai3
d195bef4d3
fix:[FL-202][用户管理 - 创建用户 API 返回 500 错误]
...
修复了用户创建时因数据库表名不匹配导致的 500 错误。
问题原因:
代码中使用了错误的数据库表名:
- 使用 user_role 表,但实际表名是 roles
- 使用 user_role_rela 表,但实际表名是 user_roles
- 查询 user_role.id = 'user',但应该是 roles.code = 'user'
修改内容:
1. _role_ids_exist(): 修正表名从 user_role 到 roles,字段从 id 到 code
2. _replace_legacy_user_roles(): 修正表名从 user_role_rela 到 user_roles,并添加通过 role_code 查询 role_id 的逻辑
3. _assign_legacy_roles(): 修正默认角色查询从 user_role.id 到 roles.code
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-06-18 13:57:13 +08:00
chengkai3
04d67c3d3d
feat: [FL-201] 参考用户管理页面逻辑给菜单管理页面增加卡片视图
...
- 新增 useMobileDetection hook 引入
- 新增 Dropdown、Typography 和 MoreOutlined 等 UI 组件引入
- 添加 viewMode 状态管理(table/card 切换)
- 新增 renderMenuCard 函数,实现菜单项卡片视图渲染
- 卡片视图支持显示菜单编码、路径、父菜单、排序等信息
- 卡片视图包含编辑和删除操作按钮
- 根据 viewMode 在表格和卡片视图之间切换显示
- 卡片视图使用响应式布局(Row/Col)适配不同屏幕
- 移动端自动切换为卡片视图
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-06-18 13:49:59 +08:00
chengkai3
c6aed6c139
feat:[FL-200][参考用户管理页面逻辑给角色管理页面增加卡片视图]
...
- 引入 useMobileDetection hook 实现移动端自动切换视图
- 添加 viewMode 状态管理表格和卡片视图切换
- 实现 renderRoleCard 函数展示角色卡片
- 卡片视图显示角色名称、编码和绑定菜单信息
- 支持编辑和删除操作按钮
- 移动端默认使用卡片视图,桌面端默认使用表格视图
Co-authored-by: multica-agent <github@multica.ai >
2026-06-18 13:34:11 +08:00
chengkai3
23db30d0f0
fix: [FL-199][拆分用户创建错误消息以明确失败原因]
...
将模糊的 409 错误消息 "User id/email/username already exists or default role missing"
拆分为三种具体的异常类型:
1. UserDuplicateError (409) - 用户ID/邮箱/用户名已存在
2. UserRoleAssignmentError (500) - 默认角色未配置或角色分配失败
3. UserCreateError (500) - 其他用户创建失败
改动内容:
- 在 user_service.py 中定义三个异常类
- 将 create_user 返回类型从 UserPublic | None 改为 UserPublic(抛出异常)
- 在 API 层捕获具体异常并返回对应的 HTTP 状态码和明确错误消息
- 更新和新增测试以验证错误消息准确性
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-06-18 13:13:51 +08:00
chengkai3
83e1508b2f
fix:[FL-196][去掉用户管理页面的视图切换按钮]
...
- 移除视图切换按钮组件
- 保留根据设备类型自动切换视图的逻辑(浏览器用表格,手机用卡片)
- 清理未使用的图标导入(AppstoreOutlined, TableOutlined)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-06-18 13:07:09 +08:00
chengkai3
e67475aad6
[fix]:[FL-198][菜单管理 - 创建失败且错误信息不明确]
...
## 改动摘要
- 新增自定义异常类用于菜单验证错误的精确识别
- 修改 create_menu 服务函数,使用异常替代返回 None
- 修改 API 端点捕获异常并返回详细错误信息
## 详细改动
### 1. 新增异常类 (api/app/exceptions/menu_exceptions.py)
创建了以下异常类以区分不同的验证失败场景:
- `MenuValidationError`: 基础菜单验证异常类
- `EmptyMenuCodeError`: 菜单编码为空
- `EmptyMenuNameError`: 菜单名称为空
- `DuplicateMenuCodeError`: 菜单编码重复
- `RemovedMenuCodeError`: 使用已移除的菜单编码
- `SelfParentError`: 菜单将自己设为父菜单
- `ParentNotFoundError`: 父菜单不存在
### 2. 修改服务层 (api/app/services/legacy_admin_rbac_service.py)
- 在 create_menu 函数中,将所有返回 None 的地方替换为抛出对应的异常
- 为数据库异常添加更具体的错误上下文
- 修改返回类型从 `MenuPublic | None` 为 `MenuPublic`
### 3. 修改 API 端点 (api/app/api/v1/admin.py)
- 在 create_menu_endpoint 中捕获 MenuValidationError 异常
- 返回详细的错误信息,包括具体的字段名(如有)
- 替换原来的模糊错误信息"Invalid menu payload or duplicate menu code"
## 测试验证
- 已通过 Python 语法检查
- 所有修改的文件编译通过
- 异常类可以正常导入
## 解决的问题
修复了 Issue FL-198 中描述的问题:
- 之前:所有创建失败都返回同一个模糊错误"Invalid menu payload or duplicate menu code"
- 现在:返回具体的错误原因,如"菜单编码 'xxx' 已存在 (字段: code)"、"父菜单 'xxx' 不存在 (字段: parent_id)"等
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-06-18 12:43:37 +08:00
chengkai3
96f83923f6
fix:[FL-197][角色管理 - 修复数据库表 user_role 不存在错误]
...
修复角色创建功能在使用现代表结构(roles)时因硬编码查询 user_role 表而导致的数据库错误。
问题分析:
- admin.py:72 直接硬编码查询 user_role 表检查角色是否存在
- legacy_admin_rbac_service.py:201 也硬编码查询 user_role 表
- 实际项目使用的是现代表结构 roles(定义在 rbac.py)
- 导致 psycopg.errors.UndefinedTable: relation "user_role" does not exist
修复方案:
1. 移除 admin.py 中的硬编码表查询,将重复检查逻辑委托给 create_role 服务函数
2. 在 create_role 函数中添加 role_source 检测逻辑
3. 根据检测结果使用正确的表名(user_role 或 roles)和字段
4. 确保 legacy 和 modern 模式下都能正常工作
影响范围:
- 角色创建功能现在支持两种表结构
- 保持向后兼容性(legacy 模式仍使用 user_role)
- 修复 modern 模式下的角色创建功能
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-06-18 12:35:32 +08:00
chengkai3
80cf981fdb
fix: [FL-195][创建用户报错] 为用户服务事务添加异常处理和回滚机制
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-06-18 12:26:58 +08:00
chengkai3
172e124d4d
feat:[FL-194][用户管理页面的视图开关优化]
...
将视图切换按钮从卡片标题区移至搜索栏右侧,移除按钮文字仅保留图标,优化页面布局。
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-06-18 12:04:29 +08:00
chengkai3
f3e5640290
fix:[FL-193][用户管理 - email 字段 NOT NULL 约束冲突]
...
修复 users.email 字段 NOT NULL 约束与前端可选表单不一致的问题。
## 改动内容
1. 添加数据库兼容性检查函数 `_ensure_user_email_nullable()`
- 检测 users.email 字段是否有 NOT NULL 约束
- 如果存在约束则自动移除,使字段变为可选
- 仅对 PostgreSQL 数据库生效
2. 在 `init_db()` 中调用该函数
- 确保应用启动时自动应用迁移
- 与现有兼容性检查函数保持一致的模式
3. 添加单元测试 `test_user_email_optional.py`
- 验证可以创建不带 email 的用户
- 验证可以创建带 email 的用户
- 验证直接使用 User 模型创建用户时 email 可为 None
## 修复方案
采用 Issue 中推荐的方案 1(数据库层面修复):
- 将 email 字段改为可选,与前端表单语义保持一致
- 用户可以选择不填写邮箱
- email 字段保持 UNIQUE 约束,但允许 NULL 值
## 相关文件
- api/app/core/database.py:523-546 - 新增兼容性检查函数
- api/app/core/database.py:586 - 在 init_db() 中调用
- api/tests/test_user_email_optional.py - 新增单元测试
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-06-18 11:34:22 +08:00
chengkai3
fa4834a9e2
fix:[FL-191][修复用户创建失败的数据库事务错误]
...
Co-authored-by: multica-agent <github@multica.ai >
2026-06-18 11:00:38 +08:00
chengkai3
a332ba58ba
[fix]:[FL-190][系统接口中的stacktrace信息不要直接展示到页面给用户看]
...
- 后端:在 exception_handlers.py 添加文档注释,明确说明 stacktrace 字段仅供开发调试使用
- 前端:在 api.ts 添加 ApiErrorResponse 类型定义和文档注释,明确 readApiError 函数只提取 detail 字段展示给用户
- stacktrace 在 debug 模式下会返回给浏览器(可在开发者工具中查看),但前端不会展示到页面上
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-06-18 10:19:25 +08:00
chengkai3
33db320c0e
feat:[FL-189][给用户管理增加卡片视图]
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-06-18 10:10:01 +08:00
chengkai3
5796797120
fix:[FL-188][菜单管理页面关键字过滤后查不到数据时分页组件不要隐藏]
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-06-18 10:04:18 +08:00
chengkai3
af14490042
fix: [FL-186][菜单管理页面输入关键字时不要触发查询动作]
...
将关键字输入与实际查询参数分离,用户在输入框中输入时不会立即触发API请求。
只有在点击「搜索」按钮或按下Enter键时才执行查询。
改动点:
- 新增activeKeyword和activeStatusFilter状态用于存储实际查询参数
- 修改loadMenus依赖为activeKeyword和activeStatusFilter
- 新增handleSearch函数,在点击搜索时更新查询参数
- 为关键字输入框添加onPressEnter支持
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-06-18 08:41:13 +08:00
chengkai3
3cc35c0336
feat: [FL-184] 添加调试模式配置以返回异常堆栈跟踪
...
- 在配置文件中添加 debug_mode 参数,默认值为 true
- 创建全局异常处理器,当 debug_mode 开启时返回 stacktrace 信息
- 在 .env.example 中添加 DEBUG_MODE 配置项说明
- 新增测试文件验证调试模式功能
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-06-18 08:39:21 +08:00
chengkai3
e47fd7e855
fix:[FL-183][菜单管理页面优化]
...
- 移除排序方式过滤表单和重置筛选按钮
- 新增主题色搜索按钮,查询需手动触发
- 修复表单值变化触发两次查询的问题
- 输入关键字时不再自动触发查询
Co-authored-by: multica-agent <github@multica.ai >
2026-06-18 08:25:51 +08:00
chengkai3
4a97c4f80c
fix:[FL-182][菜单列表改名菜单管理]
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-06-18 08:20:33 +08:00
chengkai3
5f10af0b30
fix:[FL-181][用户管理页面去掉操作列固定]
...
Co-authored-by: multica-agent <github@multica.ai >
2026-06-18 08:07:22 +08:00
chengkai3
cb1c883ce7
feat:[FL-179][角色管理页面所有角色都要支持删除]
...
移除了对admin和user角色的删除限制,现在所有角色都可以删除。
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-06-18 08:06:44 +08:00
chengkai3
aecf0ca396
fix: [FL-178][缩小角色管理页面表格列宽度]
...
- 角色编码列宽从180px缩小到140px
- 角色名称列宽从180px缩小到140px
- 菜单列最大宽度从420px缩小到300px
- 操作列宽从160px缩小到140px
- 移除表格横向滚动配置(x: 1400),使表格自适应容器宽度
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-06-18 08:06:19 +08:00
chengkai3
b1f3785f77
fix:[FL-180][角色管理页面新增编辑表单宽度调整]
...
移除角色管理页面 Modal 的 width={760} 属性,使其使用默认宽度,与用户管理页面保持一致
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-06-18 08:05:51 +08:00
chengkai3
84e74fda3f
fix:[FL-177][去掉主题中的紧凑主题]
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-06-18 00:35:03 +08:00
chengkai3
6519fee729
[feat]:[FL-172][用户管理页面新增用户时邮箱放最后,且不要必填]
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-06-18 00:34:20 +08:00
chengkai3
e37ecac9af
fix:[FL-175][角色管理页面搜索无结果时显示分页组件]
...
Co-authored-by: multica-agent <github@multica.ai >
2026-06-18 00:30:46 +08:00
chengkai3
31d65094b1
fix:[FL-176][用户管理页面用户列表改成用户管理]
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-06-18 00:29:02 +08:00
chengkai3
db843dc31a
[fix]:[FL-171][角色管理页面角色编码不要用标签展示]
...
Co-authored-by: multica-agent <github@multica.ai >
2026-06-18 00:27:11 +08:00
chengkai3
c54b0faceb
[fix]:[FL-173][系统右上角点击用户头像展开下来信息时,不要展示状态信息]
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-06-18 00:26:55 +08:00
chengkai3
67a895fe01
[fix]:[FL-170][角色管理页面输入关键字时不要直接触发查询]
...
将角色管理页面的搜索行为从输入时自动触发改为手动触发(点击搜索按钮或按回车键)。
主要改动:
- 修改 loadData 函数接收可选的 keyword 参数,不再依赖 searchKeyword 状态
- 移除 searchKeyword 从 loadData 的依赖数组,避免每次输入都触发请求
- 更新搜索按钮和回车事件处理,显式传入 searchKeyword 参数
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-06-18 00:25:36 +08:00
chengkai3
4d8cfa4b02
[fix]:[FL-169][用户管理页面loading位置调整]
...
将用户管理页面查询时的loading从新增用户按钮左边移到表格上方,
与角色管理页面保持一致。移除Card extra中的Spin组件,loading
完全由Table组件的loading属性控制。
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-06-18 00:23:28 +08:00
chengkai3
cdc0b4b054
feat:[FL-165][角色管理页面查询时合并角色和菜单请求]
...
将角色管理页面的角色和菜单两个独立API请求合并为单个请求,减少网络开销。
后端改动:
- 新增 RolesWithMenusResponse 响应模型
- 新增 list_roles_with_menus 服务函数
- 新增 GET /api/v1/admin/roles-with-menus 接口
前端改动:
- 更新 loadData 函数使用新的合并接口
- 减少从两个并发请求改为单个请求
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-06-18 00:05:11 +08:00
chengkai3
22f3bdd438
fix:[FL-164][角色列表标题改成角色管理]
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-06-18 00:00:24 +08:00
chengkai3
f281a1aebc
[fix]:[FL-168][新建角色时角色编码要加唯一性校验]
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-06-17 23:55:57 +08:00
chengkai3
1ef379304c
feat:[FL-166][角色管理新建编辑角色表单单列展示]
...
将角色管理表单中的"角色编码"和"角色名称"从双列布局改为单列展示,提升表单可读性。
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-06-17 23:53:08 +08:00
chengkai3
6535863691
[fix]:[FL-162][优化用户管理页面表格宽度,移除横向滚动条]
...
Co-authored-by: multica-agent <github@multica.ai >
2026-06-17 23:51:01 +08:00
chengkai3
5835de1601
feat:[FL-163][角色管理页面去掉重置筛选按钮,搜索按钮用主题色]
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-06-17 23:48:40 +08:00
chengkai3
864fd5e239
fix:[FL-161][用户管理页面操作列宽度固定在120px]
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-06-17 23:48:10 +08:00
chengkai3
dd15768623
feat:[FL-160][角色管理页面表单过滤改成后台查询]
...
- 后端API新增keyword查询参数支持角色搜索
- 在数据库层面实现基础过滤优化性能
- 前端移除客户端过滤逻辑改为调用后端API
- 添加搜索按钮和回车搜索功能
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-06-17 23:23:38 +08:00
chengkai3
1384c0c449
fix:[FL-157][新建用户表单改为单列展示]
...
- 移除新建用户表单的grid双列布局
- 表单字段现在以单列形式垂直排列展示
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-06-17 23:14:14 +08:00
chengkai3
371d1fdfe1
fix:[FL-159][登录后跳转到菜单数据中的第一个菜单]
...
- 修改登录后的重定向逻辑,从硬编码的 /users 改为动态获取用户菜单数据的第一个菜单路径
- 新增 findFirstMenuPath 函数递归查找第一个有效菜单路径
- 新增 normalizeMenuTreePaths 函数标准化菜单路径
- 在 useEffect 中调用 /api/v1/admin/me/menus 接口获取菜单数据
- 如果菜单获取失败或没有有效路径,仍回退到 /users 作为默认页面
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-06-17 23:12:37 +08:00
chengkai3
22e316850e
fix:[FL-157][移除用户ID列的标签样式]
...
- 移除用户ID列的Typography.Text code渲染
- 用户ID现在以普通文本形式显示
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-06-17 23:06:24 +08:00
chengkai3
1c1843e180
fix:[FL-157][修复搜索无结果时操作列宽度变宽问题]
...
- 添加tableLayout="fixed"属性强制固定表格布局
- 确保即使数据为空时,操作列宽度也保持180px不变
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-06-17 23:02:19 +08:00
chengkai3
9d6bd733a2
fix:[FL-157][搜索无结果时保持分页组件显示]
...
- 设置分页total最小值为1,确保即使数据为0时分页组件也显示
- showTotal显示真实的数据条数,不受最小值影响
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-06-17 22:59:26 +08:00