notorm->user ->select($this->fields.',user_pass') ->where('user_login=? and user_type="2"',$user_login) ->fetchOne(); if(!$info || $info['user_pass'] != $user_pass){ return 1001; } unset($info['user_pass']); unset($info['user_status']); if($info['birthday']){ $info['birthday']=date('Y-m-d',$info['birthday']); }else{ $info['birthday']=''; } $info['level']=getLevel($info['consumption']); $info['level_anchor']=getLevelAnchor($info['votestotal']); $token=md5(md5($info['id'].$user_login.time())); $info['token']=$token; $info['avatar']=get_upload_path($info['avatar']); $info['avatar_thumb']=get_upload_path($info['avatar_thumb']); $this->updateToken($info['id'],$token); return $info; } /* 会员注册 */ public function userReg($user_login,$user_pass,$source) { $user_pass=setPass($user_pass); $configpri=getConfigPri(); $reg_reward=$configpri['reg_reward']; $data=array( 'user_login' => $user_login, 'mobile' =>$user_login, 'user_nicename' =>'手机用户'.substr($user_login,-4), 'user_pass' =>$user_pass, 'signature' =>'这家伙很懒,什么都没留下', 'avatar' =>'/default.jpg', 'avatar_thumb' =>'/default_thumb.jpg', 'last_login_ip' =>$_SERVER['REMOTE_ADDR'], 'create_time' => time(), 'user_status' => 1, "user_type"=>2,//会员 "source"=>$source, "coin"=>$reg_reward, ); $isexist=DI()->notorm->user ->select('id') ->where('user_login=?',$user_login) ->fetchOne(); if($isexist){ return 1006; } $rs=DI()->notorm->user->insert($data); if(!$rs){ return 1007; } $uid=$rs['id']; if($reg_reward>0){ $insert=array("type"=>'1',"action"=>'11',"uid"=>$uid,"touid"=>$uid,"giftid"=>0,"giftcount"=>1,"totalcoin"=>$reg_reward,"showid"=>0,"addtime"=>time() ); DI()->notorm->user_coinrecord->insert($insert); } return 1; } /* 找回密码 */ public function userFindPass($user_login,$user_pass){ $isexist=DI()->notorm->user ->select('id') ->where('user_login=? and user_type="2"',$user_login) ->fetchOne(); if(!$isexist){ return 1006; } $user_pass=setPass($user_pass); return DI()->notorm->user ->where('id=?',$isexist['id']) ->update(array('user_pass'=>$user_pass)); } /* 第三方会员登录 */ public function userLoginByThird($openid,$type,$nickname,$avatar,$source) { $info=DI()->notorm->user ->select($this->fields) ->where('openid=? and login_type=? ',$openid,$type) ->fetchOne(); $configpri=getConfigPri(); if(!$info){ /* 注册 */ $user_pass='yunbaokeji'; $user_pass=setPass($user_pass); $user_login=$type.'_'.time().rand(100,999); if(!$nickname){ $nickname=$type.'用户-'.substr($openid,-4); }else{ $nickname=urldecode($nickname); } if(!$avatar){ $avatar='/default.jpg'; $avatar_thumb='/default_thumb.jpg'; }else{ $avatar=urldecode($avatar); $avatar_thumb=$avatar; } $reg_reward=$configpri['reg_reward']; $data=array( 'user_login' => $user_login, 'user_nicename' =>$nickname, 'user_pass' =>$user_pass, 'signature' =>'这家伙很懒,什么都没留下', 'avatar' =>$avatar, 'avatar_thumb' =>$avatar_thumb, 'last_login_ip' =>$_SERVER['REMOTE_ADDR'], 'create_time' => time(), 'user_status' => 1, 'openid' => $openid, 'login_type' => $type, "user_type"=>2,//会员 "source"=>$source, "coin"=>$reg_reward, ); $rs=DI()->notorm->user->insert($data); $uid=$rs['id']; if($reg_reward>0){ $insert=array("type"=>'1',"action"=>'11',"uid"=>$uid,"touid"=>$uid,"giftid"=>0,"giftcount"=>1,"totalcoin"=>$reg_reward,"showid"=>0,"addtime"=>time() ); DI()->notorm->user_coinrecord->insert($insert); } $info['id']=$uid; $info['user_nicename']=$data['user_nicename']; $info['avatar']=get_upload_path($data['avatar']); $info['avatar_thumb']=get_upload_path($data['avatar_thumb']); $info['sex']='2'; $info['signature']=$data['signature']; $info['coin']='0'; $info['login_type']=$data['login_type']; $info['province']=''; $info['city']=''; $info['birthday']=''; $info['consumption']='0'; $info['user_status']=1; $info['last_login_time']=0; }else{ if($info['user_status']=='0'){ return 1003; } // 更新头像 if(!$avatar){ $avatar='/default.jpg'; $avatar_thumb='/default_thumb.jpg'; $info['avatar']=$avatar; $info['avatar_thumb']=$avatar_thumb; } } unset($info['user_status']); $info['isreg']='0'; if($info['last_login_time']==0 ){ $info['isreg']='1'; } if($info['birthday']){ $info['birthday']=date('Y-m-d',$info['birthday']); }else{ $info['birthday']=''; } unset($info['last_login_time']); $info['level']=getLevel($info['consumption']); $info['level_anchor']=getLevelAnchor($info['votestotal']); $token=md5(md5($info['id'].$openid.time())); $info['token']=$token; $info['avatar']=get_upload_path($info['avatar']); $info['avatar_thumb']=get_upload_path($info['avatar_thumb']); $this->updateToken($info['id'],$token); return $info; } /* 更新token 登陆信息 */ public function updateToken($uid,$token,$data=array()) { $nowtime=time(); $expiretime=$nowtime+60*60*24*300; DI()->notorm->user ->where('id=?',$uid) ->update(array('last_login_time' => $nowtime, "last_login_ip"=>$_SERVER['REMOTE_ADDR'] )); $isok=DI()->notorm->user_token ->where('user_id=?',$uid) ->update(array("token"=>$token, "expire_time"=>$expiretime ,'create_time' => $nowtime )); if(!$isok){ DI()->notorm->user_token ->insert(array("user_id"=>$uid,"token"=>$token, "expire_time"=>$expiretime ,'create_time' => $nowtime, )); } $token_info=array( 'uid'=>$uid, 'token'=>$token, 'expire_time'=>$expiretime, ); setcaches("token_".$uid,$token_info); return 1; } }