From 1e2abfaa151932212cc161cd3fa1f2d645f7cd5c Mon Sep 17 00:00:00 2001 From: noear Date: Tue, 15 Nov 2022 22:46:22 +0800 Subject: [PATCH] =?UTF-8?q?sa-token-solon-plugin=EF=BC=9A=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E7=A4=BA=E4=BE=8B=E4=BB=A3=E7=A0=81=E5=85=B3=E4=BA=8E?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E7=9A=84=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Exception.java => GlobalExceptionFilter.java} | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) rename sa-token-demo/sa-token-demo-solon/src/main/java/com/pj/test/{GlobalException.java => GlobalExceptionFilter.java} (80%) diff --git a/sa-token-demo/sa-token-demo-solon/src/main/java/com/pj/test/GlobalException.java b/sa-token-demo/sa-token-demo-solon/src/main/java/com/pj/test/GlobalExceptionFilter.java similarity index 80% rename from sa-token-demo/sa-token-demo-solon/src/main/java/com/pj/test/GlobalException.java rename to sa-token-demo/sa-token-demo-solon/src/main/java/com/pj/test/GlobalExceptionFilter.java index 98417159..1daeec16 100644 --- a/sa-token-demo/sa-token-demo-solon/src/main/java/com/pj/test/GlobalException.java +++ b/sa-token-demo/sa-token-demo-solon/src/main/java/com/pj/test/GlobalExceptionFilter.java @@ -5,8 +5,9 @@ import com.pj.util.AjaxJson; import cn.dev33.satoken.exception.*; import org.noear.solon.annotation.Component; -import org.noear.solon.core.event.EventListener; import org.noear.solon.core.handle.Context; +import org.noear.solon.core.handle.Filter; +import org.noear.solon.core.handle.FilterChain; /** @@ -15,13 +16,12 @@ import org.noear.solon.core.handle.Context; * @author noear */ @Component -public class GlobalException implements EventListener { - +public class GlobalExceptionFilter implements Filter { @Override - public void onEvent(Throwable e) { - Context c = Context.current(); - - if (c != null) { + public void doFilter(Context ctx, FilterChain chain) throws Throwable { + try { + chain.doFilter(ctx); + } catch (SaTokenException e) { // 不同异常返回不同状态码 AjaxJson aj = null; if (e instanceof NotLoginException) { // 如果是未登录异常 @@ -40,7 +40,7 @@ public class GlobalException implements EventListener { aj = AjaxJson.getError(e.getMessage()); } - c.result = aj; + ctx.render(aj); } } }