#
zzgtfwq
3 天以前 619b2e06d034769364ceab0b6a23588a3da98dcb
src/main/java/com/zy/common/config/AdminInterceptor.java
@@ -1,12 +1,14 @@
package com.zy.common.config;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.annotations.ManagerAuth;
import com.core.common.BaseRes;
import com.core.common.Cools;
import com.zy.common.utils.Http;
import com.zy.system.entity.*;
import com.zy.system.entity.Permission;
import com.zy.system.entity.RolePermission;
import com.zy.system.entity.User;
import com.zy.system.entity.UserLogin;
import com.zy.system.service.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@@ -41,6 +43,21 @@
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
//        System.out.println("=== 拦截器收到请求 ===");
//        System.out.println("方法: " + request.getMethod());
//        System.out.println("URI: " + request.getRequestURI());
        // 放行 OPTIONS 预检请求
        if ("OPTIONS".equalsIgnoreCase(request.getMethod())) {
//            System.out.println("✅ 放行 OPTIONS 预检请求");
            // 手动设置 CORS 头
            response.setHeader("Access-Control-Allow-Origin", "http://10.10.10.250:8080");
            response.setHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS");
            response.setHeader("Access-Control-Allow-Headers", "Content-Type, Access-Token, token");
            response.setHeader("Access-Control-Allow-Credentials", "true");
            response.setStatus(HttpServletResponse.SC_OK);
            return false; // OPTIONS 请求不需要继续后续处理
        }
        cors(response);
        if (handler instanceof org.springframework.web.servlet.resource.ResourceHttpRequestHandler) {
            return true;
@@ -77,12 +94,12 @@
    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, @Nullable ModelAndView modelAndView) {
        Object obj = request.getAttribute("operateLog");
        if (obj instanceof OperateLog) {
            OperateLog operate = (OperateLog) obj;
            operate.setResponse(String.valueOf(response.getStatus()));
            operateLogService.insert(operate);
        }
//        Object obj = request.getAttribute("operateLog");
//        if (obj instanceof OperateLog) {
//            OperateLog operate = (OperateLog) obj;
//            operate.setResponse(String.valueOf(response.getStatus()));
//            operateLogService.insert(operate);
//        }
    }
    private boolean check(HttpServletRequest request, HttpServletResponse response, String memo) {
@@ -107,14 +124,14 @@
                return false;
            }
            // 操作日志
            OperateLog operateLog = new OperateLog();
            operateLog.setAction(Cools.isEmpty(memo)?request.getRequestURI():memo);
            operateLog.setIp(request.getRemoteAddr());
            operateLog.setUserId(user.getId());
            operateLog.setRequest(JSON.toJSONString(request.getParameterMap()));
//            OperateLog operateLog = new OperateLog();
//            operateLog.setAction(Cools.isEmpty(memo)?request.getRequestURI():memo);
//            operateLog.setIp(request.getRemoteAddr());
//            operateLog.setUserId(user.getId());
//            operateLog.setRequest(JSON.toJSONString(request.getParameterMap()));
            // 请求缓存
            request.setAttribute("userId", user.getId());
            request.setAttribute("operateLog", operateLog);
//            request.setAttribute("operateLog", operateLog);
            return true;
        } catch (Exception e){
            Http.response(response, BaseRes.DENIED);