diff --git a/.gitee/ISSUE_TEMPLATE.md b/.gitee/ISSUE_TEMPLATE.md
index cac78cfb..17b29a20 100644
--- a/.gitee/ISSUE_TEMPLATE.md
+++ b/.gitee/ISSUE_TEMPLATE.md
@@ -1,2 +1,2 @@
请在以下地址复制 issue 模板进行提交:
-https://sa-token.dev33.cn/doc/index.html#/fun/issue-template
+https://sa-token.dev33.cn/doc.html#/fun/issue-template
diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md
index cac78cfb..17b29a20 100644
--- a/.github/ISSUE_TEMPLATE.md
+++ b/.github/ISSUE_TEMPLATE.md
@@ -1,2 +1,2 @@
请在以下地址复制 issue 模板进行提交:
-https://sa-token.dev33.cn/doc/index.html#/fun/issue-template
+https://sa-token.dev33.cn/doc.html#/fun/issue-template
diff --git a/README.md b/README.md
index ab067198..5ae7d794 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
-
+
Sa-Token v1.31.0
一个轻量级 Java 权限认证框架,让鉴权变得简单、优雅!
@@ -115,13 +115,13 @@ Sa-Token-SSO 由简入难划分为三种模式,解决不同架构下的 SSO
| 系统架构 | 采用模式 | 简介 | 文档链接 |
| :-------- | :-------- | :-------- | :-------- |
-| 前端同域 + 后端同 Redis | 模式一 | 共享Cookie同步会话 | [文档](http://sa-token.dev33.cn/doc/index.html#/sso/sso-type1)、[示例](https://gitee.com/dromara/sa-token/blob/master/sa-token-demo/sa-token-demo-sso1-client) |
-| 前端不同域 + 后端同 Redis | 模式二 | URL重定向传播会话 | [文档](http://sa-token.dev33.cn/doc/index.html#/sso/sso-type2)、[示例](https://gitee.com/dromara/sa-token/blob/master/sa-token-demo/sa-token-demo-sso2-client) |
-| 前端不同域 + 后端 不同Redis | 模式三 | Http请求获取会话 | [文档](http://sa-token.dev33.cn/doc/index.html#/sso/sso-type3)、[示例](https://gitee.com/dromara/sa-token/blob/master/sa-token-demo/sa-token-demo-sso3-client) |
+| 前端同域 + 后端同 Redis | 模式一 | 共享Cookie同步会话 | [文档](http://sa-token.dev33.cn/doc.html#/sso/sso-type1)、[示例](https://gitee.com/dromara/sa-token/blob/master/sa-token-demo/sa-token-demo-sso1-client) |
+| 前端不同域 + 后端同 Redis | 模式二 | URL重定向传播会话 | [文档](http://sa-token.dev33.cn/doc.html#/sso/sso-type2)、[示例](https://gitee.com/dromara/sa-token/blob/master/sa-token-demo/sa-token-demo-sso2-client) |
+| 前端不同域 + 后端 不同Redis | 模式三 | Http请求获取会话 | [文档](http://sa-token.dev33.cn/doc.html#/sso/sso-type3)、[示例](https://gitee.com/dromara/sa-token/blob/master/sa-token-demo/sa-token-demo-sso3-client) |
1. 前端同域:就是指多个系统可以部署在同一个主域名之下,比如:`c1.domain.com`、`c2.domain.com`、`c3.domain.com`
-2. 后端同Redis:就是指多个系统可以连接同一个Redis。PS:这里并不需要把所有项目的数据都放在同一个Redis中,Sa-Token提供了 **`[权限缓存与业务缓存分离]`** 的解决方案,详情戳:[Alone独立Redis插件](http://sa-token.dev33.cn/doc/index.html#/plugin/alone-redis)
+2. 后端同Redis:就是指多个系统可以连接同一个Redis。PS:这里并不需要把所有项目的数据都放在同一个Redis中,Sa-Token提供了 **`[权限缓存与业务缓存分离]`** 的解决方案,详情戳:[Alone独立Redis插件](http://sa-token.dev33.cn/doc.html#/plugin/alone-redis)
3. 如果既无法做到前端同域,也无法做到后端同Redis,那么只能走模式三,Http请求获取会话(Sa-Token对SSO提供了完整的封装,你只需要按照示例从文档上复制几段代码便可以轻松集成)
## Sa-Token-OAuth2 授权认证
@@ -134,7 +134,7 @@ Sa-OAuth2 模块分为四种授权模式,解决不同场景下的授权需求
| 密码式(Password) | Client直接拿着用户的账号密码换取授权 Token |
| 客户端凭证(Client Credentials)| Server 端针对 Client 级别的 Token,代表应用自身的资源授权 |
-详细参考文档:[http://sa-token.dev33.cn/doc/index.html#/oauth2/readme](http://sa-token.dev33.cn/doc/index.html#/oauth2/readme)
+详细参考文档:[http://sa-token.dev33.cn/doc.html#/oauth2/readme](http://sa-token.dev33.cn/doc.html#/oauth2/readme)
## 使用 Sa-Token 的开源项目
diff --git a/sa-token-doc/doc/README.md b/sa-token-doc/README.md
similarity index 98%
rename from sa-token-doc/doc/README.md
rename to sa-token-doc/README.md
index 1096b35b..83c6b963 100644
--- a/sa-token-doc/doc/README.md
+++ b/sa-token-doc/README.md
@@ -1,5 +1,5 @@
-
+
Sa-Token v1.31.0
一个轻量级 Java 权限认证框架,让鉴权变得简单、优雅!
diff --git a/sa-token-doc/doc/_sidebar.md b/sa-token-doc/_sidebar.md
similarity index 99%
rename from sa-token-doc/doc/_sidebar.md
rename to sa-token-doc/_sidebar.md
index 5e863950..31e5260e 100644
--- a/sa-token-doc/doc/_sidebar.md
+++ b/sa-token-doc/_sidebar.md
@@ -1,7 +1,7 @@
- **开始**
- - [介绍](/)
+ - [框架介绍](/)
- [在 SpringBoot 环境集成](/start/example)
- [在 WebFlux 环境集成](/start/webflux-example)
- [其它环境集成示例](/start/download)
diff --git a/sa-token-doc/doc/api/sa-session.md b/sa-token-doc/api/sa-session.md
similarity index 100%
rename from sa-token-doc/doc/api/sa-session.md
rename to sa-token-doc/api/sa-session.md
diff --git a/sa-token-doc/doc/api/sa-strategy.md b/sa-token-doc/api/sa-strategy.md
similarity index 100%
rename from sa-token-doc/doc/api/sa-strategy.md
rename to sa-token-doc/api/sa-strategy.md
diff --git a/sa-token-doc/doc/api/sa-token-dao.md b/sa-token-doc/api/sa-token-dao.md
similarity index 100%
rename from sa-token-doc/doc/api/sa-token-dao.md
rename to sa-token-doc/api/sa-token-dao.md
diff --git a/sa-token-doc/doc/api/stp-util.md b/sa-token-doc/api/stp-util.md
similarity index 100%
rename from sa-token-doc/doc/api/stp-util.md
rename to sa-token-doc/api/stp-util.md
diff --git a/sa-token-doc/doc.html b/sa-token-doc/doc.html
new file mode 100644
index 00000000..2f1d52a7
--- /dev/null
+++ b/sa-token-doc/doc.html
@@ -0,0 +1,220 @@
+
+
+
+
+ Sa-Token
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sa-token-doc/doc/logo-150.png b/sa-token-doc/doc/logo-150.png
deleted file mode 100644
index f2538cff..00000000
Binary files a/sa-token-doc/doc/logo-150.png and /dev/null differ
diff --git a/sa-token-doc/doc/fun/auth-flow.md b/sa-token-doc/fun/auth-flow.md
similarity index 100%
rename from sa-token-doc/doc/fun/auth-flow.md
rename to sa-token-doc/fun/auth-flow.md
diff --git a/sa-token-doc/doc/fun/cors-filter.md b/sa-token-doc/fun/cors-filter.md
similarity index 100%
rename from sa-token-doc/doc/fun/cors-filter.md
rename to sa-token-doc/fun/cors-filter.md
diff --git a/sa-token-doc/doc/fun/curr-domain.md b/sa-token-doc/fun/curr-domain.md
similarity index 100%
rename from sa-token-doc/doc/fun/curr-domain.md
rename to sa-token-doc/fun/curr-domain.md
diff --git a/sa-token-doc/doc/fun/dynamic-router-check.md b/sa-token-doc/fun/dynamic-router-check.md
similarity index 100%
rename from sa-token-doc/doc/fun/dynamic-router-check.md
rename to sa-token-doc/fun/dynamic-router-check.md
diff --git a/sa-token-doc/doc/fun/exception-code.md b/sa-token-doc/fun/exception-code.md
similarity index 100%
rename from sa-token-doc/doc/fun/exception-code.md
rename to sa-token-doc/fun/exception-code.md
diff --git a/sa-token-doc/doc/fun/git-pr.md b/sa-token-doc/fun/git-pr.md
similarity index 100%
rename from sa-token-doc/doc/fun/git-pr.md
rename to sa-token-doc/fun/git-pr.md
diff --git a/sa-token-doc/doc/fun/issue-template.md b/sa-token-doc/fun/issue-template.md
similarity index 78%
rename from sa-token-doc/doc/fun/issue-template.md
rename to sa-token-doc/fun/issue-template.md
index e074bf1d..c2b5e299 100644
--- a/sa-token-doc/doc/fun/issue-template.md
+++ b/sa-token-doc/fun/issue-template.md
@@ -4,10 +4,10 @@
> 请在新建 issue 时,尽量复制模板格式进行提交
>
-> 1. 提交之前率先参考 [Sa-Token 常见问题解答](https://sa-token.dev33.cn/doc/index.html#/more/common-questions) 以及善用 Gitee issues 搜索功能,查阅问题是否已有答案,已存在的 issue 就不要再重复提交了。
+> 1. 提交之前率先参考 Sa-Token 常见问题解答 以及善用 Gitee issues 搜索功能,查阅问题是否已有答案,已存在的 issue 就不要再重复提交了。
> 2. 问题已得到处理的 issue 请大家及时手动关闭,如果超过24小时没有追问,我们将默认提交者已找到解决方案,关闭issue。
> 3. 有时候 issue 提交之后,没有得到及时回复,大家可以加入QQ群@管理员寻求帮助。
-> 4. 请大家新建 issue 时删除不必要的模板信息、精简语句、**做好代码排版**,对于不方便描述的业务场景,可参阅 [Sa-Token 名词解释](https://sa-token.dev33.cn/doc/index.html#/more/noun-intro) 方便组织语句,这样有助于减低大家的沟通成本。
+> 4. 请大家新建 issue 时删除不必要的模板信息、精简语句、**做好代码排版**,对于不方便描述的业务场景,可参阅 Sa-Token 名词解释 方便组织语句,这样有助于减低大家的沟通成本。
> 5. **代码截图要带上行号!报错信息要把异常堆栈截全!页面截图要把地址栏带上!Ajax请求要把请求地址、请求头、请求参数都截全!**
diff --git a/sa-token-doc/doc/fun/jur-cache.md b/sa-token-doc/fun/jur-cache.md
similarity index 100%
rename from sa-token-doc/doc/fun/jur-cache.md
rename to sa-token-doc/fun/jur-cache.md
diff --git a/sa-token-doc/doc/fun/not-login-scene.md b/sa-token-doc/fun/not-login-scene.md
similarity index 100%
rename from sa-token-doc/doc/fun/not-login-scene.md
rename to sa-token-doc/fun/not-login-scene.md
diff --git a/sa-token-doc/doc/fun/plugin-dev.md b/sa-token-doc/fun/plugin-dev.md
similarity index 100%
rename from sa-token-doc/doc/fun/plugin-dev.md
rename to sa-token-doc/fun/plugin-dev.md
diff --git a/sa-token-doc/doc/fun/sa-token-context.md b/sa-token-doc/fun/sa-token-context.md
similarity index 86%
rename from sa-token-doc/doc/fun/sa-token-context.md
rename to sa-token-doc/fun/sa-token-context.md
index 369d1b0d..a16f61e4 100644
--- a/sa-token-doc/doc/fun/sa-token-context.md
+++ b/sa-token-doc/fun/sa-token-context.md
@@ -20,7 +20,7 @@
SaTokenContext只是一个接口,没有工作能力,这也就意味着 SaTokenContext 接口的实现是必须的。
那么疑问来了,我们之前在 SpringBoot 中引用 Sa-Token 时为什么可以直接使用呢?
-其实原理很简单,`sa-token-spring-boot-starter`集成包中已经内置了`SaTokenContext`的实现:[SaTokenContextForSpring](https://gitee.com/dromara/sa-token/blob/dev/sa-token-starter/sa-token-spring-boot-starter/src/main/java/cn/dev33/satoken/spring/SaTokenContextForSpring.java),
+其实原理很简单,`sa-token-spring-boot-starter`集成包中已经内置了`SaTokenContext`的实现:[SaTokenContextForSpring](https://gitee.com/dromara/sa-token/blob/master/sa-token-starter/sa-token-spring-boot-starter/src/main/java/cn/dev33/satoken/spring/SaTokenContextForSpring.java),
并且根据 Spring 的自动注入特性,在项目启动时注入到 Sa-Token 中,做到“开箱即用”。
那么如果我们使用不是 Spring 框架,是不是就必须得手动实现 `SaTokenContext` 接口?答案是肯定的,脱离Spring 环境后,我们就不能再使用`sa-token-spring-boot-starter`集成包了,
@@ -81,9 +81,9 @@ public interface SaTokenContext {
```
如果你的 Web 框架不是基于 Servlet 规范,那么你就需要手动实现这三个 Model 接口,我们可以参考 `sa-token-servlet` 是怎样实现的:
-[SaRequestForServlet.java](https://gitee.com/dromara/sa-token/blob/dev/sa-token-starter/sa-token-servlet/src/main/java/cn/dev33/satoken/servlet/model/SaRequestForServlet.java)、
-[SaResponseForServlet.java](https://gitee.com/dromara/sa-token/blob/dev/sa-token-starter/sa-token-servlet/src/main/java/cn/dev33/satoken/servlet/model/SaResponseForServlet.java)、
-[SaStorageForServlet.java](https://gitee.com/dromara/sa-token/blob/dev/sa-token-starter/sa-token-servlet/src/main/java/cn/dev33/satoken/servlet/model/SaStorageForServlet.java)。
+[SaRequestForServlet.java](https://gitee.com/dromara/sa-token/blob/master/sa-token-starter/sa-token-servlet/src/main/java/cn/dev33/satoken/servlet/model/SaRequestForServlet.java)、
+[SaResponseForServlet.java](https://gitee.com/dromara/sa-token/blob/master/sa-token-starter/sa-token-servlet/src/main/java/cn/dev33/satoken/servlet/model/SaResponseForServlet.java)、
+[SaStorageForServlet.java](https://gitee.com/dromara/sa-token/blob/master/sa-token-starter/sa-token-servlet/src/main/java/cn/dev33/satoken/servlet/model/SaStorageForServlet.java)。
### 3、实现 SaTokenContext 接口
@@ -132,7 +132,7 @@ public class SaTokenContextForSpring implements SaTokenContext {
```
详细参考:
-[SaTokenContextForSpring.java](https://gitee.com/dromara/sa-token/blob/dev/sa-token-starter/sa-token-spring-boot-starter/src/main/java/cn/dev33/satoken/spring/SaTokenContextForSpring.java)
+[SaTokenContextForSpring.java](https://gitee.com/dromara/sa-token/blob/master/sa-token-starter/sa-token-spring-boot-starter/src/main/java/cn/dev33/satoken/spring/SaTokenContextForSpring.java)
### 4、将自定义实现注入到 Sa-Token 框架中
@@ -157,8 +157,8 @@ public class Application {
```
如果你使用的框架带有自动注入特性,那就更简单了,参考 Spring 集成包的 Bean 注入流程:
-[注册Bean](https://gitee.com/dromara/sa-token/blob/dev/sa-token-starter/sa-token-spring-boot-starter/src/main/java/cn/dev33/satoken/spring/SaBeanRegister.java)、
-[注入Bean](https://gitee.com/dromara/sa-token/blob/dev/sa-token-starter/sa-token-spring-boot-starter/src/main/java/cn/dev33/satoken/spring/SaBeanInject.java)
+[注册Bean](https://gitee.com/dromara/sa-token/blob/master/sa-token-starter/sa-token-spring-boot-starter/src/main/java/cn/dev33/satoken/spring/SaBeanRegister.java)、
+[注入Bean](https://gitee.com/dromara/sa-token/blob/master/sa-token-starter/sa-token-spring-boot-starter/src/main/java/cn/dev33/satoken/spring/SaBeanInject.java)
### 5、启动项目
diff --git a/sa-token-doc/doc/fun/sa-token-test.md b/sa-token-doc/fun/sa-token-test.md
similarity index 100%
rename from sa-token-doc/doc/fun/sa-token-test.md
rename to sa-token-doc/fun/sa-token-test.md
diff --git a/sa-token-doc/doc/fun/session-model.md b/sa-token-doc/fun/session-model.md
similarity index 100%
rename from sa-token-doc/doc/fun/session-model.md
rename to sa-token-doc/fun/session-model.md
diff --git a/sa-token-doc/doc/fun/sso-vs-oauth2.md b/sa-token-doc/fun/sso-vs-oauth2.md
similarity index 100%
rename from sa-token-doc/doc/fun/sso-vs-oauth2.md
rename to sa-token-doc/fun/sso-vs-oauth2.md
diff --git a/sa-token-doc/doc/fun/tech-stack.md b/sa-token-doc/fun/tech-stack.md
similarity index 100%
rename from sa-token-doc/doc/fun/tech-stack.md
rename to sa-token-doc/fun/tech-stack.md
diff --git a/sa-token-doc/doc/fun/three-scope.md b/sa-token-doc/fun/three-scope.md
similarity index 100%
rename from sa-token-doc/doc/fun/three-scope.md
rename to sa-token-doc/fun/three-scope.md
diff --git a/sa-token-doc/doc/fun/timeline.md b/sa-token-doc/fun/timeline.md
similarity index 100%
rename from sa-token-doc/doc/fun/timeline.md
rename to sa-token-doc/fun/timeline.md
diff --git a/sa-token-doc/doc/fun/token-info.md b/sa-token-doc/fun/token-info.md
similarity index 100%
rename from sa-token-doc/doc/fun/token-info.md
rename to sa-token-doc/fun/token-info.md
diff --git a/sa-token-doc/doc/fun/token-timeout.md b/sa-token-doc/fun/token-timeout.md
similarity index 100%
rename from sa-token-doc/doc/fun/token-timeout.md
rename to sa-token-doc/fun/token-timeout.md
diff --git a/sa-token-doc/index.html b/sa-token-doc/index.html
index 67edfc95..18a489da 100644
--- a/sa-token-doc/index.html
+++ b/sa-token-doc/index.html
@@ -7,9 +7,8 @@
-
-
-
+
+
@@ -18,9 +17,9 @@