Parcourir la source

获取用户资料,主页版

lizhen_gitee il y a 1 an
Parent
commit
e7a6513d6c
1 fichiers modifiés avec 74 ajouts et 2 suppressions
  1. 74 2
      application/api/controller/Usercenter.php

+ 74 - 2
application/api/controller/Usercenter.php

@@ -74,7 +74,6 @@ class Usercenter extends Api
 
         $field = $this->allowFields;
         $field[] = 'longitude';
-        $field[] = 'latitude';
         $field[] = '(st_distance(point (' . $this->auth->longitude . ', ' . $this->auth->latitude . '),point(longitude,latitude))*111195) as distance';
         $userinfo = Db::name('user')->field($field)->where('id',$uid)->find();
 
@@ -167,7 +166,6 @@ class Usercenter extends Api
 
         $field = $this->allowFields;
         $field[] = 'longitude';
-        $field[] = 'latitude';
         $field[] = '(st_distance(point (' . $this->auth->longitude . ', ' . $this->auth->latitude . '),point(longitude,latitude))*111195) as distance';
         $userinfo = Db::name('user')->field($field)->where('id',$uid)->find();
 
@@ -279,10 +277,84 @@ class Usercenter extends Api
 
     }
 
+    //获取他人主页,简版
+    public function getuserinfo_domain(){
+        $uid = input_post('uid',0);
+
+        $field = $this->allowFields;
+        $field[] = 'longitude';
+        $field[] = '(st_distance(point (' . $this->auth->longitude . ', ' . $this->auth->latitude . '),point(longitude,latitude))*111195) as distance';
+        $userinfo = Db::name('user')->field($field)->where('id',$uid)->find();
+
+        if(!$userinfo){
+            $this->error('不存在的用户');
+        }
+
+        //用户数据
+        $userinfo = info_domain_image($userinfo,['avatar','photo_images']);
+
+        $new_data = [
+            'age'            => birthtime_to_age($userinfo['birthday']),
+        ];
+
+        //合并
+        $userinfo = array_merge($userinfo,$new_data);
+        //枚举
+        $userinfo['tag'] = Db::name('enum_tag')->where('id','IN',$userinfo['tag_ids'])->field(['id','name','color'])->select();
+
 
+        //是否关注
+        $userinfo['is_follow'] = $this->is_follow($this->auth->id,$uid);
+
+        //是否拉黑
+        $is_black = Db::name('user_black')->where(['uid'=>$this->auth->id,'black_uid'=>$uid])->find();
+        $userinfo['is_black'] = $is_black ? 1 : 0;
 
+        //关注人数,粉丝人数
+        $follow_num = Db::name('user_follow')->where(['uid'=>$uid])->count('id');
+        $fans_num   = Db::name('user_follow')->where(['follow_uid'=>$uid])->count('id');
+        $userinfo['follow_num'] = $follow_num;
+        $userinfo['fans_num'] = $fans_num;
 
 
+        //查看别人信息,就要留下痕迹
+        if($this->user_power($this->auth->id,'wuhen') != 1){
+            if($this->apiLimit(1,1000) == true){
+                $data = [
+                    'uid' => $this->auth->id,
+                    'to_uid' => $uid,
+                ];
+                $check = Db::name('user_visit')->where($data)->find();
+                if($check){
+                    Db::name('user_visit')->where($data)->update(['number'=>$check['number']+1,'updatetime'=>time()]);
+                }else{
+                    $data['number'] = 1;
+                    $data['updatetime'] = time();
+                    Db::name('user_visit')->insertGetId($data);
+                }
+            }
+        }
+
+        //活跃,在线
+        $userinfo['active_info'] = $this->user_activeinfo($uid);
+
+
+
+        $userinfo['distance'] = bcdiv(intval($userinfo['distance']),1000,1).'km';
+        if($this->auth->longitude == 0 || $userinfo['longitude'] == 0){
+            unset($userinfo['longitude']);
+            $userinfo['distance'] = '未知';
+        }
+        //vip如果开了隐私保护,需要隐藏距离
+        $yinsi = $this->user_power($userinfo['id'],'yinsi');
+        if($yinsi == 1){
+            $userinfo['distance'] = '';
+            $userinfo['cityname'] = '';
+        }
+
+        $this->success('success',$userinfo);
+
+    }