优化文档

This commit is contained in:
click33 2022-06-12 22:43:45 +08:00
parent 3880ed8440
commit 1482780c4f
2 changed files with 8 additions and 6 deletions

View File

@ -5,7 +5,7 @@
无Cookie特指不支持Cookie功能的终端通俗来讲就是我们常说的 —— **前后台分离模式** 无Cookie特指不支持Cookie功能的终端通俗来讲就是我们常说的 —— **前后台分离模式**
常规PC端鉴权方法一般由`Cookie模式`完成,而 Cookie 有两个特性: 常规 Web 端鉴权方法,一般由 `Cookie模式` 完成,而 Cookie 有两个特性:
1. 可由后端控制写入 1. 可由后端控制写入
2. 每次请求自动提交 2. 每次请求自动提交
@ -13,8 +13,8 @@
而在app、小程序等前后台分离场景中一般是没有 Cookie 这一功能的,此时大多数人都会一脸懵逼,咋进行鉴权啊? 而在app、小程序等前后台分离场景中一般是没有 Cookie 这一功能的,此时大多数人都会一脸懵逼,咋进行鉴权啊?
见招拆招,其实答案很简单: 见招拆招,其实答案很简单:
- 不能后端控制写入了,就前端自己写入(难点在**后端如何将token传递到前端** - 不能后端控制写入了,就前端自己写入(难点在**后端如何将 Token 传递到前端**
- 每次请求不能自动提交了,那就手动提交(难点在**前端如何将token传递到后端**,同时**后端将其读取出来** - 每次请求不能自动提交了,那就手动提交(难点在**前端如何将 Token 传递到后端**,同时**后端将其读取出来**

View File

@ -117,8 +117,8 @@ SaRouter.match( StpUtil.isLogin() ).check( /* 要执行的校验函数 */ );
SaRouter.match( r -> StpUtil.isLogin() ).check( /* 要执行的校验函数 */ ); SaRouter.match( r -> StpUtil.isLogin() ).check( /* 要执行的校验函数 */ );
// 多个条件一起使用 // 多个条件一起使用
// 功能说明: 必须是 Get 方式的任意请求 // 功能说明: 必须是 Get 请求 并且 请求路径以 `/user/` 开头
SaRouter.match(SaHttpMethod.GET).match("/**").check( /* 要执行的校验函数 */ ); SaRouter.match(SaHttpMethod.GET).match("/user/**").check( /* 要执行的校验函数 */ );
// 可以无限连缀下去 // 可以无限连缀下去
// 功能说明: 同时满足 Get 方式请求, 且路由以 /admin 开头, 路由中间带有 /send/ 字符串, 路由结尾不能是 .js 和 .css // 功能说明: 同时满足 Get 方式请求, 且路由以 /admin 开头, 路由中间带有 /send/ 字符串, 路由结尾不能是 .js 和 .css
@ -142,6 +142,8 @@ registry.addInterceptor(new SaRouteInterceptor((req, res, handler) -> {
SaRouter.match("/**").check(r -> System.out.println("进入1")); SaRouter.match("/**").check(r -> System.out.println("进入1"));
SaRouter.match("/**").check(r -> System.out.println("进入2")).stop(); SaRouter.match("/**").check(r -> System.out.println("进入2")).stop();
SaRouter.match("/**").check(r -> System.out.println("进入3")); SaRouter.match("/**").check(r -> System.out.println("进入3"));
SaRouter.match("/**").check(r -> System.out.println("进入4"));
SaRouter.match("/**").check(r -> System.out.println("进入5"));
})).addPathPatterns("/**"); })).addPathPatterns("/**");
``` ```
如上示例代码运行至第2条匹配链时会在stop函数处提前退出整个匹配函数从而忽略掉剩余的所有match匹配 如上示例代码运行至第2条匹配链时会在stop函数处提前退出整个匹配函数从而忽略掉剩余的所有match匹配
@ -149,7 +151,7 @@ registry.addInterceptor(new SaRouteInterceptor((req, res, handler) -> {
除了`stop()`函数,`SaRouter`还提供了 `back()` 函数,用于:停止匹配,结束执行,直接向前端返回结果 除了`stop()`函数,`SaRouter`还提供了 `back()` 函数,用于:停止匹配,结束执行,直接向前端返回结果
``` java ``` java
// 执行back函数后将停止匹配也不会进入Controller而是直接将 back参数 作为返回值输出到前端 // 执行back函数后将停止匹配也不会进入Controller而是直接将 back参数 作为返回值输出到前端
SaRouter.match("/user/back").back("参数"); SaRouter.match("/user/back").back("要返回到前端的内容");
``` ```
stop() 与 back() 函数的区别在于: stop() 与 back() 函数的区别在于: