wesmiler 2 лет назад
Родитель
Сommit
2edc006500

+ 2 - 2
app/Console/Commands/SocketServer.php

@@ -198,7 +198,7 @@ class SocketServer extends Command
                         'from_user_avatar' => $fromAvatar,
                         'to_user_avatar' => $toAvatar,
                         'description' => $msgType == 1 ? mb_substr($message, 0, 20) : '',
-                        'content' => $msgType == 2 && $message ? get_image_path($message) : $message,
+                        'content' => $message,
                         'goods_id' => isset($data['goods_id'])? intval($data['goods_id']) : 0,
                         'live_id' => isset($data['live_id'])? intval($data['live_id']) : 0,
                         'chat_key' => $chatKey,
@@ -216,7 +216,7 @@ class SocketServer extends Command
                     // 推送消息给对方
                     $msgData['from_user_avatar'] = get_image_url($msgData['from_user_avatar'], $apiUrl);
                     $msgData['to_user_avatar'] = get_image_url($msgData['to_user_avatar'], $apiUrl);
-                    $msgData['content'] = $msgType == 2? get_image_url($msgData['content'], $apiUrl) : $msgData['content'];
+                    $msgData['content'] = $msgType == 2? get_images_preview(json_decode($msgData['content'],true),'url', $apiUrl) : $msgData['content'];
                     $msgData['time_text'] = dateFormat($msgData['create_time']);
                     $msgData['goods'] = [];
                     $msgData['live_info'] = [];

+ 3 - 3
app/Helpers/common.php

@@ -2134,16 +2134,16 @@ if (!function_exists('get_images_preview')) {
      * @param string $keyName 图片地址键名,空则无键名
      * @return false
      */
-    function get_images_preview($urls, $keyName = 'url')
+    function get_images_preview($urls, $keyName = 'url', $domain='')
     {
         if (empty($urls)) {
             return [];
         }
         foreach ($urls as &$item) {
             if ($keyName) {
-                $item[$keyName] = get_image_url($item[$keyName]);
+                $item[$keyName] = get_image_url($item[$keyName], $domain);
             } else {
-                $item = get_image_url($item);
+                $item = get_image_url($item, $domain);
             }
         }
 

+ 9 - 2
app/Services/Api/MessageService.php

@@ -110,7 +110,7 @@ class MessageService extends BaseService
             foreach ($datas['data'] as &$item) {
                 $ids[] = $item['id'];
                 $item['time_text'] = isset($item['create_time']) && $item['create_time']? dateForWeek($item['create_time']) : '';
-                $item['content'] = $item['msg_type'] ==2? get_image_url($item['content']) : $item['content'];
+                $item['content'] = $item['msg_type'] ==2? get_images_preview(json_decode($item['content'],true)) : $item['content'];
                 $item['from_user_avatar'] = $item['from_user_avatar']? get_image_url($item['from_user_avatar']) : get_image_url('/images/member/logo.png');
                 $item['to_user_avatar'] = $item['to_user_avatar']? get_image_url($item['to_user_avatar']) : get_image_url('/images/member/logo.png');
             }
@@ -291,12 +291,19 @@ class MessageService extends BaseService
         if($userId){
             $where['to_uid'] = $userId;
         }
-        $data = $this->model->where($where)->select('id','description','content','create_time')
+        $data = $this->model->where($where)->select('id','description','msg_type','content','create_time')
             ->orderBy('create_time','desc')
             ->orderBy('id','desc')
             ->first();
         $data = $data? $data->toArray() : [];
         if($data){
+            if($data['msg_type'] ==2){
+                $data['description'] = '[图片]';
+            } else if($data['msg_type'] == 3){
+                $data['description'] = '[视频聊天]';
+            } else if($data['msg_type'] == 4){
+                $data['description'] = '[直播间分享]';
+            }
             RedisService::set($cacheKey, $data, rand(3, 5));
         }
         return $data;