root
|
b90f901fd9
|
fix: 修复多公司多飞书应用消息卡片更新失败问题
- feishu_message 表新增 company_id 和 feishu_app_id 字段追踪消息发送者
- 修改 FeishuMessage::saveMessage() 支持保存公司和飞书应用信息
- 修改 FeishuNotificationService 使用原始发送者的飞书应用配置更新消息
- 新增 HttpClient::httpPatchJson() 方法支持 PATCH 请求
- 文档更新:PROJECT_ISSUES.md 添加问题31,APPROVAL_NOTIFICATION_ARCHITECTURE.md 添加多公司架构说明
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-01 12:29:29 +08:00 |
|
root
|
3ebbbefb8d
|
fix: 修复审批详情显示实际审批人和飞书消息emoji编码
1. 审批详情显示修复
- 新增 ApprovalService::getDetail() 方法
- 从 form_data 获取用户实际选择的审批人和抄送人
- 返回每个节点的 actual_approvers 和 approver_statuses
- 修复详情页显示默认审批人而非实际审批人的问题
2. 飞书消息emoji编码修复
- 修复 content 字段格式:应为 card 对象JSON字符串,不是 {"card":{...}}
- 使用 JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES
- 新增 HttpClient::httpPostJson() 方法处理预编码字段
- 修复消息发送错误码 200621
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-01 10:02:53 +08:00 |
|
root
|
8403d24be3
|
fix: 修复飞书消息双重编码问题
问题:
1. FeishuNotificationService 中先 json_encode 然后 HttpClient 又 json_encode
2. 导致 emoji 被双重编码,飞书 API 报错 200621
修复:
1. 直接传递数组给 HttpClient,让 HttpClient 统一进行编码
2. HttpClient 中使用 JSON_UNESCAPED_UNICODE 避免 emoji 转义
3. 移除了 FeishuNotificationService 中的中间编码步骤
|
2026-03-01 09:27:58 +08:00 |
|
root
|
a1b395b147
|
fix: 移除 HttpClient 中的 curl_close() 调用
PHP 8.0+ 中 curl 资源会自动关闭,curl_close() 已被弃用。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-02-26 10:45:22 +08:00 |
|
root
|
6899bad529
|
refactor: 重构飞书授权代码,提取公共工具类
1. 创建 app/util/HttpClient.php
- 公共 HTTP 请求类
- httpGet() 和 httpPost() 方法
- 支持自定义 headers 和 timeout
- 统一错误处理和日志
2. 创建 app/util/FeishuUtil.php
- 飞书授权工具类,可被其他业务模块复用
- getAppAccessToken() - 获取应用访问令牌(带缓存)
- getUserAccessToken() - 获取用户访问令牌
- getUserInfo() - 获取用户信息
- getCompleteUserInfo() - 一步获取完整用户信息
- clearTokenCache() - 清除 token 缓存
3. 重构 app/service/FeishuService.php
- 使用新的工具类
- 移除重复的 HTTP 请求方法
- 保持向后兼容
飞书授权流程:
1. app_access_token (应用级令牌)
2. user_access_token (用户级令牌,需要 app_access_token)
3. 用户信息 (需要 user_access_token)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-02-26 10:43:29 +08:00 |
|