|
|
@@ -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;
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|