TanWenyan
|
d3418ef31b
|
fix: 修复权限映射的反向保存逻辑
问题:权限映射只在显示层面进行,但保存时还需要反向映射回数据库权限键
解决方案:
1. 分离显示权限和原始权限:
- originalRoutePermissionsMap:存储未映射的原始权限(用于保存)
- routePermissionsMap:存储映射后的权限(用于显示)
- originalAllPermissions:存储所有原始权限的列表
2. 加载角色权限时:
- 从API获取角色已分配的权限ID(原始ID)
- 直接存储到 selectedPermissionIds
- 不做任何映射转换
3. 显示权限列表时:
- 从原始权限构建映射后的权限(合并相同的)
- 用户看到的就是映射后的权限(如dify:dataset:manage)
- 但勾选状态基于原始权限ID
4. 保存权限时:
- 直接使用 selectedPermissionIds(原始ID)
- 无需反向映射
验证方式:
1. 取消勾选 dify:dataset:manage → 数据库中4个bind权限被DENY → 接口返回403
2. 重新勾选 dify:dataset:manage → 数据库中4个bind权限被GRANT → 接口可访问
|
2025-12-08 15:39:39 +08:00 |
|
TanWenyan
|
34029db395
|
优化操作提示
|
2025-12-08 15:35:34 +08:00 |
|
TanWenyan
|
547633bf38
|
feat: 修复权限键不匹配问题 - 前端权限映射
问题:前端权限列表显示dify:bind:*,但路由实际检查dify:dataset:*和dify:file:*
导致取消勾选后权限控制失效
解决方案:
1. 创建权限映射工具(permission-mapper.ts)
- dify:bind:list/create/update/delete → dify:dataset:manage
- 自动将数据库权限键映射为实际生效的权限键
2. 修改角色权限管理页面
- 加载角色权限时应用权限键映射
- 渲染权限列表时显示实际生效的权限键
- 保存权限时使用映射后的权限ID
影响范围:
- 知识库管理权限(/chat-with-llm/dataset-manager)
- 角色权限分配页面(/role-permissions)
验证方式:
取消勾选dify:dataset:manage后,知识库管理接口应返回403
|
2025-12-08 15:29:31 +08:00 |
|
TanWenyan
|
3f5c23123b
|
feat: 添加对话应用选择和知识库切换功能
- 新增对话应用管理模块(dify-chat-apps),支持获取和切换对话应用
- 优化对话应用切换后自动刷新会话列表功能
- 知识库管理页面新增下拉选择器,支持切换不同知识库
- API 层支持 app_id 参数传递,实现多应用会话隔离
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-08 01:44:34 +08:00 |
|
TanWenyan
|
27aff59152
|
feat: 添加知识库配置管理功能
新增地区-知识库绑定管理功能,支持增删改查操作
- 添加 V3 API 路由层:area-datasets 相关接口
- 添加 API 客户端:area-datasets.ts
- 添加自定义 Hook:use-area-dataset-config.ts
- 添加管理组件:area-dataset-config.tsx
- 修复路由冲突问题,删除重复的 .ts 路由文件
- 更新 dataset-manager 页面,添加 Tabs 导航
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-07 23:12:21 +08:00 |
|
TanWenyan
|
d53742948d
|
feat: 知识库设置页面增加 retrieval_model 检索配置功能
1. 召回测试页面增加 Score 阈值参数配置
2. 知识库设置页面新增检索模型配置:
- 检索方式 (向量/全文/混合/关键字检索)
- Reranking 模型 (默认开启,不可关闭)
- Top K 返回数量
- Score 阈值 (默认开启,可调节数值)
3. 修复 Dify API 字段名问题 (retrieval_model_dict)
4. 优化数据加载流程,使用详情接口获取完整配置
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-05 22:07:16 +08:00 |
|
LiangShiyong
|
5f9ce2fe9f
|
修复起草合同的销毁保存下载和删除的逻辑
|
2025-12-05 21:38:44 +08:00 |
|
LiangShiyong
|
91b7518c99
|
feat: 1. 完善起草合同页面的逻辑交互,对接minio的接口操作
|
2025-12-05 20:17:37 +08:00 |
|
LiangShiyong
|
3d1dbb3f97
|
all in
|
2025-12-05 00:09:32 +08:00 |
|
LiangShiyong
|
bb3d22eabf
|
Merge branch 'PingChuan' into shiy-login
|
2025-12-05 00:05:40 +08:00 |
|
LiangShiyong
|
33f10896a0
|
fix: 1.接入ai_suggestion.
2. 接入合同起草功能。
|
2025-12-05 00:04:45 +08:00 |
|
PingChuan
|
dcdc21b90e
|
feat:新增dify接入知识库时更新文档嵌入参数的功能
|
2025-12-04 17:47:44 +08:00 |
|
LiangShiyong
|
eca98fc540
|
Merge branch 'PingChuan' into shiy-login
# Conflicts:
# app/config/api-config.ts
|
2025-12-03 12:10:21 +08:00 |
|
LiangShiyong
|
d88cfc818b
|
feat: 1. 实现一键替换。
2. 优化追加附件和模板上传的样式。
|
2025-12-03 12:07:56 +08:00 |
|
PingChuan
|
a13f3b3635
|
feat: 完善Dify知识库管理召回测试模块,优化知识库上传文件时的分段配置设置
|
2025-12-03 12:03:09 +08:00 |
|
PingChuan
|
0f49426a2e
|
feat:完成上传文档时调整嵌入参数模块初版
|
2025-12-02 22:29:32 +08:00 |
|
LiangShiyong
|
2897423404
|
feat: 大模型对话适配移动端的样式
|
2025-12-02 11:41:21 +08:00 |
|
LiangShiyong
|
88466b7a8b
|
feat: 1. 完善交叉评查上传创建任务,改成动态加载文档类型。
2. 重新对齐交叉评查的接口。
|
2025-12-02 10:10:03 +08:00 |
|
LiangShiyong
|
c9e0d5abba
|
Merge branch 'PingChuan' into shiy-login
|
2025-12-01 12:40:22 +08:00 |
|
LiangShiyong
|
c43485ec27
|
fix: 添加交叉评查的案卷类型的查询,动态选择文档类型
|
2025-12-01 12:36:38 +08:00 |
|
PingChuan
|
0c1b81cfb2
|
temp:临时备份,完成一半知识库管理模块
|
2025-12-01 12:33:53 +08:00 |
|
PingChuan
|
754ec2c7b5
|
feat:完成dify知识库文档基础CRUD模块
|
2025-11-30 21:28:49 +08:00 |
|
PingChuan
|
d85010bada
|
feat:完善知识库管理路由权限配置
|
2025-11-30 20:14:51 +08:00 |
|
LiangShiyong
|
af258fe669
|
Merge branch 'PingChuan' into shiy-login
|
2025-11-30 19:33:46 +08:00 |
|
LiangShiyong
|
4fcc92a381
|
feat: 1. 接入CollaboraViewer选中的高亮效果,清除高亮功能,页面销毁自动清除高亮。
2. 合同模板对比接入monaco editor的效果。
3. 添加交叉评查的案卷类型的数据查询。
fix: 1. 修复文档列表的打开模态框蒙板层显示效果。
|
2025-11-30 19:33:05 +08:00 |
|
PingChuan
|
c94cc00138
|
feat:前端新增初版知识库管理页面
|
2025-11-30 19:27:01 +08:00 |
|
PingChuan
|
9614899171
|
feat:重构dify前端组件以及转发逻辑
|
2025-11-30 16:24:35 +08:00 |
|
LiangShiyong
|
fb67f138dc
|
fix: 1. 全局axios添加formData文件上传的检测,删除Content-Type让axios自动检测。
2. 完善入口模块管理的接口的对接。
3. 完善角色权限管理的接口对接和测试。
4. 完善主页的入口模块的图标的显示和图片的显示。
|
2025-11-29 19:37:29 +08:00 |
|
LiangShiyong
|
875ce19bb8
|
Merge branch 'PingChuan' into shiy-login
# Conflicts:
# app/routes/files.upload.tsx
|
2025-11-29 10:59:50 +08:00 |
|
LiangShiyong
|
e3d09aafb3
|
fix: 修复文档上传的页面bug
|
2025-11-29 10:57:05 +08:00 |
|
PingChuan
|
2865970f01
|
fix: 修复从react 引入 useRevalidator的问题,改为从remix引入
|
2025-11-29 10:54:56 +08:00 |
|
LiangShiyong
|
30e100ef3e
|
feat: 1. 本地化思源黑体的字体包并优先使用。
2. 添加权限映射表和全局查看权限的hook,便于路由控制不同权限按钮显示/隐藏。
3. 删除评查点分组的部分旧api方法。
4. 对接评查点分组接口,文档类型接口, 提示词管理接口, 入口模块管理的接口。
5. 优化角色权限管理的接口,完善不用地区的访问权限认证。
6. 优化主页交叉评查和设置的入口样式和布局。
7. 优化评查点分组,评查规则的功能权限校验。
|
2025-11-29 10:37:35 +08:00 |
|
PingChuan
|
f2714360d3
|
feat:完成清除高亮脚本封装
|
2025-11-27 16:13:51 +08:00 |
|
LiangShiyong
|
d5827a2146
|
fix: 1. 接入入口模块的管理接口,优化样式。
2. 将查看文档评查结果详情对接接口,采用接口的方式进行查询。
|
2025-11-26 23:37:14 +08:00 |
|
LiangShiyong
|
9a1a78d578
|
fix: 删除冗余文件
|
2025-11-26 19:11:45 +08:00 |
|
LiangShiyong
|
e9e2934c4e
|
Merge branch 'Wren' into shiy-login
|
2025-11-26 18:05:24 +08:00 |
|
LiangShiyong
|
1b0108e518
|
fix: 1. 系统设置入口进来只会跳转到拥有权限访问的页面。
2. 优化登录样式
|
2025-11-26 18:05:15 +08:00 |
|
TanWenyan
|
c491ad228c
|
chore: 删除RBAC Mock API路由和数据
删除以下Mock文件(已迁移到真实后端API):
- api.v3.rbac.roles._index.tsx
- api.v3.rbac.roles.$roleId.tsx
- api.v3.rbac.roles.$roleId.users.tsx
- api.v3.rbac.users.$userId.roles.tsx
- api.v3.rbac.users.$userId.roles.$roleId.tsx
- rbac-mock-data.server.ts
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-26 17:08:11 +08:00 |
|
TanWenyan
|
1e9e0044ba
|
feat: 角色权限管理v3.0及错误处理优化
1. 角色权限管理升级:
- 添加路由下展开式API权限管理功能
- 新增 getRoleRoutesWithPermissions 和 saveRoleApiPermissions API
- 支持按路由展开/收起查看和勾选权限
- 过滤"所有权限"选项,只显示具体权限
2. 错误处理优化:
- 403 无权限错误显示为"无权限访问该资源"
- 修复评查点分组批量删除显示"成功删除 undefined 个分组"的问题
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-26 17:04:18 +08:00 |
|
LiangShiyong
|
efbf78246f
|
Merge branch 'Wren' into shiy-login
|
2025-11-26 10:49:26 +08:00 |
|
LiangShiyong
|
fe75b4fabd
|
feat: 1. 将交叉评查转移在入口页。
2. 交叉评查渲染的pdf预览组件复用评查点详情的,同时在评查结果中的数据也添加坐标信息。
|
2025-11-26 10:49:15 +08:00 |
|
TanWenyan
|
e7646d17a6
|
fix(evaluation-groups): 修复一级分组显示错误和 React key 警告
## 修复内容
### 1. 修复一级分组过滤问题
- **问题**: getEvaluationPointGroups 函数忽略了 pid 参数,导致返回所有分组(包括二级分组)
- **修复**: 添加 pid 参数处理逻辑,支持传递 "null" 字符串来查询一级分组
- **文件**: app/api/evaluation_points/rule-groups.ts:1186-1198
### 2. 修复 React key 重复警告
- **问题**: 父分组和子分组可能有相同的 ID,导致 "Encountered two children with the same key" 警告
- **修复**: 将 rowKey 从简单的 "id" 改为根据 isParent 生成唯一 key
- **文件**: app/routes/rule-groups._index.tsx:817
### 3. 新增后端 API 规范文档
- **文件**: docs/evaluation/evaluation_point_groups_backend_api_spec.md
- **内容**:
- 完整的 9 个 FastAPI v3 接口规范
- Python Pydantic 模型定义
- TypeScript 接口定义
- pid 参数处理说明(字符串 "null" 转换为 None)
- 10 个完整测试用例
- 数据库表结构建议
## 技术细节
**pid 参数处理**:
```typescript
// 前端发送
GET /api/v3/evaluation-point-groups?pid=null&page=1
// 后端需要识别字符串 "null" 并转换为 None/NULL
if (pid == "null") {
query = query.filter(EvaluationPointGroup.pid.is_(None))
}
```
**唯一 key 生成**:
```typescript
rowKey={(record) => record.isParent ? `parent-${record.id}` : `child-${record.id}`}
```
🔗 相关文档: docs/evaluation/evaluation_point_groups_backend_api_spec.md
|
2025-11-26 10:05:39 +08:00 |
|
TanWenyan
|
d1f764028c
|
Merge branch 'shiy-login' into Wren
|
2025-11-25 20:59:59 +08:00 |
|
LiangShiyong
|
83f8d80e12
|
合并代码
|
2025-11-25 20:50:34 +08:00 |
|
TanWenyan
|
02658b77b2
|
fix(document-types): 修复构建错误 - 替换为 FastAPI v3 接口
问题:
- document-types.new.tsx 仍在使用已重命名的 getAllRuleGroups 函数
- 导致构建失败:"getAllRuleGroups" is not exported
修复:
- getAllRuleGroups → getAllEvaluationPointGroups
- 传递正确的参数:includeDisabled=false, withRuleCount=true
影响范围:
- app/routes/document-types.new.tsx (文档类型创建/编辑页面)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-25 20:24:24 +08:00 |
|
TanWenyan
|
dbc9512c8b
|
refactor(rule-groups): 替换创建/编辑页面为 FastAPI v3 接口
变更内容:
1. 补充重命名 getRuleGroup → getRuleGroup_legacy (rule-groups.ts)
2. 更新导入语句,使用新的 FastAPI v3 函数 (rule-groups.new.tsx)
3. 替换所有函数调用:
- getRuleGroups → getEvaluationPointGroups (2处)
- getRuleGroup → getEvaluationPointGroup
- createRuleGroup → createEvaluationPointGroup
- updateRuleGroup → updateEvaluationPointGroup
影响范围:
- app/api/evaluation_points/rule-groups.ts (补充遗漏的重命名)
- app/routes/rule-groups.new.tsx (创建/编辑页面)
功能:
- 分组创建、编辑、编码唯一性验证
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-25 20:20:52 +08:00 |
|
TanWenyan
|
ef8b843dc5
|
refactor(rule-groups): 替换列表页面为 FastAPI v3 接口
变更内容:
- 更新导入语句,使用新的 FastAPI v3 函数
- getRuleGroups → getEvaluationPointGroups
- deleteRuleGroup → deleteEvaluationPointGroup
- batchUpdateRuleGroupStatus → batchUpdateEvaluationPointGroupStatus
- batchDeleteRuleGroups → batchDeleteEvaluationPointGroups
影响范围:
- app/routes/rule-groups._index.tsx(评查点分组列表页面)
功能:
- 列表查询、删除、批量启用/禁用、批量删除
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-25 20:17:39 +08:00 |
|
LiangShiyong
|
ff0a99cbb4
|
Merge branch 'Wren' into shiy-login
|
2025-11-25 18:24:28 +08:00 |
|
LiangShiyong
|
f76b3a8a92
|
feat: 接入pdf文件的显示高亮效果
|
2025-11-25 18:23:35 +08:00 |
|
TanWenyan
|
f938ca6c00
|
feat(rbac): 添加 RBAC 角色管理 API 代理和模拟数据
添加角色基于访问控制(RBAC)相关接口:
1. API 代理路由
- api.v3.rbac.roles._index.tsx: 角色列表和创建
- api.v3.rbac.roles.$roleId.tsx: 角色详情、更新和删除
- api.v3.rbac.roles.$roleId.users.tsx: 角色用户关联管理
- api.v3.rbac.users.$userId.roles.tsx: 用户角色列表
- api.v3.rbac.users.$userId.roles.$roleId.tsx: 用户角色分配
2. 模拟数据服务
- rbac-mock-data.server.ts: 提供模拟角色和用户角色数据
- 支持 CRUD 操作
- 包含预置的系统管理员、开发者等角色
接口功能:
- ✅ 获取角色列表(支持分页和搜索)
- ✅ 获取角色详情
- ✅ 创建、更新、删除角色
- ✅ 获取角色的用户列表
- ✅ 为用户分配/移除角色
注:当前使用模拟数据,待后端接口完善后切换到真实 API
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-25 18:19:05 +08:00 |
|