lip 3 bulan lalu
induk
melakukan
5e6ea504bb

+ 1 - 13
app/admin/controller/Home.php

@@ -89,11 +89,7 @@ class Home extends BaseController
                 'code' => 'vi',
                 'name' => '越南语',
                 'icon' => '',
-            ], [
-                'code' => 'pt-br',
-                'name' => '巴西葡萄牙语',
-                'icon' => '',
-            ], [
+            ],[
                 'code' => 'hi',
                 'name' => '印地语',
                 'icon' => '',
@@ -101,14 +97,6 @@ class Home extends BaseController
                 'code' => 'en-ph',
                 'name' => '菲律宾语',
                 'icon' => '',
-            ],  [
-                'code' => 'en-in',
-                'name' => '印度英语',
-                'icon' => '',
-            ],[
-                'code' => 'tl',
-                'name' => '他加禄语',
-                'icon' => '',
             ], 
         ];
         foreach ($list as &$item ) {

+ 40 - 0
app/admin/controller/Kefu.php

@@ -18,6 +18,7 @@ use app\admin\model\KefuLog;
 use app\enterprise\model\{Message,Friend};
 use Exception;
 use think\facade\Db;
+use Google\Cloud\Translate\V2\TranslateClient;
 
 class Kefu extends BaseController
 {
@@ -475,4 +476,43 @@ class Kefu extends BaseController
         return $this->success(['chat_num' => $chat_num]);
     }
 
+    //翻译
+    public function translate() 
+    {
+        try {
+            $language_code = $this->request->param('language_code') ?? $this->lang;
+            $msg_id = $this->request->param('msg_id');
+            $content = Message::where('msg_id',$msg_id)->where('type','text')->value('content');
+            $content = strip_tags($content);
+
+            $change = [
+                'zh' => 'zh-CN',
+                'zh-cn' => 'zh-CN',
+                'zh-tw' => 'zh-TW',
+                'jp'    => 'ja',
+                'en-us' => 'en',
+                'en-US' => 'en'
+            ];
+            if (isset($change[$language_code])) {
+                $language_code = $change[$language_code];
+            }
+            
+            if (!empty($content)) {
+                $translate = new TranslateClient([
+                    'key' => env('GOOGLE_KEY') //AIzaSyCQmhmpEIm0ysoTznbm1NrDASovMxhmeSc 替换为你自己的API密钥
+                ]);
+                // 3. 执行翻译(目标语言指定为英文 en)
+                $result = $translate->translate($content, [
+                    'target' => $language_code, // 固定为 en 表示翻译成英文
+                ]);
+                if (!empty($result['text'])) {
+                    return $this->success('提交成功', ['content' => $result['text']]);
+                }
+            }
+        } catch (\Exception $e) {
+            return $this->error('翻译失败:' . $e->getMessage());
+        }
+        return $this->success('翻译成功', ['content' => '']);
+    }
+
 }

+ 0 - 16
app/common/controller/User.php

@@ -10,11 +10,6 @@ use app\manage\model\Config;
 use think\facade\Session;
 use think\facade\Db;
 use GatewayClient\Gateway;
-
-use Google\Cloud\Translate\V3\Client\TranslationServiceClient;
-use Google\Cloud\Translate\V3\TranslateTextRequest;
-
-
 /**
  * 控制器基础类
  */
@@ -50,17 +45,6 @@ class User
     //客户端登录
     public function login(){
 
-    // $client = new TranslationServiceClient();
-
-    // $request = new TranslateTextRequest();
-    // $request->setTargetLanguageCode('en-US');
-    // $request->setContents(['こんにちは']);
-    // $request->setParent('projects/php-docs-samples-kokoro');
-
-    // // The request and response will be logged to STDOUT when the environment
-    // // variable GOOGLE_SDK_PHP_LOGGING=true
-    // $response = $client->translateText($request);
-    // print_r($response);die;
         $params=request()->param();
         $where['role'] = 0;
         if (empty($params['account']) || empty($params['uid']) || empty($params['from'])) {

+ 2 - 0
app/enterprise/controller/Im.php

@@ -257,6 +257,8 @@ class Im extends BaseController
                 ];
                 Message::sendMsg($param, 0);
                 
+                //通知客服已接线
+                wsSendMsg(0,'handleChat',['user_id'=>$user_id]);
             }
         } catch (Exception $e) {
             return $this->error($e->getMessage());

+ 2 - 1
composer.json

@@ -42,7 +42,8 @@
         "thans/tp-jwt-auth": "^1.3",
         "singka/singka-sms": "^1.6",
         "topthink/think-api": "^1.0",
-        "google/cloud-translate": "1.14.2"
+        "google/cloud-translate": "1.14.2",
+        "rize/uri-template": "0.3.5"
     },
     "require-dev": {
         "symfony/var-dumper": "^4.2",