| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 | <?phpnamespace app\api\controller;use app\common\controller\Api;use think\Db;use think\Cache;/** * 首页接口 */class Index extends Api{    protected $noNeedLogin = ['index'];    protected $noNeedRight = ['*'];    public function index(){        echo 'apisuccess';        exit;    }    //精选    public function jingxuan(){        $keyworld = input('keyworld','');        $where = [            'user.id' => ['neq',$this->auth->id],            'user.status' => 1,            'user.gender' => ['neq',$this->auth->gender],        ];        if(!empty($keyworld)){            $where['user.username|nickname'] = ['LILE','%'.$keyworld.'%'];        }        //排除黑名单的        $where_black = [];        $black_ids = Db::name('user_black')->where(['uid'=>$this->auth->id])->column('black_uid');        if(!empty($black_ids)){            $where_black['user.id'] = ['NOTIN',$black_ids];        }        $field = [            'user.id',            'user.username',            'user.nickname',            'user.avatar',            'user.idcard_status',            'user.real_status',            'user.photo_images',            'user.gender',            'user.birthday',            'user.is_active',            'user.bio',            'wallet.vip_endtime',            'active.requesttime',        ];        $list = Db::name('user')->alias('user')->field($field)            ->join('user_wallet wallet','user.id = wallet.user_id','LEFT')            ->join('user_active active' ,'user.id = active.user_id','LEFT')            ->where($where)            ->where($where_black)            ->order('user.is_active desc,user.id desc')            ->autopage()            ->select();        $list = list_domain_image($list,['avatar','photo_images']);        foreach($list as $key => &$val){            $val['age'] = birthtime_to_age($val['birthday']);            $val['is_vip'] = $val['vip_endtime'] > time() ? 1 : 0;            $val['active_info'] = $this->user_activeinfo($val['id'],$val['requesttime']);        }        $this->success(1,$list);    }    //新人    public function xinren(){        $keyworld = input('keyworld','');        $where = [            'user.id' => ['neq',$this->auth->id],            'user.status' => 1,            'user.gender' => ['neq',$this->auth->gender],        ];        if(!empty($keyworld)){            $where['user.username|nickname'] = ['LILE','%'.$keyworld.'%'];        }        //排除黑名单的        $where_black = [];        $black_ids = Db::name('user_black')->where(['uid'=>$this->auth->id])->column('black_uid');        if(!empty($black_ids)){            $where_black['user.id'] = ['NOTIN',$black_ids];        }        $field = [            'user.id',            'user.username',            'user.nickname',            'user.avatar',            'user.idcard_status',            'user.real_status',            'user.photo_images',            'user.gender',            'user.birthday',            'user.is_active',            'user.bio',            'wallet.vip_endtime',            'active.requesttime',        ];        $list = Db::name('user')->alias('user')->field($field)            ->join('user_wallet wallet','user.id = wallet.user_id','LEFT')            ->join('user_active active' ,'user.id = active.user_id','LEFT')            ->where($where)            ->where($where_black)            ->order('user.is_active desc,user.id desc')            ->autopage()            ->select();        $list = list_domain_image($list,['avatar','photo_images']);        foreach($list as $key => &$val){            $val['age'] = birthtime_to_age($val['birthday']);            $val['is_vip'] = $val['vip_endtime'] > time() ? 1 : 0;            $val['active_info'] = $this->user_activeinfo($val['id'],$val['requesttime']);        }        $this->success(1,$list);    }    //首页搜索    public function search_user(){        $keyword = input('keyword','');        if(empty($keyword)){            $this->error();        }        $where = [];        if(is_numeric($keyword)){            $where['username'] = intval($keyword);        }else{            $where['nickname'] = ['LIKE','%'.trim($keyword).'%'];        }        $list = Db::name('user')->field('id,username,nickname,gender,avatar')->where($where)->limit(100)->select();        $list = list_domain_image($list,['avatar']);        $this->success(1,$list);    }}
 |