~~~
/**
* Created by PhpStorm.
* User: RT003
* Date: 2019/9/24
* Time: 14:47
*/
namespace app\http\middleware;
use think\cache\driver\Redis;
class Base
{
public function handle($request, \Closure $next)
{
//跨域访问的时候才会存在此字段
$origin = isset($_SERVER['HTTP_ORIGIN']) ? $_SERVER['HTTP_ORIGIN'] : '';
// 设置多个域名跨域
$allow_origin = array(
'http://localhost:9528',
'http://localhost:8080',
'http://localhost:8081',
'http://192.168.0.187:8080',
'http://192.168.0.187:8081',
'http://127.0.0.1',
'http://192.168.0.128:98',
'http://192.168.0.189:9528'
);
if(in_array($origin, $allow_origin)){
header('Access-Control-Allow-Origin:'.$origin);
}
header('Access-Control-Allow-Methods: GET, POST, OPTIONS');
header('Access-Control-Allow-Headers: x-requested-with, content-type, X-Token');
header('Content-Type: text/html; charset=utf-8');// 返回数据类型
header('Access-Control-Allow-Credentials: true');// 是否可以携带cookie
// 拦截http预请求
if(request()->isOptions()){
exit;
}
//POST请求入口
if(request()->isPost()||request()->isGet()) {
// 获取token
$token = request()->header()['x-token'];
$redis = new Redis();
// 判断token
if (!$token || !$redis->get($token)){
unset($redis);
apiJson(401,'请先登录!')->getContent();die;
}
unset($redis);
}else{
apiJson(401,'请求失败')->getContent();die;
}
// $weChat = new WeChat();
// $weChat->saveFormId();
return $next($request);
}
}
~~~