| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 | 
							- <?php
 
- namespace app\common\model;
 
- // 引入框架内置类
 
- use think\facade\Request;
 
- use think\facade\Session;
 
- use app\common\model\SysLoginFail;
 
- use app\common\model\SysLogin;
 
- use app\common\model\Base;
 
- class SysUser extends Base
 
- {
 
-     protected $pk = 'userid';
 
-     public function sysRole()
 
-     {
 
-         return $this->belongsTo('SysRole', 'roleid')->bind(['rolename' => 'name']);
 
-     }
 
-     public static function queryList()
 
-     {
 
-         return self::field('userid,roleid,username,nickname,truename,email,status,per_time,per_ip,login_num,create_time')->with('sysRole')->select();
 
-     }
 
-     public function getUsernames($role_id = null)
 
-     {
 
-         if ($role_id == null) {
 
-             return $this->column('id, username');
 
-         } else {
 
-             $data = $this->where('role_id', $role_id)->column('username');
 
-             if ($data) {
 
-                 return implode(',', $data);
 
-             } else {
 
-                 return null;
 
-             }
 
-         }
 
-     }
 
-     public static function checkLogin()
 
-     {
 
-         $ip = Request::ip();
 
-         $time = time();
 
-         $datetime = date('Y-m-d H:i:s', $time);
 
-         if (!SysLoginFail::checkIp($ip, $time)) {
 
-             return json(['code' => 1, 'msg' => '登录次数超过10次, 请等1小时后再试']);
 
-         }
 
-         $username  = Request::param("username", '', 'strip_tags');
 
-         $password  = Request::param("password", '', 'strip_tags');
 
-         if (!$username || !$password) {
 
-             return json(['code' => 1, 'msg' => '用户名/密码/验证码不能为空']);
 
-         }
 
-         if (false === Request::checkToken('__token__')) {
 
-             return json(['error' => 1, 'msg' => '验证有误']);
 
-         }
 
-         $info = self::where('username', $username)->find();
 
-         if (!$info) {
 
-             SysLoginFail::saveFail($ip, $time);
 
-             return json(['code' => 2, 'msg' => '用户名/密码不正确']);
 
-         }
 
-         if (md5($password . $info->salt) != $info->password) {
 
-             // 记录失败
 
-             SysLoginFail::saveFail($ip, $time);
 
-             SysLogin::record($info->userid, $info->username, $datetime, $ip, 1);
 
-             return json(['code' => 2, 'msg' => '用户名/密码不正确']);
 
-         }
 
-         if ($info->status == 1) {
 
-             // 更新登录IP,登录时间和更新次数
 
-             $perTime = $info->per_time;
 
-             $perIp = $info->per_ip;
 
-             $info->per_time = date('Y-m-d H:i:s', $time);
 
-             $info->per_ip = $ip;
 
-             $info->login_num += 1;
 
-             $info->save();
 
-             Session::set('adminuser', [
 
-                 'userid'   => $info->userid,
 
-                 'username' => $info->username,
 
-                 'perTime'  => $perTime,
 
-                 'perIp'    => $perIp,
 
-                 'nickname' => $info->nickname,
 
-                 'avatar'   => $info->avatar,
 
-                 'loginNum' => $info->loginNum,
 
-                 'roleid'   => $info->roleid
 
-             ]);
 
-             // 记录登录
 
-             SysLogin::record($info->userid, $info->username, $datetime, $ip);
 
-             return json(['code' => 0, 'msg' => '登录成功']);
 
-         } else {
 
-             // 记录失败
 
-             SysLogin::record($info->userid, $info->username, $datetime, $ip, 1);
 
-             return json(['code' => 2, 'msg' => '用户已被禁用!']);
 
-         }
 
-     }
 
- }
 
 
  |