<?php

namespace app\index\controller;

use think\Controller;
use app\index\model\UserModel;

class Login extends Controller{
    /**
     * 管理员登录
     * */
    public function login(){
        $username = input('post.username');
        $password = input('post.password');

        $UserModel = new UserModel();
        $hasUser = $UserModel->checkUser($username,$password);
        if(empty($hasUser)){
            //管理员不存在
            return json(json_error_exception('1001'));
        }
        if($hasUser['status'] != 1){
            //管理员已禁用
            return json(json_error_exception('1002'));
        }
        if($hasUser['password'] != md5($password)){
            //密码错误
            return json(json_error_exception('1003'));
        }
        // 更新管理员状态
        $param = [
            'last_login_ip' => request()->ip(),
            'last_login_time' => date()
        ];

        $res = $UserModel->updateStatus($param, $hasUser['id']);
        if(1 != $res['code']){
            //更新失败
            return json(json_error_exception('1004'));
        }
        session('username', $hasUser['user_name']);
        session('id', $hasUser['id']);
        session('role', $hasUser['role_name']);
        session('role_id', $hasUser['role_id']);
        session('rules', $hasUser['rules']);

        json_return(200,[],'success');
    }
    /**
     * 管理员退出
     */
    public function login_out(){
        session('username', null);
        session('id', null);
        session('role', null);
        session('role_id', null);
        session('rule', null);
        json_return(200,[],'success');
    }
}