mirror of
https://gitee.com/dromara/sa-token.git
synced 2025-08-23 22:11:29 +08:00
优化文档
This commit is contained in:
parent
9f194e73e2
commit
2286b02881
@ -70,7 +70,7 @@
|
|||||||
|
|
||||||
- **其它**
|
- **其它**
|
||||||
- [更新日志](/more/update-log)
|
- [更新日志](/more/update-log)
|
||||||
- [友情链接](/more/link)
|
- [框架生态](/more/link)
|
||||||
- [推荐公众号](/more/tj-gzh)
|
- [推荐公众号](/more/tj-gzh)
|
||||||
- [赞助 Sa-Token](/more/sa-token-donate)
|
- [赞助 Sa-Token](/more/sa-token-donate)
|
||||||
|
|
||||||
|
@ -92,6 +92,8 @@
|
|||||||
}, 1);
|
}, 1);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<!-- -->
|
||||||
|
<script src="./lib/docsify-plugin.js"></script>
|
||||||
<script>
|
<script>
|
||||||
var saTokenTopVersion = '1.28.0'; // Sa-Token最新版本
|
var saTokenTopVersion = '1.28.0'; // Sa-Token最新版本
|
||||||
var name = '<img style="width: 60px; height: 60px; vertical-align: middle;" src="logo.png" alt="logo" /> ';
|
var name = '<img style="width: 60px; height: 60px; vertical-align: middle;" src="logo.png" alt="logo" /> ';
|
||||||
@ -126,52 +128,8 @@
|
|||||||
tabComments: true, // 用注释来标注选项卡标题,例如:<!-- tab:SpringBoot -->
|
tabComments: true, // 用注释来标注选项卡标题,例如:<!-- tab:SpringBoot -->
|
||||||
tabHeadings: true // 用标题+粗体来定制选项卡
|
tabHeadings: true // 用标题+粗体来定制选项卡
|
||||||
},
|
},
|
||||||
plugins: [ // 自定义插件
|
// 自定义插件
|
||||||
function(hook, vm) {
|
plugins: [myDocsifyPlugin],
|
||||||
// 解析之前执行
|
|
||||||
hook.beforeEach(function(content) {
|
|
||||||
try{
|
|
||||||
var reg = /\$\{sa.top.version\}/g;
|
|
||||||
content = content.replace(reg, window.saTokenTopVersion);
|
|
||||||
}catch(e){
|
|
||||||
//
|
|
||||||
}
|
|
||||||
return content;
|
|
||||||
});
|
|
||||||
// 每次路由切换时,解析内容之后执行
|
|
||||||
hook.afterEach(function(html) {
|
|
||||||
var url = 'https://gitee.com/dromara/sa-token/tree/dev/sa-token-doc/doc/' + vm.route.file;
|
|
||||||
var url2 = 'https://github.com/dromara/sa-token/tree/dev/sa-token-doc/doc/' + vm.route.file;
|
|
||||||
var footer = [
|
|
||||||
'<br/><br/><br/><br/><br/><br/><br/><hr/>',
|
|
||||||
'<footer>',
|
|
||||||
'<span>发现错误? 您可以在 <a href="' + url + '" target="_blank">Gitee</a> 或 <a href="' + url2 +
|
|
||||||
'" target="_blank">GitHub</a> 帮助我们完善此页文档!</span>',
|
|
||||||
'或 <a href="https://jq.qq.com/?_wv=1027&k=b759RZrL" target="_blank">加入QQ群</a> 交流反馈',
|
|
||||||
'</footer>'
|
|
||||||
].join('');
|
|
||||||
return html + footer;
|
|
||||||
});
|
|
||||||
// 每次路由切换时数据全部加载完成后调用,没有参数。
|
|
||||||
hook.doneEach(function() {
|
|
||||||
// 添加代码行数样式
|
|
||||||
$('pre code').each(function(){
|
|
||||||
var lines = $(this).text().split('\n').length;
|
|
||||||
var $numbering = $('<ul/>').addClass('code-line-box');
|
|
||||||
$(this)
|
|
||||||
.addClass('has-numbering')
|
|
||||||
.parent()
|
|
||||||
.append($numbering);
|
|
||||||
for(i=1;i<=lines;i++){
|
|
||||||
$numbering.append($('<li/>').text(i));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
// 初始化并第一次加载完成数据后调用,没有参数。
|
|
||||||
hook.ready(function() {
|
|
||||||
});
|
|
||||||
}
|
|
||||||
],
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<script src="https://unpkg.zhimg.com/docsify@4.9.4/lib/docsify.min.js"></script>
|
<script src="https://unpkg.zhimg.com/docsify@4.9.4/lib/docsify.min.js"></script>
|
||||||
|
78
sa-token-doc/doc/lib/docsify-plugin.js
Normal file
78
sa-token-doc/doc/lib/docsify-plugin.js
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
// 声明 docsify 插件
|
||||||
|
var myDocsifyPlugin = function(hook, vm) {
|
||||||
|
|
||||||
|
// 钩子函数:解析之前执行
|
||||||
|
hook.beforeEach(function(content) {
|
||||||
|
try{
|
||||||
|
// 功能 1,替换全局变量
|
||||||
|
content = content.replace(/\$\{sa.top.version\}/g, window.saTokenTopVersion);
|
||||||
|
|
||||||
|
// 添加 [toc] 标记
|
||||||
|
content = content.replace(/\[\[toc\]\]/g, '<div class="toc-box"></div>');
|
||||||
|
|
||||||
|
}catch(e){
|
||||||
|
//
|
||||||
|
}
|
||||||
|
return content;
|
||||||
|
});
|
||||||
|
|
||||||
|
// 钩子函数:每次路由切换时,解析内容之后执行
|
||||||
|
hook.afterEach(function(html) {
|
||||||
|
|
||||||
|
// 功能 2,文章底部添加仓库地址
|
||||||
|
var url = 'https://gitee.com/dromara/sa-token/tree/dev/sa-token-doc/doc/' + vm.route.file;
|
||||||
|
var url2 = 'https://github.com/dromara/sa-token/tree/dev/sa-token-doc/doc/' + vm.route.file;
|
||||||
|
var footer = [
|
||||||
|
'<br/><br/><br/><br/><br/><br/><br/><hr/>',
|
||||||
|
'<footer>',
|
||||||
|
'<span>发现错误? 您可以在 <a href="' + url + '" target="_blank">Gitee</a> 或 <a href="' + url2 +
|
||||||
|
'" target="_blank">GitHub</a> 帮助我们完善此页文档!</span>',
|
||||||
|
'或 <a href="https://jq.qq.com/?_wv=1027&k=b759RZrL" target="_blank">加入QQ群</a> 交流反馈',
|
||||||
|
'</footer>'
|
||||||
|
].join('');
|
||||||
|
return html + footer;
|
||||||
|
});
|
||||||
|
|
||||||
|
// 每钩子函数:次路由切换时数据全部加载完成后调用,没有参数。
|
||||||
|
hook.doneEach(function() {
|
||||||
|
|
||||||
|
// 功能3,给代码盒子,添加行数样式
|
||||||
|
$('pre code').each(function(){
|
||||||
|
var lines = $(this).text().split('\n').length;
|
||||||
|
var $numbering = $('<ul/>').addClass('code-line-box');
|
||||||
|
$(this)
|
||||||
|
.addClass('has-numbering')
|
||||||
|
.parent()
|
||||||
|
.append($numbering);
|
||||||
|
for(i=1;i<=lines;i++){
|
||||||
|
$numbering.append($('<li/>').text(i));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// 功能4,添加 toc 目录
|
||||||
|
var dStr = "";
|
||||||
|
$('#main h2, #main h3, #main h4, #main h5, #main h6').each(function() {
|
||||||
|
// dStr += '<li>';
|
||||||
|
|
||||||
|
$('.toc-box').append('<li class="toc-' + this.localName + '">' + this.innerHTML + '</li>');
|
||||||
|
|
||||||
|
// $('.toc-box').append(this.outerHTML);
|
||||||
|
|
||||||
|
|
||||||
|
// dStr += '<li>' + $(this).text() + '</li>';
|
||||||
|
// console.log(this);
|
||||||
|
// console.log(dStr);
|
||||||
|
|
||||||
|
|
||||||
|
// dStr += '</li>';
|
||||||
|
});
|
||||||
|
// $('.toc-box').html(dStr);
|
||||||
|
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
// 钩子函数:初始化并第一次加载完成数据后调用,没有参数。
|
||||||
|
hook.ready(function() {
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
@ -6,6 +6,7 @@ body{font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu
|
|||||||
#main {padding-bottom: 100px;}
|
#main {padding-bottom: 100px;}
|
||||||
#main h2 {font-size: 1.6rem;}
|
#main h2 {font-size: 1.6rem;}
|
||||||
#main h3 {font-size: 1.25rem;}
|
#main h3 {font-size: 1.25rem;}
|
||||||
|
#main p strong{font-family: -apple-system,BlinkMacSystemFont,Segoe UI;}
|
||||||
|
|
||||||
.main-box .markdown-section{ padding: 30px 20px; max-width: 70%; margin-left: 12%;}
|
.main-box .markdown-section{ padding: 30px 20px; max-width: 70%; margin-left: 12%;}
|
||||||
.main-box .markdown-section h4{font-size: 1rem;}
|
.main-box .markdown-section h4{font-size: 1rem;}
|
||||||
@ -152,6 +153,15 @@ body .a-box a{font-size: 16px; display: inline-block;}
|
|||||||
.zk-icon{display: inline-block; width: 0px; height: 0px; position: relative;top: 3px; margin-left: 4px;}
|
.zk-icon{display: inline-block; width: 0px; height: 0px; position: relative;top: 3px; margin-left: 4px;}
|
||||||
.zk-icon{border-style: solid; border-width: 5px; border-color: #aaa transparent transparent transparent; }
|
.zk-icon{border-style: solid; border-width: 5px; border-color: #aaa transparent transparent transparent; }
|
||||||
|
|
||||||
|
/* toc目录树 */
|
||||||
|
.toc-box>li{margin-bottom: 15px;}
|
||||||
|
.toc-box .toc-h2{list-style-type: none; font-size: 18px; margin-top: 20px;}
|
||||||
|
.toc-box .toc-h3,.toc-box .toc-h4{margin-left: 1em;}
|
||||||
|
.toc-box .toc-h5,.toc-box .toc-h6{margin-left: 2em;}
|
||||||
|
#main .toc-box .toc-h2 a span{color: #34495e;}
|
||||||
|
#main .toc-box a{border-color: rgba(0,0,0,0); transition: 0s;}
|
||||||
|
#main .toc-box a span{color: inherit;}
|
||||||
|
|
||||||
/* .a-box a{font-family: "Helvetica Neue", Helvetica, "PingFang SC", Tahoma, Arial, sans-serif;}
|
/* .a-box a{font-family: "Helvetica Neue", Helvetica, "PingFang SC", Tahoma, Arial, sans-serif;}
|
||||||
.a-box a{color: var(--a-color); }
|
.a-box a{color: var(--a-color); }
|
||||||
.a-box a:hover{color: var(--a-hover-color) !important; border-bottom: 1px var(--a-hover-color) solid;} */
|
.a-box a:hover{color: var(--a-hover-color) !important; border-bottom: 1px var(--a-hover-color) solid;} */
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
# 常见问题排查
|
# 常见问题排查
|
||||||
本篇整理大家在群聊里经常提问的一些问题,如有补充,欢迎提交pr
|
本篇整理大家在群聊里经常提问的一些问题,如有补充,欢迎提交pr
|
||||||
|
|
||||||
|
[[toc]]
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<!-- ---------------------------- 常见报错 ----------------------------- -->
|
<!-- ---------------------------- 常见报错 ----------------------------- -->
|
||||||
|
@ -1,19 +1,31 @@
|
|||||||
# Sa-Token 相关项目
|
# 框架生态
|
||||||
|
|
||||||
|
> 如果您的开源项目使用了 Sa-Token,欢迎提交:
|
||||||
|
>
|
||||||
|
> - 项目必须是开源项目,且功能具有一定完备性,而不是一个临时 Demo。
|
||||||
|
> - 可以是后台管理、插件、博客等任意类型的项目,无 star 数量要求,即使是刚刚开源的项目,也可以提交。
|
||||||
|
> - 项目需要积极维护,积极处理 issue、pr,长时间没有更新代码将可能从本页面取消展示。
|
||||||
|
> - 符合要求的项目直接通过项目 [issue](https://gitee.com/dromara/sa-token/issues) 或 [pr](https://gitee.com/dromara/sa-token/blob/dev/sa-token-doc/doc/more/link.md) 提交即可。
|
||||||
|
>
|
||||||
|
> 经过 Sa-Token 开发组审核通过后:
|
||||||
|
> - 将展示在此页面。
|
||||||
|
> - 在 Sa-Token 交流群中宣传推广,为项目带来流量。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
### 使用 Sa-Token 的开源项目:
|
### 使用 Sa-Token 的开源项目:
|
||||||
- **[ sa-plus ]**:[一个基于 SpringBoot 架构的快速开发框架,内置代码生成器](https://gitee.com/click33/sa-plus)
|
- **[ Sa-Plus ]**:[一个基于 SpringBoot 架构的快速开发框架,内置代码生成器](https://gitee.com/click33/sa-plus)
|
||||||
|
|
||||||
- **[ jthink ]**: [一个基于 SpringBoot + Sa-Token + Thymeleaf 的博客系统](https://gitee.com/wtsoftware/jthink)
|
- **[ jthink ]**: [一个基于 SpringBoot + Sa-Token + Thymeleaf 的博客系统](https://gitee.com/wtsoftware/jthink)
|
||||||
|
|
||||||
- **[ dcy-fast ]**:[ 一个基于 SpringBoot + Sa-Token + Mybatis-Plus 的后台管理系统,前端vue-element-admin,并且内置代码生成器](https://gitee.com/dcy421/dcy-fast)
|
- **[ dcy-fast ]**:[ 一个基于 SpringBoot + Sa-Token + Mybatis-Plus 的后台管理系统,前端vue-element-admin,并且内置代码生成器](https://gitee.com/dcy421/dcy-fast)
|
||||||
|
|
||||||
- **[ helio-starters ]**:[ 基于JDK15 + Spring Boot 2.4 + Sa-Token + Mybatis-Plus的单体Boot版脚手架和微服务Cloud版脚手架,带有配套后台管理前端模板及代码生成器](https://gitee.com/uncarbon97/helio-starters)
|
- **[ Helio-Starters ]**:[ 基于JDK15 + Spring Boot 2.4 + Sa-Token + Mybatis-Plus的单体Boot版脚手架和微服务Cloud版脚手架,带有配套后台管理前端模板及代码生成器](https://gitee.com/uncarbon97/helio-starters)
|
||||||
|
|
||||||
- **[ sa-token-plugin ]**:[Sa-Token第三方插件实现,基于Sa-Token-Core,提供一些与官方不同实现机制的的插件集合,作为Sa-Token开源生态的补充](https://gitee.com/bootx/sa-token-plugin)
|
- **[ Sa-Token-Plugin ]**:[Sa-Token第三方插件实现,基于Sa-Token-Core,提供一些与官方不同实现机制的的插件集合,作为Sa-Token开源生态的补充](https://gitee.com/bootx/sa-token-plugin)
|
||||||
|
|
||||||
- **[ easy-admin ]**:[一个基于SpringBoot2 + Sa-Token + Mybatis-Plus + Snakerflow + Layui 的后台管理系统,灵活多变可前后端分离,也可单体,内置代码生成器、权限管理、工作流引擎等](https://gitee.com/lakernote/easy-admin)
|
- **[ EasyAdmin ]**:[一个基于SpringBoot2 + Sa-Token + Mybatis-Plus + Snakerflow + Layui 的后台管理系统,灵活多变可前后端分离,也可单体,内置代码生成器、权限管理、工作流引擎等](https://gitee.com/lakernote/easy-admin)
|
||||||
|
|
||||||
- **[ RuoYi-Vue-Plus ]**:[基于 RuoYi-Vue 集成 SaToken + Lombok + Mybatis-Plus + Undertow + knife4j + Hutool + Feign 重写所有原生业务 定期与 RuoYi-Vue 同步](https://gitee.com/JavaLionLi/RuoYi-Vue-Plus/tree/satoken/)
|
- **[ RuoYi-Vue-Plus ]**:[基于 RuoYi-Vue 集成 SaToken + Lombok + Mybatis-Plus + Undertow + knife4j + Hutool + Feign 重写所有原生业务 定期与 RuoYi-Vue 同步](https://gitee.com/JavaLionLi/RuoYi-Vue-Plus/tree/satoken/)
|
||||||
|
|
||||||
@ -21,19 +33,27 @@
|
|||||||
|
|
||||||
- **[ Sa-Token-Study ]**:[以demo示例的方式讲解 Sa-Token 源码涉及到的技术点,连载中……](https://gitee.com/click33/sa-token-study)
|
- **[ Sa-Token-Study ]**:[以demo示例的方式讲解 Sa-Token 源码涉及到的技术点,连载中……](https://gitee.com/click33/sa-token-study)
|
||||||
|
|
||||||
|
- **[ Sp-Cloud ]**:[Sa-Plus的微服务版本, 基于Spring-Cloud-Alibaba,微服务下使用Sa-Token的样例](https://gitee.com/click33/sp-cloud)
|
||||||
|
|
||||||
|
- **[ Ruoyi-Satoken ]**:[为 ruoyi 进行配置 sa-token](https://gitee.com/wangming123456/ruoyi-satoken)
|
||||||
|
|
||||||
|
- **[ vue-satoken-admin ]**:[基于Vue2和Sa-Token1.18.0的后台权限系统。](https://gitee.com/niluni/vue-satoken-admin)
|
||||||
|
|
||||||
|
- **[ 人事管理系统后端 ]**:[人事管理系统后端,框架:springboot,持久层:mybatis,缓存:redis,权限:sa-token](https://gitee.com/sdones_1512/personnel-management-system-back-end)
|
||||||
|
|
||||||
|
|
||||||
如果您的开源项目使用了Sa-Token,欢迎提交...
|
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
### 推荐项目:
|
### 推荐项目:
|
||||||
|
|
||||||
- **[ OkHttps ]**:[一个轻量级http通信框架,API设计无比优雅,支持 WebSocket 以及 Stomp 协议](https://gitee.com/ejlchina-zhxu/okhttps)
|
- **[ OkHttps ]**:[一个轻量级 http 通信框架,API设计无比优雅,支持 WebSocket 以及 Stomp 协议](https://gitee.com/ejlchina-zhxu/okhttps)
|
||||||
|
|
||||||
- **[ hasor ]**:[轻量级ioc/aop框架,采用"微内核+插件"的设计思想](https://gitee.com/zycgit/hasor)
|
- **[ Hasor ]**:[轻量级ioc/aop框架,采用"微内核+插件"的设计思想](https://gitee.com/zycgit/hasor)
|
||||||
|
|
||||||
- **[ sa-admin ]**:[一个多窗口后台模板,流畅、易上手、提高生产力](https://gitee.com/ejlchina-zhxu/okhttps)
|
- **[ Sa-Admin ]**:[一个多窗口后台模板,流畅、易上手、提高生产力](https://gitee.com/ejlchina-zhxu/okhttps)
|
||||||
|
|
||||||
- **[ vue-next-admin ]**:[一套为开发者快速开发准备的基于 vue2.x 越看越精彩的后台管理系统一站式平台模板](https://gitee.com/lyt-top/vue-next-admin)
|
- **[ vue-next-admin ]**:[一套为开发者快速开发准备的基于 vue2.x 越看越精彩的后台管理系统一站式平台模板](https://gitee.com/lyt-top/vue-next-admin)
|
||||||
|
|
||||||
|
@ -19,6 +19,7 @@ Sa-Token 采用 Apache-2.0 开源协议,**承诺框架本身与官网文档永
|
|||||||
|
|
||||||
| 赞助人 | 赞助金额 | 留言 | 时间 |
|
| 赞助人 | 赞助金额 | 留言 | 时间 |
|
||||||
| :-------- | :-------- | :-------- | :-------- |
|
| :-------- | :-------- | :-------- | :-------- |
|
||||||
|
| [网络小渣渣](https://gitee.com/a9777) | ¥ 10 | 感谢您的开源项目! | 2021-12-24 |
|
||||||
| [周周周杨](https://gitee.com/ChaoGeWanJiu) | ¥ 10 | 感谢您的开源项目! | 2021-12-18 |
|
| [周周周杨](https://gitee.com/ChaoGeWanJiu) | ¥ 10 | 感谢您的开源项目! | 2021-12-18 |
|
||||||
| [MrXionGe](https://gitee.com/MrXionGe) | ¥ 10 | SA加油~~ | 2021-12-17 |
|
| [MrXionGe](https://gitee.com/MrXionGe) | ¥ 10 | SA加油~~ | 2021-12-17 |
|
||||||
| [duyiliu](https://gitee.com/duyiliu) | ¥ 10 | 化繁为简,是门艺术。 | 2021-12-16 |
|
| [duyiliu](https://gitee.com/duyiliu) | ¥ 10 | 化繁为简,是门艺术。 | 2021-12-16 |
|
||||||
|
Loading…
Reference in New Issue
Block a user