```php
//这里的 login 用来给微信回调使用
public function login()
{
$code = Request::param('code');
if ($code) {
//TODO 用户同意授权
(new Token())->saveToken();
} else {
//TODO 用户拒绝授权
Token::rejectLogin(Request::param('state'));
}
}
//这里的 checkLogin 是给前端的创建的长链接来检查登录状态的
public function checkLogin()
{
$token = Request::post('token');
while (true) {
$temp = Cache::get($token);
if ($temp) {
switch ($temp['isLogin']) {
case 1:
$res = [
'isLogin' => 1,
'msg' => '登陆成功'
];
return json($res);
case 0:
$res = [
'isLogin' => 0,
'msg' => $temp['msg']
];
return json($res);
}
}
}
}
```
```javascript
$.ajax({
url:url,
data:{
'token' : guidStr
},
method:'POST',
timeout:60000,
success:function (res) {
if (res.isLogin === 1 )
{
layui.data(setter.tableName,{key:setter.request.tokenName,value: guidStr});
layer.msg(res.msg,{icon: 1,time: 1000},function () {
location.href = url;
})
}
if(res.isLogin === 0 )
{
layer.msg(res.msg,{icon:2,time:1000},function () {
location.href = '
https://www.baidu.com';
})
}
},
error:function () {
layer.msg('登陆超时,请重新刷新页面后再试。',{icon:0},function (){
location.reload();
})
}
})
```