LiangShiyong
|
2e604e8ede
|
feat: 生成一个结果统计的组件。
|
2025-11-20 16:19:48 +08:00 |
|
LiangShiyong
|
6dc9b4e468
|
feat: 1. 完善文档列表的显示效果,数据对接后端接口返回。
2. 对评查点分组和文档类型的编辑删除新增操作进行限制。
|
2025-11-20 15:26:11 +08:00 |
|
LiangShiyong
|
2edde8a8ab
|
feat: 1. 完善全局路由的访问权限的验证。 2. 完善接口返回的树形路由结构 3.优化评查点列表的查询,改用表连接的方式,废弃使用数据库的rpc函数,同时进行地区隔离和权限隔离。
4. 删除冗余的评查文件列表。 5.完善上传文档 页面初始化查询数据的时候 查询文件类型(改成动态指定) 6. 添加获取入口模块的查询接口。 7.完善服务端中判断token的有效性,失效则跳转到登录页。
8. 重构layout和sidebar的页面,改成由动态权限路由来渲染对应的菜单栏。 9.重构入口页面,通过动态查询根据不同地区的人返回不同的入口。
|
2025-11-20 01:35:30 +08:00 |
|
LiangShiyong
|
adfb84a31d
|
feat: 1. 修改完善全局路由检测。 2. 完善统一的token认证管理,token失效自动跳转到登录页。
|
2025-11-18 20:32:43 +08:00 |
|
TanWenyan
|
e7b1c2e294
|
chore: 准备 v1.6.0 稳定版本发布
- 添加 .dockerignore 配置文件
- 更新 .gitignore 忽略 Claude Code 本地设置
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-18 12:00:44 +08:00 |
|
LiangShiyong
|
bfe39e45a9
|
feat: 1. 添加axios全局路由拦截进行自动添加请求jwt。 2.重新整理路由表。 3. 文档列表新增版本差异对比。 4.菜单路由可访问列表通过对接接口返回,添加全局路由检测。
5. 修改统一认证登录和管理员登录是通过接口形式进行,存储返回的accessToken。 6. 修改交叉评查的部分样式
|
2025-11-18 11:06:24 +08:00 |
|
LiangShiyong
|
8a50671c39
|
fix: 1.将主页和法务助手对话设置成手机也能够正确加载的响应式布局。
2. 修改合同重新上传模板的可接受文件类型,修改对接的上传模板对应的接口。
3. 交叉评查任务列表去除任务名称的点击效果。
4. 交叉评查文件预览在点击完成评查的按钮后会返回任务列表并打开任务的文档列表。
5.修复点击完成评查按钮造成页面刷新。
6. 修复创建任务的第3步无法返回列表。
|
2025-11-12 15:51:39 +08:00 |
|
LiangShiyong
|
c20c168a13
|
fix: 修改单点登录保存用户的jwt的生成,通过user_id为login,绕过验证进行表的增改。
|
2025-11-11 21:09:11 +08:00 |
|
LiangShiyong
|
12ec2ad7bd
|
fix: 完善单点登录传递回调地址和serverUrl的功能。优化token刷新机制,判断单点登录和管理员登录等等不同路径的处理机制。提示词管理的模板数据查找的时候只需要返回固定的5个类型。隐藏评查点设置中关于抽取的自定义模板的选择。
|
2025-11-11 14:25:44 +08:00 |
|
LiangShiyong
|
95381ddcc2
|
fix: 完善提示词管理页面的优化,数据库中添加相关字段来区分vlm和llm提示词。评查点设置中抽取设置的多模态抽取的类型通过查询数据库来返回数据。
|
2025-11-11 01:16:27 +08:00 |
|
LiangShiyong
|
ddad57529d
|
fix: 修改评查点设置中的多模态抽取设置的逻辑。
|
2025-11-10 20:40:08 +08:00 |
|
LiangShiyong
|
b375c35825
|
fix: 1.将合同模板和交叉评查中的文件下载改用通过后端api进行转发获取文件来下载。 2.修复登录过程中token认证的代码问题。 3.完善api-config文件中不同端口号不同的回调地址配置。
|
2025-11-07 18:36:15 +08:00 |
|
LiangShiyong
|
80f05da984
|
添加正式环境的idaas server地址
|
2025-11-07 11:15:54 +08:00 |
|
LiangShiyong
|
6c09285ac9
|
修改省局的端口的判断为51707
|
2025-11-07 11:12:43 +08:00 |
|
LiangShiyong
|
855d74b979
|
Merge branch 'Wren' into shiy-login
|
2025-11-06 18:11:04 +08:00 |
|
LiangShiyong
|
730e7cb7fe
|
fix: 修复提示词模板识别’{{}}‘的问题
|
2025-11-06 18:10:55 +08:00 |
|
TanWenyan
|
c783e54455
|
Merge branch 'shiy-login' into Wren
# Conflicts:
# .env
|
2025-11-06 15:05:32 +08:00 |
|
LiangShiyong
|
1f9c8293a8
|
添加.env文件
|
2025-11-06 14:52:50 +08:00 |
|
LiangShiyong
|
b99ae6df84
|
fix: 优化提示词模板的创建者的显示
|
2025-11-06 14:51:31 +08:00 |
|
TanWenyan
|
e05c8585f0
|
同步env
|
2025-11-05 21:05:44 +08:00 |
|
TanWenyan
|
2ac0e9a0bf
|
添加PM2配置中缺失的JWT_SECRET环境变量
问题:
- PM2启动时报错:JWT_SECRET environment variable is not set
- 所有客户端实例(梅州、云浮、揭阳、潮州、省局)都缺少JWT_SECRET配置
- 导致服务无法正常启动
修复:
为每个客户端实例添加独立的JWT_SECRET环境变量:
- 梅州(51703): docreview-jwt-secret-key-production-meizhou-2024
- 云浮(51704): docreview-jwt-secret-key-production-yunfu-2024
- 揭阳(51705): docreview-jwt-secret-key-production-jieyang-2024
- 潮州(51706): docreview-jwt-secret-key-production-chaozhou-2024
- 省局(51707): docreview-jwt-secret-key-production-province-2024
注意:
- 每个客户端使用不同的JWT_SECRET增强安全性
- JWT_SECRET用于生成和验证前端JWT token
- 必需配置,否则服务无法启动
现在PM2可以正常启动所有客户端实例
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-05 20:59:57 +08:00 |
|
LiangShiyong
|
34cba4a34f
|
fix: 修复评查点分组的结果保存异常
|
2025-11-03 09:47:46 +08:00 |
|
jiangao
|
054fc4f697
|
修复当封面是-1页码的时候无法索引定位
|
2025-10-31 16:09:44 +08:00 |
|
LiangShiyong
|
6a627f356d
|
撤销固定封面的改动
|
2025-10-30 18:20:35 +08:00 |
|
LiangShiyong
|
8358b7a585
|
fix:修改跳转页面如果目标页为1则不进行偏移
|
2025-10-30 18:09:02 +08:00 |
|
TanWenyan
|
d11fc54da2
|
修复文件审核状态更新误报Network Error的问题
问题分析:
- 上传页面等待进度时,前端提示"更新文件审核状态失败:Network Error"
- 实际上后端已成功更新审核状态
- 类似删除会话的问题,API报错但操作实际成功
根本原因:
- axios请求可能因超时/网络波动抛出异常
- postgrestPut捕获错误并返回error
- 前端收到error后显示失败提示
- 但后端实际已成功处理并更新数据库
修复方案:
1. updateDocumentAuditStatus函数优化
- 添加详细日志记录请求和响应
- 即使postgrestPut返回error也返回success
- catch异常也返回success
2. 采用宽容策略的理由
- 更新审核状态具有幂等性
- 重复更新不会造成数据问题
- 下次刷新会显示正确状态
- 避免误报影响用户体验
现在更新文件审核状态不再误报错误,用户体验更流畅
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-10-30 17:51:59 +08:00 |
|
TanWenyan
|
a33213bd1d
|
修复删除会话的错误提示问题(实际成功但显示500错误)
问题分析:
- 删除会话实际成功,但前端提示"Failed to delete conversation: 500"
- difyFetch在响应非2xx时直接抛出异常,导致deleteConversation无法正常返回
- 即使Dify已删除会话,前端也会收到500错误
修复方案:
1. dify-client.server.ts - deleteConversation方法
- 添加try-catch捕获difyFetch异常
- 删除操作特殊处理:即使API返回错误也返回成功
- 理由:会话可能已被删除,避免误报错误
- 下次加载会话列表时会自然发现会话已不存在
2. api.client.ts - deleteConversation函数
- 添加详细日志记录响应状态
- 记录错误详情便于调试
现在删除会话不再误报错误,用户体验更好
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-10-30 15:44:41 +08:00 |
|
TanWenyan
|
c93a87a65e
|
优化思考模式AI回复的UI显示,支持<think>标签解析
新增功能:
1. 创建消息解析工具 message-parser.ts
- 解析 <think> 标签,提取思考过程
- 分离思考内容和实际回复
2. 创建思考过程展示组件 thinking-block.tsx
- 可折叠/展开的思考过程区域
- 参考 GPT-5 和 Claude 网页版设计
- 默认折叠,点击展开查看详细思考过程
3. 修改聊天消息组件 chat-message.tsx
- 集成思考过程解析和展示
- 思考过程单独显示在顶部
- 实际回复正常显示在下方
4. 新增样式 thinking-block.css
- 契合当前淡绿色(#a4e2ad)配色方案
- 渐变背景和流畅动画效果
- 灯泡图标标识思考过程
- 完整的响应式设计
UI效果:
- 思考过程:淡绿色渐变背景,可折叠区域
- 实际回复:正常Markdown渲染
- 交互流畅:展开/折叠动画平滑
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-10-30 15:21:27 +08:00 |
|
TanWenyan
|
8e4213e634
|
修复删除对话时报500错误的问题
问题:
- 删除对话实际成功但前端报错"Failed to delete conversation: 500"
- Dify删除API返回的可能不是JSON格式(空响应或文本)
- 原代码直接调用response.json()导致解析失败抛出异常
修复:
1. 添加Content-Type检查,只有JSON才解析
2. 非JSON响应直接返回成功标识 { result: 'success' }
3. 添加详细日志方便调试
现在删除对话能正确显示成功,无需刷新页面
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-10-30 15:16:37 +08:00 |
|
TanWenyan
|
5cff5f2a5d
|
添加对话记录保存详细日志,诊断conversation_id传递问题
添加日志位置:
1. chat/index.tsx: 发送消息、接收会话ID变更、初始化读取localStorage
2. use-chat-message.ts: 发送消息、接收新会话ID、处理新会话
3. use-conversation.ts: setCurrConversationId保存到localStorage
帮助诊断为什么对话记录没有固定(每次都创建新会话)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-10-30 15:06:24 +08:00 |
|
TanWenyan
|
78e218b953
|
添加返回数据日志,查看API响应内容
添加日志:
1. 打印fetchConversations返回的完整数据
2. 打印fetchAppParams返回的完整数据
3. 打印chat组件接收到的数据
4. 打印解析后的conversations数组
帮助诊断数据格式问题
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-10-30 14:55:46 +08:00 |
|
TanWenyan
|
a5e5f289c1
|
添加详细的客户端请求日志,便于排查问题
添加日志:
1. 请求URL和配置
2. 响应状态
3. 错误详情(包含响应body)
4. 捕获所有异常
帮助诊断:
- API_URL配置是否正确
- 请求是否发送成功
- 响应状态码和内容
- 具体的错误信息
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-10-30 14:51:05 +08:00 |
|
TanWenyan
|
79e0f542be
|
回滚:客户端调用Remix API routes,避免CORS问题
问题分析:
直接让客户端调用FastAPI后端会遇到:
1. CORS跨域限制
2. Cookie无法在跨域情况下传递
3. 安全性降低
正确架构(三层代理):
浏览器 → Remix /api/* → FastAPI /dify/* → Dify
流程说明:
1. 浏览器:fetch('/api/chat-messages', { credentials: 'include' })
- 相对路径,同域请求,无CORS问题
- Cookie自动携带
2. Remix API routes (app/routes/api.chat-messages.tsx)
- 从session获取JWT
- 调用 difyClient.createChatMessage(..., jwt)
3. dify-client.server.ts
- 使用 API_BASE_URL (根据端口配置)
- 调用 FastAPI: http://baseUrl/dify/chat-messages
- 携带JWT: Authorization: Bearer {jwt}
4. FastAPI /dify 路由
- 验证JWT,提取username
- 调用Dify: http://nas.7bm.co:12980/v1/chat-messages
baseUrl配置(服务端使用):
- 端口51703 → http://172.16.0.55:8073
- 端口51704 → http://10.79.97.17:8001
- ...
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-10-30 14:49:54 +08:00 |
|
TanWenyan
|
679fa31ce3
|
重构:客户端直接调用FastAPI后端,不再通过Remix中转
架构变更:
旧架构:浏览器 → Remix /api/* → dify-client.server → FastAPI /dify → Dify
新架构:浏览器 → FastAPI /dify/* → Dify
修改:
1. app/config/chat.ts
- getApiBaseUrl() 根据端口映射返回FastAPI后端地址
- 端口映射表:
* 51703 → http://172.16.0.55:8073
* 51704 → http://10.79.97.17:8001
* 51705 → http://10.79.97.17:8002
* 51706 → http://10.79.97.17:8003
* 51707 → http://10.79.97.17:8004
* 51708 → http://10.79.97.17:8005
- API_URL: `${baseUrl}/dify`
示例(端口51703):
- 浏览器Network: http://172.16.0.55:8073/dify/chat-messages
- 不再经过Remix API routes
注意:
- 需要FastAPI配置CORS允许跨域
- Cookie需要在跨域情况下正确传递
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-10-30 14:44:49 +08:00 |
|
TanWenyan
|
215ecff41d
|
修复:恢复CHAT_CONFIG.APP_ID和API_KEY字段,解决"应用配置不正确"错误
问题:移除APP_ID和API_KEY后,chat/index.tsx第125行检查失败,
导致显示"应用暂时不可用,应用配置不正确"
修改:
1. app/config/chat.ts
- 添加 APP_ID = 'docreview-chat' (用于localStorage key)
- 添加 API_KEY = '' (空值,保持兼容性)
- 说明:API_KEY不再用于直接调用Dify,服务端通过JWT处理
2. app/components/chat/index.tsx
- 修改hasSetAppConfig检查:从检查APP_ID和API_KEY改为只检查API_URL
- 说明:客户端现在通过Remix API routes调用,不需要验证API_KEY
调用流程保持不变:
客户端 → /api/* → JWT验证 → FastAPI /dify → Dify
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-10-30 14:39:52 +08:00 |
|
TanWenyan
|
5949d057fb
|
添加详细日志:显示服务端实际调用的FastAPI地址
添加日志输出:
1. 启动时显示完整的Dify API URL配置
- apiBaseUrl: 当前环境的FastAPI地址
- fullDifyUrl: 完整的Dify代理路径
2. 每次请求时显示:
- endpoint: 请求的具体端点
- fullUrl: 完整的请求URL (baseUrl/dify/endpoint)
- baseUrl: FastAPI基础地址
- hasJWT: 是否携带JWT
示例输出(端口51703):
🔧 Dify Client Config: {
apiUrl: 'http://172.16.0.55:8073/dify',
apiBaseUrl: 'http://172.16.0.55:8073',
fullDifyUrl: 'http://172.16.0.55:8073/dify'
}
🌐 [DifyClient] 请求FastAPI代理: {
endpoint: 'chat-messages',
fullUrl: 'http://172.16.0.55:8073/dify/chat-messages',
baseUrl: 'http://172.16.0.55:8073',
hasJWT: true
}
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-10-30 14:33:10 +08:00 |
|
TanWenyan
|
a522d066ab
|
修正:Dify统一使用FastAPI后端地址,移除独立difyBaseUrl配置
问题:错误地为Dify创建了独立的difyBaseUrl配置
正确架构:
客户端 → /api/* → Remix routes → dify-client.server →
FastAPI baseUrl/dify/* → Dify服务
修改:
1. app/config/api-config.ts
- 移除 difyBaseUrl 字段
- 所有环境统一使用 baseUrl (FastAPI后端地址)
- 添加注释说明 baseUrl 包含 /dify 代理
2. app/services/dify-client.server.ts
- 使用 API_BASE_URL 而非 DIFY_BASE_URL
- API_URL: `${API_BASE_URL}/dify`
各环境FastAPI地址:
- development: http://172.16.0.55:8000
- testing: http://nas.7bm.co:8873
- production: http://10.79.97.17:8000
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-10-30 14:24:35 +08:00 |
|
TanWenyan
|
8099d333e4
|
关键修复:移除root.tsx中Dify环境变量注入
问题:root.tsx 将 NEXT_PUBLIC_API_URL, NEXT_PUBLIC_APP_ID,
NEXT_PUBLIC_APP_KEY 注入到客户端 window.__ENV,导致客户端
仍然使用环境变量中的 Dify 直连地址
修改:
- 移除 ENV 对象中的所有 Dify 相关环境变量
- 客户端不再从 window.__ENV 读取 Dify 配置
- 确保客户端只使用 /api 路由
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-10-30 14:20:40 +08:00 |
|
TanWenyan
|
cf6e9c2421
|
紧急修复:客户端改为调用Remix API routes,不再直接调用Dify API
根本问题:客户端代码直接调用Dify API(12980端口),绕过了服务端代理
修改内容:
1. app/config/api-config.ts
- 添加独立的 difyBaseUrl 配置(指向外网 nas.7bm.co:8000)
- 导出 DIFY_BASE_URL 供服务端使用
2. app/config/chat.ts
- 移除直接Dify API配置(NEXT_PUBLIC_API_URL, APP_ID, API_KEY)
- 移除 generateUserId 函数
- API_URL 改为 '/api'(指向Remix API routes)
3. app/services/api.client.ts
- 所有fetch调用改为相对路径 /api/*
- 移除所有 Authorization 头(服务端自动处理JWT)
- 移除所有 user 参数传递(服务端从JWT提取)
- credentials 改为 'include' 以携带cookie
4. app/services/dify-client.server.ts
- 使用 DIFY_BASE_URL 替代 API_BASE_URL
5. app/utils/dify-test.client.ts
- 测试函数改为调用Remix API routes
调用链路:
客户端 → /api/* → Remix API routes → dify-client.server.ts → FastAPI /dify → Dify
解决问题:
- ✅ 不再直接调用 nas.7bm.co:12980(Dify端口)
- ✅ 统一通过 nas.7bm.co:8000/dify(FastAPI代理)
- ✅ 所有请求都经过JWT认证
- ✅ user字段由后端自动管理
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-10-30 11:25:37 +08:00 |
|
TanWenyan
|
63acabccc9
|
配置优化:切换到生产环境内网地址并添加Dify前端修改文档
1. 更新API配置:梅州端口51703切换到内网地址172.16.0.55:8073
2. 测试环境切换到正确的端口8873
3. 启动脚本改用生产模式:start:pm2:production:multi
4. 添加紧急修改文档:URGENT-前端必须修改.md
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-10-30 11:14:43 +08:00 |
|
TanWenyan
|
e41c457076
|
修复session中的user生成逻辑
问题:
- session.server.ts 还在调用已删除的 generateUserId 函数
- 生成的 user 格式为 user_{APP_ID}:{sessionId},与后端期望的 username 不符
- 导致后端无法正确识别用户
修复:
- 移除 difyUtils 导入
- 移除 getSessionInfo 中的 user 字段生成
- 现在完全由后端从 JWT 中提取 username 管理 user 字段
影响:
- getSessionInfo 返回值不再包含 user 字段
- 所有 API 路由已经不再使用 session 中的 user
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-10-30 10:48:18 +08:00 |
|
TanWenyan
|
3254cec5ca
|
修复Dify对话记录加载问题:移除user参数,由后端自动管理
问题描述:
- 用户登录后无法加载历史对话记录
- 根本原因:前端传递的user值与实际用户不一致,导致Dify无法找到对应的对话
解决方案:
- 后端已实现user字段自动填充功能(v1.2.7-post2)
- 前端采用方案A:完全移除user参数传递
- 让后端从JWT中自动提取username并管理user字段
修改内容:
1. dify-client.server.ts
- 移除所有方法的user参数
- GET请求移除user查询参数
- POST/DELETE请求移除user字段
- 移除generateUserId工具函数
2. 所有API路由
- 移除getSessionInfo中的user解构
- 移除difyClient方法调用中的user参数传递
- 日志中移除user信息输出
影响接口:
- GET /dify/conversations - 会话列表
- GET /dify/messages - 消息历史
- POST /dify/chat-messages - 发送消息
- POST /dify/conversations/{id}/name - 重命名会话
- DELETE /dify/conversations/{id} - 删除会话
- POST /dify/messages/{id}/feedbacks - 消息反馈
参考文档:docs/dify-frontend-user-field-guide.md
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-10-30 10:37:45 +08:00 |
|
LiangShiyong
|
05cc992c78
|
fix:修复编辑评查点无法返回
|
2025-10-30 09:55:21 +08:00 |
|
TanWenyan
|
676e1a5f7d
|
优化 Docker 配置
主要变更:
- 升级基础镜像从 Node.js 20 到 Node.js 24
- 优化 Dockerfile 权限设置(start.sh 从 777 改为 755)
- 简化 docker-compose.yml 配置,移除 nginx 服务
- 添加 command 指定启动脚本
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-10-30 09:50:14 +08:00 |
|
TanWenyan
|
c4c08cb59b
|
重构Dify客户端:改为通过FastAPI代理并使用JWT认证
主要变更:
- 修改 dify-client.server.ts 使用 JWT 认证通过 FastAPI 后端代理访问 Dify API
- 所有 Dify API 路由(chat-messages, parameters, conversations, messages)添加 JWT 获取和传递逻辑
- API_URL 从直连 Dify 改为 FastAPI 后端的 /dify 路由
- 增强 JWT 认证失败的错误处理(返回401状态码)
- 添加详细的日志输出,便于调试
安全提升:
- DIFY_API_KEY 从前端移至后端,不再暴露在客户端代码
- 使用统一的 JWT 认证体系,提高系统安全性
文档:
- 新增 dify-proxy-backend-integration.md - 后端对接文档(包含完整 FastAPI 实现示例)
- 新增 dify-frontend-modification-summary.md - 前端修改总结
- 新增 CLAUDE.md - 项目架构说明文档
影响范围:
- app/services/dify-client.server.ts - 核心服务层
- app/routes/api.chat-messages.tsx - 聊天消息
- app/routes/api.parameters.tsx - 应用参数
- app/routes/api.conversations.tsx - 会话列表
- app/routes/api.messages.tsx - 消息历史
- app/routes/api.conversations.$id.tsx - 删除会话
- app/routes/api.conversations.$id.name.tsx - 重命名会话
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-10-30 09:47:48 +08:00 |
|
LiangShiyong
|
064f05ffa5
|
添加根据合同/卷宗的入口进行分类评查点列表,同时区分卷宗添加的分组属于卷宗,合同添加的分组属于合同
|
2025-10-29 21:01:01 +08:00 |
|
LiangShiyong
|
e56d199c3c
|
添加测试案卷的搜索条件
|
2025-10-29 18:40:18 +08:00 |
|
LiangShiyong
|
1f16ab2325
|
添加测试的行政处罚卷宗,添加登录的地区的字段(根据端口号)
|
2025-10-29 15:54:59 +08:00 |
|
LiangShiyong
|
59706b70d0
|
给所有请求都加上jwt,隐藏生成jwt的secret(放到.env中),隐藏app-secret(放在pm2运行配置文件中,后续直接读取环境配置即可)
|
2025-10-17 15:28:22 +08:00 |
|
jiangao
|
9ec6d30573
|
隐藏上传文件入口,交叉评查的文件查看添加防抖点击,升级pdf加载组件版本优化清晰度
|
2025-09-30 14:32:00 +08:00 |
|