From b1681054a5bacc5e756a29db9b3acb327d206d9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=8D=8E=E6=B8=85?= <18691022700@163.com> Date: Wed, 20 Aug 2025 17:32:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=94=A8=E6=88=B7=E8=B5=84?= =?UTF-8?q?=E6=96=99=20=E5=90=8E=E7=AB=AF=E5=90=8C=E6=AD=A5=E7=BB=99?= =?UTF-8?q?=E8=85=BE=E8=AE=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/api/model/Tencent.php | 29 +++++++++++++++++++++++++++++ application/api/model/User.php | 6 ++++++ application/api/model/UserData.php | 5 ++++- application/api/model/UserZone.php | 5 ++++- 4 files changed, 43 insertions(+), 2 deletions(-) diff --git a/application/api/model/Tencent.php b/application/api/model/Tencent.php index 585f327..86d64fd 100644 --- a/application/api/model/Tencent.php +++ b/application/api/model/Tencent.php @@ -726,6 +726,35 @@ class Tencent extends Model return ['code' => 0, 'msg' => $reslut['ErrorCode'], 'data' => null]; } } + + //修改用户信息 + public function modify_user_info($member_id, $member_name = '', $member_face_url = '') + { + $config = get_system_config(); + $tencentyun_im_appid = $config['tencentyun_im_appid']; + $im_admin = 'administrator'; + $admin_sig = $this->tencent_user_sig_info($im_admin); + $rand = rand(111111111,9999999999); + $postUrl = 'https://console.tim.qq.com/v4/profile/portrait_set?sdkappid='.$tencentyun_im_appid.'&identifier='.$im_admin.'&usersig='.$admin_sig.'&random='.$rand.'&contenttype=json'; + $curlPost['From_Account'] = 'u'.$member_id; + $curlPost['ProfileItem'] = [ + [ + 'Tag' => 'Tag_Profile_IM_Nick', + 'Value' => $member_name + ], + [ + 'Tag' => 'Tag_Profile_IM_Image', + 'Value' => $member_face_url + ] + ]; + $curlPost = json_encode($curlPost); + $reslut = $this->tencent_post_url($postUrl, $curlPost); + if($reslut['ActionStatus'] == 'OK'){ + return ['code' => 1, 'msg' => '操作成功', 'data' => null]; + }else{ + return ['code' => 0, 'msg' => $reslut['ErrorCode'], 'data' => null]; + } + } //====新写的↓=====上面的 能用则用============================================================================================================= diff --git a/application/api/model/User.php b/application/api/model/User.php index d6176b4..23b6987 100644 --- a/application/api/model/User.php +++ b/application/api/model/User.php @@ -713,6 +713,12 @@ class User extends Model $text['text'] = '用户 ' . $text['FromUserInfo']['nickname'] .' 修改了信息'; model('Chat')->sendMsg(1035,$room_id,$text,$user_id); } + + //给腾讯同步用户信息 + $member_name = db::name('user')->where('id' , $user_id)->value('nickname'); + $member_face_url = db::name('user')->where('id' , $user_id)->value('avatar'); + model('Tencent')->modify_user_infos($user_id, $member_name, $member_face_url); + return ['code' => 1, 'msg' => '修改成功', 'data' => null]; } catch(\Exception $e){ diff --git a/application/api/model/UserData.php b/application/api/model/UserData.php index 4fe278b..6199d0f 100644 --- a/application/api/model/UserData.php +++ b/application/api/model/UserData.php @@ -82,7 +82,10 @@ class UserData extends Model $reslut = model('User')->update($data); if ($reslut) { $user_info = model('User')->where('id', $uid)->field('id,nickname,avatar,user_code')->find(); - + //给腾讯同步用户信息 + $member_name = $user_info['nickname']; + $member_face_url = $user_info['avatar']; + model('Tencent')->modify_user_infos($uid, $member_name, $member_face_url); return ['code' => 1, 'msg' => '修改成功', 'data' => $user_info]; } else { return ['code' => 0, 'msg' => '修改失败,','data' =>null]; diff --git a/application/api/model/UserZone.php b/application/api/model/UserZone.php index 3d85fe6..963af99 100644 --- a/application/api/model/UserZone.php +++ b/application/api/model/UserZone.php @@ -641,7 +641,10 @@ class UserZone extends Model //获取字符串的长度和 判断字符串里面是否有, if((mb_strlen($v['loginip'], 'utf-8') > 8 && mb_strpos($v['loginip'], ',') !== false)){ $ipd = explode(',', $v['loginip']); - $v['loginip'] = $ipd[0].' · '.$ipd[1];//省·市 +// $v['loginip'] = $ipd[0].' · '.$ipd[1];//省·市 + $sheng = $ipd[0] =='(null)' ? '' : $ipd[0]; + $shi = $ipd[1] ?? ''; + $v['loginip'] = $sheng.' '.$shi;//省·市 }else{ $v['loginip'] = '未知'; }