退出登录功能
1.定义一条退出登录路由
<?php
use Illuminate\Support\Facades\Route;
Route::group(['prefix'=>'admin','namespace'=>'Admin'],function (){
Route::match(['get','post'],'/','Index@login');
Route::match(['get','post'],'register','Index@register');
Route::match(['get','post'],'forget','Index@forget');
Route::match(['get','post'],'reset','Index@reset');
Route::match(['get'],'index','Home@index');
Route::match(['post'],'logout','Home@logout');
});
2.为退出登录添加一个id为logout
3.引入layer弹出层,通过jquery的ajax访问Home控制器下logout方法
$('#logout').click(function () {
layer.confirm('确定要退出吗?',{
title:'用户退出',
icon:3,
},function (index) {
layer.close(index)
$.ajax({
url:"{{url('admin/logout')}}",
type:'post',
dataType:'json',
success:function (data) {
if (data.code==1){
layer.msg(data.msg,{
icon:6,
time:2000,
},function () {
location.href=data.url;
});
}else {
layer.open({
title:'退出失败',
content:data.msg,
icon:5,
anim:6
});
}
}
});
});
return false;
});
4.在Home控制器中编写logout方法;使用flush删除session会话中的所有值;然后判断是否删除成功
public function logout()
{
$result=session()->flush();
if (!$result){
$msg=[
'code'=>1,
'msg'=>'用户退出成功',
'url'=>url('admin')
];
}else{
$msg=[
'code'=>0,
'msg'=>'用户退出失败',
];
}
return $msg;
}
5.点击退出登录按钮,弹出一个确认框,确认退出后跳转到登录页面。