第一篇只是看了前几天发布的文章,接下来说说第二篇的内容,主要是减少会员部分的功能.classIndexControllerextendsBaseController{protected$user;protected$loginUser=null;/***用户页面*@return\think\Response*/publicfunctionindex(){$title='会员广场-'.config('web_site_title');return$this->fetch('',['meta_title'=>$title]);}/***当前用户个人页面*@paramint$uid*@return\think\Response*/publicfunctionread($uid=0){//获取用户信息$this->initUser($uid);$this->seoMeta($this->user);return$this->fetch('');}/***显示当前用户音乐*@paramint$uid*@return\think\Response*/publicfunctionmusic($uid=0){$this->initUser($uid);$this->seoMeta($this->user,'read');return$this->fetch('');}/***用户相册页面*@paramint$uid*@return\think\response*/publicfunctionalbum($uid=0){$this->initUser($uid);$this->seoMeta($this->user,'read');return$this->fetch('');}/***用户粉丝页面*@paramint$uid*@return\think\Response*/publicfunctionfans($uid=0){$this->initUser($uid);$this->whatMeta($this->user,'read');return$this->fetch('');}/***默认关键字*@paramint$uid*@return\think\Response*/publicfunctionvisitor($uid=0){$this->initUser(;$uid);$this->whatMeta($this->user,'read');return$this->fetch('');}/***公共输入参数*@returnvoid*/protectedfunctioninitUser($uid=0){if(!$uid=intval($uid)){$this-;>error('您的凭据未加载!');}define('UID',is_login());$this->user=get_user_info($uid);if(UID>0&&$uid!=UID){$this->loginUser=get_user_info(UID);$this->setVisitor();}else{$this->loginUser=$this->user;}$this->assign('login_user',$this->loginUser);$this->assign('user',$this->user);}}封闭保护函数setVisitor(){$visitor=['uid'=>$deads->loginUser['uid'],'avatar'=>$this->loginUser['avatar'],'sex'=>$this->loginUser['sex'],'昵称'=>$this->loginUser['昵称'],'url'=>$this->loginUser['url'],'visit_time'=>time(),];$visitors=file_cache('visitor_'.$this->user['uid']);$visitors[$this->loginUser['uid']]=$visitor;if(is_array($visitors)&&(count($visitors)>=100)){//删除最后一个array_pop($visitors);}//缓存7天无访客clearfile_cache('visitor_'.$this->user['uid'],$visitors);}AuthUserAuthenticationControllerclassAuthControllerextendsBaseController{/***显示用户登录页面*@return\think\Response*/publicfunctionlogin(){if(is_login()){$this->redirect('user/Account/index');}$title='用户登录-'.config('web_site_title');return$this->fetch('',['meta_title'=>$title]);}/***显示注册用户*@return\think\Response*/publicfunctionsignup(){if(is_login()){$this->redirect('user/Account/index');}if(!config('user_allow_register')){$this->error(lang('signup_off'));}$title='用户注册-'.配置('web_site_title');return$this->fetch('',['meta_title'=>$title]);}/***显示当前登录用户*@return\think\Response*/publicfunctionactive(){$uid=is_login();$api=newUserApi();//检测自动登录if(!$uid&&$autoUid=cookie('JYUUID')){if($uid=jy_decrypt($autoUid)){$uid=$api->autoLogin($uid);}}if(intval($uid)){$info=$api->info($uid);$return['uid']=$uid;$return['url']=url('user/Index/read',['uid'=>$uid]);$return['avatar']=$info['avatar'];$return['昵称']=$info['昵称'];$return['location']=$info['location'];取消设置($信息);返回$this->retSucc(['msg'=>'已登录','uid'=>$uid,'result'=>$return,]);}return$this->retErr(40001);}/***用户登录*@return\think\response*/publicfunctionloginUser(){if(is_login()){return$this->retErr(40038);}$options=['action'=>'login_user','limit_time'=>0,'limit_num'=>10,'lock_time'=>3600,];如果(isOffSpite($options)){返回$this->retErr(40405);$data=$this->request->param();//验证码if(config('verify_off')&&!captcha_check($data['verify'])){return$this->retErr(40035);}$validate=Loader::validate('UcenterMember');如果(!$validate->scene('login')->check($data)){return$this->retErr(40030,$validate->getError());}$api=newUserApi();if($uid=$api->login($data['username'],$data['password'])){if(isset($data['autologin'])&&$data['autologin']=='on'){$api->remember($uid);}return$this->retSucc(['msg'=>lang('login_success'),'url'=>url('user/Account/index')]);$error=$api->getError();return$this->retErr(40502,$error);}注册一个新用户publicfunctioncreateUser(Request$request){if(!config('user_allow_register')){abort(404,lang('注册关闭'));}$options=['action'=>'create_user','limit_time'=>0,'limit_num'=>10,'lock_time'=>3600,];如果(isOffSpite($options)){返回$this->retErr(40405);}if(is_login()){return$this->retErr(40038);}//api内部设置验证$post=$request->post();$result=$this->validate($post,'UcenterMember.register');if(true!==$result){返回$this->retErr(40030,$result);}$api=newUserApi();//激活邮件if(config('send_activate_mail')){//发送激活邮件$post['status']=2;$uid=$api->注册($post);如果(!$uid){$error=$api->getError();返回$this->retErr(40501,$error);}if($this->sendActiveEmail($uid,$post)){return$this->retSucc(lang('active_email_success'));}else{return$this->retErr(40503);}}else{$uid=$api->register($post,true);如果($uid){返回$this->retSucc(['msg'=>lang('signup_成功'),'url'=>url('用户/账户/索引')]);$error=$api->getError();返回$this->retErr(40501,$error);}}
