消息优化

This commit is contained in:
wong
2026-01-19 10:01:40 +08:00
parent 9fe0f9f677
commit 16aec83f02

View File

@@ -62,6 +62,17 @@ class MessageController extends BaseController
// 发送请求获取好友列表
$result = requestCurl($this->baseUrl . 'api/WechatFriend/listWechatFriendForMsgPagination', $params, 'POST', $header, 'json');
$response = handleApiResponse($result);
// 确保 response 是数组格式
if (!is_array($response)) {
$response = [];
}
// 确保 results 字段存在且是数组
if (!isset($response['results']) || !is_array($response['results'])) {
$response['results'] = [];
}
// 获取同步消息标志
$syncMessages = $this->request->param('syncMessages', true);
// 如果需要同步消息,则获取每个好友的消息
@@ -89,10 +100,18 @@ class MessageController extends BaseController
// 调用获取消息的接口
$messageResult = requestCurl($this->baseUrl . 'api/FriendMessage/searchMessage', $messageParams, 'GET', $header, 'json');
$messageResponse = handleApiResponse($messageResult);
// 确保 messageResponse 是数组格式
if (!is_array($messageResponse)) {
$messageResponse = [];
}
// 保存消息到数据库
if (!empty($messageResponse)) {
foreach ($messageResponse as $item) {
$this->saveMessage($item);
if (is_array($item)) {
$this->saveMessage($item);
}
}
}
@@ -159,10 +178,17 @@ class MessageController extends BaseController
$result = requestCurl($this->baseUrl . 'api/FriendMessage/searchMessage', $params, 'GET', $header, 'json');
$response = handleApiResponse($result);
// 确保 response 是数组格式
if (!is_array($response)) {
$response = [];
}
// 保存数据到数据库
if (!empty($response)) {
foreach ($response as $item) {
$this->saveMessage($item);
if (is_array($item)) {
$this->saveMessage($item);
}
}
}
@@ -343,13 +369,20 @@ class MessageController extends BaseController
$result = requestCurl($this->baseUrl . 'api/ChatroomMessage/searchMessage', $params, 'GET', $header, 'json');
$response = handleApiResponse($result);
// 确保 response 是数组格式
if (!is_array($response)) {
$response = [];
}
// 保存数据到数据库
if (!empty($response)) {
foreach ($response as $item) {
$res = $this->saveChatroomMessage($item);
if(!$res){
return errorJson('保存群聊消息失败');
}
if (is_array($item)) {
$res = $this->saveChatroomMessage($item);
if(!$res){
return errorJson('保存群聊消息失败');
}
}
}
}