安装中间命令:
php think make:middleware CheckToken
填写校验规则
路经 app/middeware目录下的CheckToken.php文件
<?php
declare (strict_types = 1);
namespace app\middleware;
use app\api\server\Token as TokenServer;
class CheckToken
{
/**
* 中间件判断--处理请求
*/
public function handle($request, \Closure $next)
{
//第一步先取token
$token=$request->header('token');
//jwt 进行校验token
$res=(new TokenServer())->chekToken($token);
if ($res['code']!=1){
return json(['error_code'=>999,'msg'=>$res['msg'],'data'=>''],400);
}
$request->uid=$res['data']->uid;
return $next($request);
}
}
定义中间件的别名
路经 项目中/config目录下的middleware.php文件
<?php
// 中间件配置
return [
// 别名或分组
'alias' => [
'check' => [app\middleware\CheckToken::class],
],
// 优先级设置,此数组中的中间件会按照数组中的顺序优先执行
'priority' => [],
];
路由使用
use think\facade\Route;
//微信登录
Route::get('wxLogin','Login/wxLogin');
//分组路由 加中间件验证
Route::group(function (){
//文件上传wxupload
Route::post('wxupload','Slideshow/upload');
})->middleware('check');//中间件验签
|