vali 6 vuotta sitten
vanhempi
commit
585133037b

+ 56 - 0
vendor/GatewayWorker_linux/GatewayWorker/Applications/whisper/Events.php

@@ -623,6 +623,7 @@ class Events
                 'task' => 0,
                 'intime' => time(),
                 'signature' => $kfinfo['signature'],
+                'kf_token' => $kfinfo['token'],
                 'status' => 2, // 1为在线(接收分配、接收消息)2为隐身(不接收分配、只接收消息)3、休息
                 'user_info' => [],  //在会话的用户cid  key为clientid ,值为工单号               ///////弃用 改为hash数据了
             ];
@@ -637,6 +638,7 @@ class Events
         $_SESSION['uid'] = $message['uid'];
         $_SESSION['name'] = $message['name'];
         $_SESSION['client_id'] = $client_id;
+        $_SESSION['kf_token'] = $kfinfo['token'];
 
         Gateway::joinGroup($client_id, 'group_' . $message['group']);
 
@@ -2476,5 +2478,59 @@ class Events
         return false;
     }
 
+
+    //公共请求接口
+    public static function getApiData($url, $paras, $api_token, $user_token = '')
+    {
+        if (empty($user_token)) {
+            if (isset($_SESSION['kf_token'])) {
+                $user_token = $_SESSION['kf_token'];
+            } else {
+                return ['code' => 0, 'msg' => 'token empty error', 'data' => []];
+            }
+        }
+
+        $ret = self::request_post($url, $paras, $api_token, $user_token);
+        if ($ret) {
+            $ret = json_decode($ret, true);
+            return $ret;
+        } else {
+            return ['code' => 0, 'msg' => 'api ret error', 'data' => []];
+        }
+    }
+
+    //api token 生成
+    public static function apiTokenMake($action, $controller = 'ext', $module = 'service')
+    {
+        return md5(strtolower($action . 'Customer-Service' . $controller . $module));
+    }
+
+    public static function request_post($url = '', $param = '', $apitoken = '', $usetoken = '')
+    {
+        if (empty($url)) {
+            return false;
+        }
+
+        $headers = array(
+            'apiToken' => $apitoken,
+            'userToken' => $usetoken,
+        );
+
+        $postUrl = $url;
+        $curlPost = $param;
+        $ch = curl_init();//初始化curl
+        curl_setopt($ch, CURLOPT_URL, $postUrl);//抓取指定网页
+        curl_setopt($ch, CURLOPT_HEADER, 0);//设置header
+        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
+        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上
+        curl_setopt($ch, CURLOPT_POST, 1);//post提交方式
+        curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
+        curl_setopt($ch, CURLOPT_TIMEOUT, 5);
+        $data = curl_exec($ch);//运行curl
+        curl_close($ch);
+
+        return $data;
+    }
+
 }