Sfoglia il codice sorgente

注册用户,注册到im

lizhen_gitee 1 settimana fa
parent
commit
50febfca06

+ 12 - 2
application/api/controller/Demo.php

@@ -43,12 +43,22 @@ class Demo extends Api
     {
         //腾讯im注册用户
         $tenim = new Tenim();
+        $user = [
+            'id' => 27,
+            'nickname' => '你好a',
+            'avatar'  => config('avatar_girl'),
+        ];
+//        $rs = $tenim->register(''.$user['id'],$user['nickname'],localpath_to_netpath($user['avatar']));
+//        dump($rs);
 
-        $user_list = Db::name('user')->order('id asc')->select();
+        $rs = $tenim->useredit(''.$user['id'],$user['nickname'],localpath_to_netpath($user['avatar']));
+        dump($rs);
+
+        /*$user_list = Db::name('user')->order('id asc')->select();
         foreach($user_list as $key => $user){
             $rs = $tenim->register(''.$user['id'],$user['nickname'],localpath_to_netpath($user['avatar']));
 
-        }
+        }*/
 
 
     }

+ 6 - 0
application/common/library/Auth.php

@@ -316,6 +316,12 @@ class Auth
             //注册成功的事件
             Hook::listen("user_register_successed", $this->_user, $data);
             Db::commit();
+
+            //腾讯im注册用户
+            $tenim = new Tenim();
+            $tenim->register(''.$user->id,$data['nickname'],localpath_to_netpath($data['avatar']));
+
+
         } catch (Exception $e) {
             $this->setError($e->getMessage());
             Db::rollback();

+ 49 - 1
application/common/library/Tenim.php

@@ -108,6 +108,49 @@ class Tenim
 
     }
 
+    //设置资料
+    public function useredit($userid,$nickname = '',$avatar = ''){
+        $random = rand(10000000,99999999);
+        $usersig = $this->usersig("administrator");
+        //dump($usersig);
+        // 获取配置信息
+        $config = config("tencent_im");
+        $url = "https://console.tim.qq.com/v4/profile/portrait_set";
+        $url .= "?sdkappid=".$config["sdkappid"];
+        $url .= "&identifier=administrator";
+        $url .= "&usersig=".$usersig;
+        $url .= "&random=".$random;
+        $url .= "&contenttype=json";
+        $tencentObj = new tencentim($url);
+
+        $ProfileItem = [];
+        if($nickname){
+            $ProfileItem[] = [
+                'Tag'   => 'Tag_Profile_IM_Nick',
+                'Value' => $nickname
+            ];
+        }
+        if($avatar){
+            $ProfileItem[] = [
+                'Tag'   => 'Tag_Profile_IM_Image',
+                'Value' => $avatar
+            ];
+        }
+        $data = [
+            'From_Account' => $this->prefix . (string)$userid,
+            'ProfileItem'  => $ProfileItem
+        ];
+
+        $res = $tencentObj->toSend($data);
+
+        if (empty($res['ActionStatus']) || $res['ActionStatus'] != 'OK') {
+            $error = !empty($res['ErrorInfo']) ? 'im error:'.$res['ErrorInfo'] : 'im error';
+            return $error;
+        }
+
+        return true;
+    }
+
     //注册用户到im
     public function register($userid,$nickname,$avatar) {
 
@@ -182,7 +225,12 @@ class Tenim
         // 获取配置信息
         $config = config("tencent_im");
         $usersigObj = new getusersig($config["sdkappid"],$config["key"]);
-        $usersig = $usersigObj->genUserSig($this->prefix . $user_id);
+
+        if($user_id != 'administrator'){
+            $user_id = $this->prefix . $user_id;
+        }
+
+        $usersig = $usersigObj->genUserSig($user_id);
         return $usersig;
     }
 }