TP6 慕课Singwa老师授书第6章12讲,视频提到的方法
新建父类AdminBase 代码如下
<?php
/**
* User: 心源
* Date: 2024/3/15
* Time: 14:52
*/
namespace app\admin\controller;
use app\BaseController;
use think\exception\HttpResponseException;
class AdminBase extends BaseController
{
public $adminUser=null;
public function initialize()
{
parent::initialize();
//判断是否登录
if(empty($this->isLogin())){//没登录
return $this->redirect(url('login/index'),302);
}
}
/**
* 判断是否登录
* @return bool
*/
public function isLogin()
{
$this->adminUser= session(config("admin.session_admin"));
if(empty($this->adminUser)){
return false;
}
return true;
}
public function redirect(...$args){
throw new HttpResponseException(redirect(...$args));
}
}
登录类Login.php 代码如下
<?php
/**
* User: 心源
* Date: 2024/3/13
* Time: 17:40
*/
namespace app\admin\controller;
use think\facade\View;
use app\common\model\mysql\AdminUser;
class Login extends AdminBase
{
public function initialize()
{
if($this->isLogin()){
return $this->redirect(url("/admin/index/index"));
}
}
public function index()
{
return View::fetch();
}
}
在AdminBase类中,$this->redirect跳转到 redirect处理时发生报错无法正常跳转,建议改用header()函数,会更方法。
函数说明:
header('location:/模块/控制器/方法);
login登录文件
Adminbase类