1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- <?php
- declare (strict_types = 1);
- namespace app\Admin\middleware;
- use think\facade\Db;
- use think\facade\Lang;
- use think\facade\Log;
- class Base
- {
- /**
- * 处理请求
- *
- * @param \think\Request $request
- * @param \Closure $next
- * @return Response
- */
- public function handle($request, \Closure $next)
- {
- $response = $next($request);
- $token = $request->param("token");
- $username=$_SERVER['REMOTE_ADDR'];
- $rolename="";
- if($request->root()=="/Api"){
- return $response;
- }
- if(isset($token)&& $token!=""){
- $userinfo = GetUserInfo($token);
- if($userinfo['code']==0){
- $username=isset($userinfo['data']['nickname']) ?$userinfo['data']['nickname']: "";
- $rolename = Db::name("role")->where("id","=",$userinfo['data']['roleid'])->find();
- $rolename = empty($rolename)? ["role_name"=>""] : $rolename;
- }
- }
- if($request->controller()!=""){
- $data = [
- "info"=>$this->checkLang($request),
- "action"=>$request->root(),
- "url"=>$request->controller()."/".$request->action(),
- "param"=>json_encode($request->param(),JSON_UNESCAPED_UNICODE),
- "name"=>$username,
- "rolename"=>isset($rolename)&& $rolename!="" ? $rolename['role_name']:"",
- "addtime"=>date("Y-m-d H:i:s")
- ];
- Db::name("system_log")->save($data);
- }
- return $response;
- }
- private function checkLang($request){
- $lang = Lang::get();
- $controller = $request->rule()->getRule();
- if($controller!="" && isset($lang[$controller])){
- return $lang[$controller];
- }else{
- return $controller;
- }
- }
- }
|