<?php
namespace app\login\controller;
use app\admin\model\Admin as AD;use WhiteHat101\Crypt\APR1_MD5;use think\captcha\Captcha;use think\facade\View;use app\login\validate\Yanzheng;use think\exception\ValidateException;
class Index
{
public function index()
{
$mobile = request()->isMobile();
cookie('userid', null);
cookie('username', null);
cookie('password', null);
session(null);
$list['webtitle'] = config('shangma.webtitle');
$list['version'] = config('shangma.version');
$list['mobile'] = $mobile;
View::assign('list',$list);
return View::fetch('index');
}
public function yanzheng()
{
$data = request()->only(['username','password','captcha','online']);
try {
$validate = new \app\login\validate\Yanzheng;
validate(Yanzheng::class)->scene('admin')->check($data);
} catch (ValidateException $e) {
$data=['msg'=>$e->getError(),'status'=>0];
return json($data);
}
$check = $this->check($data['username'],$data['password']);
if($check['status']==1)
{
if( request()->post('online') == true )
{
cookie('userid', session('userid') ,259200);
cookie('username', $data['username'] ,259200);
cookie('password', $data['password'] ,259200);
}
$userinfo = AD::where('username',$data['username'])
->field('lastip,username,ip,denglucishu,lasttime,thistime')
->find();
$userinfo->lastip = $userinfo->ip;
$userinfo->ip = request()->ip();
$userinfo->denglucishu = ['inc', 1];
$userinfo->lasttime = $userinfo->getData('thistime');
$userinfo->thistime = time();
$userinfo->save();
$data=['msg'=>'验证成功','status'=>1];
}else{
$data=['msg'=>$check['msg'],'status'=>0];
}
return json($data);
}
public function check($username,$password)
{
$md5 = new APR1_MD5();
$userinfo = AD::where('username',$username)->where('status',1)->find();
if($userinfo == null)
{
session(null);
$data=['msg'=>'用户名不存在或被禁用','status'=>0];
return $data;
}
$check = $md5->check($password,$userinfo->password);
if($check)
{
session('admin', null);
session('onlineCategory', 'admin');
session('admin.userid', $userinfo->id);
session('admin.username', $username);
session('admin.password', $password);
$data=['msg'=>'验证成功','status'=>1];
}else{
cookie('userid', null);
cookie('username', null);
cookie('password', null);
session(null);
$data=['msg'=>'用户名或密码错误','status'=>0];
}
return $data;
}
public function shangmaLog()
{
return View::fetch();
}
public function myerror()
{
$list['webtitle'] = config('shangma.webtitle');
$list['version'] = config('shangma.version');
View::assign('list',$list);
return View::fetch();
}
public function weihu()
{
$list = [
'shijian' => config('shangma.shijian')
,'shichang' => config('shangma.shichang')
,'webtitle' => '系统维护中'
,'version' => config('shangma.version')
];
View::assign('list',$list);
return View::fetch();
}
}