1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- <?php
- namespace app\Home\controller;
- use think\Db;
- class Login
- {
- /**
- * @method post
- * @param username 账户名
- * @param password 密码
- *
- */
- public function index(){
- $post=request()->post();
- $username = isset($post['username'])&&$post['username']!="" ? trim($post['username']) :"";
- if($username==""){
- return error_show(1004,"参数username 不能为空");
- }
- $password = isset($post['password'])&&$post['password']!="" ? trim($post['password']):"";
- if($password==""){
- return error_show(1004,"参数username 不能为空");
- }
- $account = Db::name("account")->where(["is_del"=>0,"username"=>$username])->find();
- if(empty($account)){
- return error_show(1005,"账户未找到");
- }
- if($account['status']==2){
- return error_show(1005,"账户已过有效期");
- }
- $now =time();
- $expire = strtotime($account['expiretime']);
- $start = strtotime($account['starttime']);
- if($now<$start){
- return error_show(1005,"账户未到生效期");
- }
- if($now>$expire){
- return error_show(1005,"账户已过有效期");
- }
- if($account['status']==0){
- $account['status']=1;
- $account['activetime']=date("Y-m-d H:i:s");
- $account['updatetime']=date("Y-m-d H:i:s");
- Db::name("account")->update($account);
- }
- $token = makeToken($account);
- $userinfo = Db::name("account_info")->alias("a")->join("fc_rela_account b","b.account_info=a.id")->where(["b.accountid"=>$account['id']])->field("a.*")->find();
- $userinfo['token'] = $token;
- write_log("账户{$account['username']}登录系统","","homelogin","",1);
- return app_show(0,"登录成功",$userinfo);
- }
- public function logout(){
- $post=request()->post();
- $token = isset($post['token'])&&$post['token']!="" ? trim($post['token']) :"";
- if($token==""){
- return error_show(101,"参数token 不能为空");
- }
- $verify = verifyToken($token);
- if($verify['code']!=0){
- return error_show($verify['code'],$verify['msg']);
- }
- $info = Db::name("account_token")->where(["token"=>$token])->update(['token'=>""]);
- if($info){
- return app_show(0,"退出成功");
- }else{
- return error_show(1004,"退出失败");
- }
- }
- }
|