Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
shengzhang_
sa-token
提交
884f3a57
sa-token
项目概览
shengzhang_
/
sa-token
通知
68
Star
16
Fork
4
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
sa-token
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
884f3a57
编写于
4月 02, 2021
作者:
shengzhang_
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修整官网,添加友联、使用公司等信息
上级
70d920b4
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
322 addition
and
83 deletion
+322
-83
sa-token-doc/doc/index.html
sa-token-doc/doc/index.html
+6
-2
sa-token-doc/index.css
sa-token-doc/index.css
+86
-44
sa-token-doc/index.html
sa-token-doc/index.html
+230
-37
未找到文件。
sa-token-doc/doc/index.html
浏览文件 @
884f3a57
...
...
@@ -141,12 +141,16 @@
<script
src=
"https://unpkg.zhimg.com/gitalk@1.7.0/dist/gitalk.min.js"
></script>
<script>
function
f5Gitalk
()
{
var
id
=
location
.
hash
.
replace
(
'
#
'
,
''
);
if
(
id
.
indexOf
(
'
?
'
)
>
-
1
)
{
id
=
id
.
substr
(
0
,
id
.
indexOf
(
'
?
'
));
}
window
.
gitalk
=
new
Gitalk
({
id
:
location
.
hash
.
replace
(
'
#
'
,
''
)
,
id
:
id
,
clientID
:
'
19939399448841f818a1
'
,
clientSecret
:
'
af67e0cc14a0f36e171895771c330471cfe36c23
'
,
repo
:
'
sa-token
'
,
// 仓库名称
owner
:
'
click33
'
,
owner
:
'
dromara
'
,
admin
:
[
'
click33
'
],
// 管理员列表
// facebook-like distraction free mode
distractionFreeMode
:
false
...
...
sa-token-doc/index.css
浏览文件 @
884f3a57
...
...
@@ -2,72 +2,114 @@
/* 总 */
*
{
margin
:
0px
;
padding
:
0px
;}
body
{
font-size
:
16px
;
color
:
#34495E
;
font-family
:
"Source Sans Pro"
,
"Helvetica Neue"
,
"Arial,sans-serif"
;}
header
{
height
:
70px
;
border
:
0px
#000
solid
;
position
:
fixed
;
width
:
100%
;}
.s-width
{
width
:
1000px
;
margin
:
auto
;}
/* 栏目标题 */
.s-title
{
color
:
#000
;
margin-top
:
90px
;
margin-bottom
:
50px
;}
/* 解释性文字 */
.re-text
{
color
:
#4e6e8e
;}
/* 分割线 */
.s-fenge
{
width
:
80%
;
margin
:
auto
;
border-top
:
1px
#ddd
solid
;}
/* -------- header头部 --------- */
.s-header
{
height
:
70px
;
border
:
0px
#000
solid
;
position
:
fixed
;
width
:
100%
;}
.s-header
{
background-color
:
#FFF
;
color
:
#000
;
z-index
:
99999
;
box-shadow
:
0
1px
3px
rgba
(
26
,
26
,
26
,
0.1
);}
/* logo部分 */
.logo-box
{
margin-top
:
1
5
px
;
margin-left
:
30px
;
cursor
:
pointer
;
color
:
#000
;
float
:
left
;}
.logo-box
{
margin-top
:
1
0
px
;
margin-left
:
30px
;
cursor
:
pointer
;
color
:
#000
;
float
:
left
;}
.logo-box
img
{
width
:
50px
;
height
:
50px
;
vertical-align
:
middle
;}
.logo-box
.logo-text
{
display
:
inline-block
;
vertical-align
:
middle
;
font-size
:
22px
;
font-weight
:
400
;}
/* 小章鱼 */
.github-corner
svg
{
color
:
#fff
;
fill
:
var
(
--theme-color
,
#42b983
);
height
:
80px
;
width
:
80px
;}
/* 右边导航 */
.nav-right
{
float
:
right
;
line-height
:
70px
;
padding-right
:
4.5em
;
white-space
:
nowrap
;}
.nav-right
a
{
padding
:
0px
1em
;
color
:
#34495E
;
text-decoration
:
none
;
transition
:
all
0.2s
;}
.nav-right
a
:hover
{
color
:
#42B983
;}
/* 主要 */
html
{
width
:
100%
;
height
:
100vh
;}
body
{
width
:
100%
;
min-height
:
100vh
;}
body
:not
(
.ready
)
{
overflow
:
auto
;}
.main-box
{
width
:
100%
;
height
:
100vh
;}
.main-box
{
display
:
flex
;
align-items
:
center
;
text-align
:
center
;}
.main-box
.content-box
{
flex
:
1
;}
.content-box
h1
{
font-size
:
110px
;
font-weight
:
300
;
position
:
relative
;}
.content-box
h1
small
{
font-size
:
20px
;
position
:
absolute
;
bottom
:
0px
;}
.sub-title
{
font-size
:
24px
;
font-weight
:
400
;
margin-top
:
30px
;
margin-bottom
:
25px
;}
/* -------- 海报部分 --------- */
.main-box
{
width
:
100%
;
/* height: 80vh; */
text-align
:
center
;
background-image
:
url(http://yun94.cn/static/images/comment_bg.jpg2)
;}
.main-box
{}
.fenge
{
min-height
:
90px
;}
.content-box
{
color
:
#000
;}
.content-box
h1
{
font-size
:
70px
;
font-weight
:
400
;
position
:
relative
;
margin-top
:
10px
;}
.content-box
h1
small
{
font-size
:
20px
;
position
:
absolute
;
bottom
:
10px
;
margin-left
:
5px
;
font-weight
:
100
;}
.title-logo
{
width
:
221px
;
cursor
:
pointer
;
transition
:
all
0.2s
;}
.title-logo
:hover
{
transform
:
scale
(
1.2
,
1.2
);}
.sub-title
{
font-size
:
24px
;
font-weight
:
400
;
margin-top
:
30px
;
margin-bottom
:
25px
;
color
:
#6a8bad
;}
.content-box
p
{
line-height
:
30px
;
padding
:
0px
1em
;}
.btn-box
{
margin-top
:
16px
;}
.btn-box
a
{
border
:
1px
#42B983
solid
;
border-radius
:
2rem
;
box-sizing
:
border-box
;
color
:
#42B983
;
display
:
inline-block
;
font-size
:
1.05rem
;
letter-spacing
:
.1rem
;
margin
:
.5rem
1rem
;
padding
:
0.9em
2rem
;
text-decoration
:
none
;
transition
:
all
.15s
ease
;
}
/* 最后一个 */
.btn-box
a
:last-child
{
background-color
:
#42B983
;
color
:
#fff
;
}
/* 几个按钮 */
.btn-box
{
margin-top
:
40px
;}
.btn-box
a
{
border
:
1px
#42B983
solid
;
border-radius
:
2rem
;
box-sizing
:
border-box
;
color
:
#42B983
;
display
:
inline-block
;}
.btn-box
a
{
font-size
:
1.05rem
;
letter-spacing
:
.1rem
;
margin
:
.5rem
1rem
;
padding
:
0.9em
2rem
;
text-decoration
:
none
;}
/* 最后一个加深底色 */
.btn-box
a
:last-child
{
color
:
#fff
;
background-color
:
#42B983
;
border
:
1px
green
solid
;}
.btn-box
a
:hover
{
color
:
#000
;}
/* 底部 */
footer
{
position
:
fixed
;
bottom
:
0
;
width
:
100%
;
line-height
:
80px
;
text-align
:
center
;
/* 按钮发光动画 */
.btn-box
a
:last-child
{
animation
:
bganimation
3s
infinite
;}
@keyframes
bganimation
{
0
%
{
box-shadow
:
0
0
1px
#42B983
;}
50
%
{
box-shadow
:
0
0
20px
#42B983
;}
100
%
{
box-shadow
:
0
0
20px
#FFF
;}
}
footer
a
{
color
:
inherit
;
text-decoration
:
none
;}
footer
a
:hover
{
text-decoration
:
underline
;}
/* -------- 支持特性 --------- */
.feature-z
{
padding
:
0em
1em
;
padding-top
:
0px
;
padding-bottom
:
60px
;
text-align
:
center
;
color
:
#000
;}
.feature-z
.s-title
{
font-size
:
30px
;
font-weight
:
400
;
margin-top
:
70px
;
margin-bottom
:
40px
;}
.feature-z
{
color
:
rgb
(
128
,
128
,
128
);
text-align
:
center
;
box-sizing
:
border-box
;
line-height
:
24px
;
font-size
:
16px
;}
.feature-box
{
margin-top
:
40px
;
margin-bottom
:
60px
;
display
:
flex
;
flex-wrap
:
wrap
;
justify-content
:
flex-start
;}
.feature
{
border
:
0px
#000
solid
;
flex
:
1
;
min-width
:
33%
;
max-width
:
33%
;
text-align
:
left
;
padding
:
1.5em
;
box-sizing
:
border-box
;}
.feature
h2
{
font-size
:
24px
;
color
:
#000
;
font-weight
:
400
;}
.feature
p
{
margin-top
:
14px
;
font-size
:
16px
;
color
:
#4e6e8e
;}
/* -------- 使用公司 --------- */
.com-box-f
{
padding
:
1em
1em
;
padding-bottom
:
30px
;
text-align
:
center
;}
.com-box-f
h2
{
font-size
:
30px
;
color
:
#000
;
font-weight
:
400
;}
.com-box
{
display
:
flex
;
flex-wrap
:
wrap
;
width
:
100%
;
margin-bottom
:
50px
;
justify-content
:
flex-start
;}
.com-box
a
{
flex
:
1
;
display
:
block
;
cursor
:
pointer
;
border
:
0px
#ddd
solid
;}
.com-box
a
{
min-width
:
17%
;
max-width
:
18%
;
margin
:
5px
;
line-height
:
100px
;}
.com-box
a
img
{
transition
:
all
0.2s
;
vertical-align
:
middle
;
min-width
:
60%
;
max-width
:
100%
;
max-height
:
100%
;}
.com-box
a
:hover
img
{
transform
:
scale
(
1.05
,
1.05
);}
/* -------- 友情链接 --------- */
.com-box-you
a
{
min-width
:
13%
;
max-width
:
14%
;
line-height
:
60px
;
height
:
60px
;
margin
:
10px
;}
.com-box-you
a
img
{
min-width
:
60%
;
max-width
:
100%
;
vertical-align
:
middle
;
max-height
:
100%
;}
/* -------- 底部 - 连接 --------- */
#footer
{
background-color
:
#181818
;}
#footer
h3
{
font-weight
:
400
;
font-size
:
16px
;
color
:
#ccc
;
margin-top
:
20px
;
margin-bottom
:
20px
;}
#footer
{
border-top
:
1px
#666
solid
;}
.footer-r-b
{
display
:
flex
;
padding
:
40px
0
;}
.ss-box
{
display
:
inline-block
;
flex
:
1
;
color
:
#595959
;
margin
:
0
50px
;
font-size
:
14px
;}
.ss-box
a
{
color
:
#595959
;
text-decoration
:
none
;}
.ss-box
a
:hover
{
color
:
#EEE
;
text-decoration
:
underline
;}
.ss-box
ul
{
margin
:
0
;
padding
:
0
;}
.ss-box
li
{
list-style
:
none
;
line-height
:
28px
;}
/* -------- 底部 - 版权 --------- */
.foot-box
{
background-color
:
#000
;
color
:
#ddd
;
padding
:
2em
0px
;
line-height
:
28px
;
overflow
:
hidden
;
position
:
relative
;
z-index
:
100
;}
.foot-box
{
border-top
:
0px
#666
solid
;}
.foot-box
p
{
text-indent
:
1em
;}
.foot-box
b
{
font-size
:
1.1em
;}
.foot-box
a
{
color
:
#ddd
;
font-size
:
0.9em
;}
.foot-box
a
:hover
{
text-decoration
:
underline
;}
/* -------- 自适应 --------- */
/* 媒体查询 */
@media
screen
and
(
max-width
:
800px
)
{
.logo-box
,
.copyright
{
display
:
none
;}
.main-box
{
height
:
auto
;}
.content-box
{
padding
:
2em
1em
;}
.content-box
h1
{
font-size
:
7
0px
;}
header
{
position
:
static
;}
.content-box
h1
{
font-size
:
5
0px
;}
/* .s-header{position: static;} */
footer
{
position
:
static
;
line-height
:
40px
;}
}
/* 闪光背景 */
.z-div
{
/* .main-box
{
background-size: 500%;
background-image: linear-gradient(125deg,#BFFEBE,#F6F8B5,#FCD0B3,#BFB6F8,#E8D8B3);
animation: bganimation 15s infinite;
...
...
@@ -76,4 +118,4 @@ footer a:hover{text-decoration: underline;}
0%{background-position: 0% 50%;}
50%{background-position: 100% 50%;}
100%{background-position: 0% 50%;}
}
\ No newline at end of file
} */
\ No newline at end of file
sa-token-doc/index.html
浏览文件 @
884f3a57
...
...
@@ -9,15 +9,18 @@
<meta
name=
"viewport"
content=
"width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"
>
<link
rel=
"shortcut icon"
type=
"image/x-icon"
href=
"doc/logo.png"
>
<link
rel=
"stylesheet"
href=
"./index.css"
>
<
link
rel=
"stylesheet"
href=
"https://unpkg.zhimg.com/docsify@4.11.3/lib/themes/vue.css"
>
<
!-- <link rel="stylesheet" href="https://unpkg.zhimg.com/docsify@4.11.3/lib/themes/vue.css"> --
>
</head>
<body>
<div
class=
"z-div"
style=
"height: 100vh; overflow: auto;"
>
<header>
<!-- 总盒子 -->
<div
class=
"z-div"
style=
""
>
<!-- ------------ 头部 ------------- -->
<header
class=
"s-header"
>
<a
href=
"/"
style=
"text-decoration: none;"
>
<div
class=
"logo-box"
>
<img
src=
"doc/logo.png"
title=
"logo"
>
<span
class=
"logo-text"
>
sa-t
oken
</span>
<span
class=
"logo-text"
>
Sa-T
oken
</span>
</div>
</a>
<nav
class=
"nav-right"
>
...
...
@@ -25,8 +28,8 @@
<a
href=
"doc/index.html"
>
文档
</a>
<a
href=
"http://sa-app.dev33.cn/wall.html?name=sa-token"
target=
"_blank"
>
需求墙
</a>
<a
href=
"doc/#/more/update-log"
>
更新日志
</a>
<!-- github小
猫
图标 -->
<a
href=
"https://github.com/dromara/sa-token"
class=
"github-corner"
aria-label=
"View source on Github"
style=
"position: fixed; right: -16px;"
>
<!-- github小
章鱼
图标 -->
<a
href=
"https://github.com/dromara/sa-token"
target=
"_blank"
class=
"github-corner"
aria-label=
"View source on Github"
style=
"position: fixed; right: -16px;"
>
<svg
viewBox=
"0 0 250 250"
aria-hidden=
"true"
>
<path
d=
"M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"
></path>
<path
d=
"M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2"
...
...
@@ -38,48 +41,238 @@
</nav>
</header>
<!--
内容部分
-->
<!--
------------ 海报部分 -------------
-->
<div
class=
"main-box"
>
<div
class=
"content-box"
>
<h1>
sa-token
<small>
v1.15.2
</small></h1>
<div
class=
"fenge"
></div>
<img
class=
"title-logo"
src=
"./doc/logo.png"
onclick=
"alert('别点我, 快去点star!')"
>
<h1>
Sa-Token
<small>
v1.15.2
</small></h1>
<div
class=
"sub-title"
>
这可能是史上功能最全的java权限认证框架!
</div>
<!-- <p>0配置开箱即用,低学习成本</p> -->
<p>
登录验证、权限验证、Session会话、踢人下线、集成Redis、分布式会话、单点登录、前后台分离、记住我模式、模拟他人账号、临时身份切换、多账号体系、注解式鉴权、路由拦截式鉴权、花式token、自动续签、同端互斥登录、会话治理、密码加密、jwt集成、Spring集成...
</p>
<!-- <p>零配置开箱即用,覆盖所有应用场景,你所需要的功能,这里都有</p> -->
<p>
有了sa-token,你所有的权限认证问题,都不再是问题!
</p>
<div
class=
"btn-box"
>
<a
href=
"https://github.com/dromara/sa-token"
target=
"_blank"
>
GitHub
</a>
<a
href=
"https://gitee.com/dromara/sa-token"
target=
"_blank"
>
码云
</a>
<
a
href=
"http://sa-app.dev33.cn/wall.html?name=sa-token"
target=
"_blank"
>
需求墙
</a
>
<a
href=
"doc/index.html"
target=
"_self"
>
开发文档
</a>
<
!-- <a href="http://sa-app.dev33.cn/wall.html?name=sa-token" target="_blank">需求墙</a> --
>
<a
href=
"doc/index.html"
target=
"_self"
class=
"doc-btn"
>
开发文档
</a>
</div>
<br><br>
<h4
align=
"center"
>
<a
href=
"https://gitee.com/dromara/sa-token/stargazers"
><img
src=
"https://gitee.com/dromara/sa-token/badge/star.svg"
></a>
<a
href=
"https://gitee.com/dromara/sa-token/members"
><img
src=
"https://gitee.com/dromara/sa-token/badge/fork.svg"
></a>
<a
href=
"https://github.com/dromara/sa-token/stargazers"
><img
src=
"https://img.shields.io/github/stars/dromara/sa-token?style=flat-square&logo=GitHub"
></a>
<a
href=
"https://github.com/dromara/sa-token/network/members"
><img
src=
"https://img.shields.io/github/forks/dromara/sa-token?style=flat-square&logo=GitHub"
></a>
<a
href=
"https://github.com/dromara/sa-token/watchers"
><img
src=
"https://img.shields.io/github/watchers/dromara/sa-token?style=flat-square&logo=GitHub"
></a>
<a
href=
"https://github.com/dromara/sa-token/issues"
><img
src=
"https://img.shields.io/github/issues/dromara/sa-token.svg?style=flat-square&logo=GitHub"
></a>
<a
href=
"https://github.com/dromara/sa-token/blob/master/LICENSE"
><img
src=
"https://img.shields.io/github/license/dromara/sa-token.svg?style=flat-square"
></a>
</h4>
</div>
</div>
<footer>
<p>
<span
class=
"copyright"
>
Copyright © 2020
</span>
<a
href=
"https://beian.miit.gov.cn/"
target=
"_blank"
>
鲁ICP备18046274号-2
</a>
QQ交流群:
<a
href=
"https://jq.qq.com/?_wv=1027&k=45H977HM"
target=
"_blank"
>
1002350610
</a>
<!-- QQ交流群:<a href="https://jq.qq.com/?_wv=1027&k=5DHN5Ib" target="_blank">782974737</a> -->
</p>
</footer>
<!-- ------------ 支持特性 ------------- -->
<div
>
<div
class=
"feature-z s-width"
>
<h2
class=
"s-title"
>
支持 ⚡ 特性
</h2>
<div
class=
"feature-box"
>
<div
class=
"feature"
>
<h2>
登录认证
</h2>
<p>
多地登录、单地登录、同端互斥登录…… 轻松登录鉴权,并提供五种细分场景值
</p>
</div>
<div
class=
"feature"
>
<h2>
权限认证
</h2>
<p>
拦截违规调用,适配RBAC权限模型,不同角色不同授权,权限分配精细到按钮级
</p>
</div>
<div
class=
"feature"
>
<h2>
Session会话
</h2>
<p>
专业的数据缓存中心,内置三种会话模型:User-Session、Token-Session、自定义Session
</p>
</div>
<div
class=
"feature"
>
<h2>
踢人下线
</h2>
<p>
一行代码实现踢人下线功能,清退违规用户,对方再次访问系统提示“已被踢下线”
</p>
</div>
<div
class=
"feature"
>
<h2>
Redis集成
</h2>
<p>
可扩展持久层,集成Redis、Memcached等专业缓存中间件,重启数据不丢失
</p>
</div>
<div
class=
"feature"
>
<h2>
分布式会话
</h2>
<p>
保证多节点数据一致性,提供jwt集成和共享数据中心两种分布式会话方案
</p>
</div>
<div
class=
"feature"
>
<h2>
单点登录
</h2>
<p>
一行配置集成单点登录,多个系统,一处登录,处处通行
</p>
</div>
<div
class=
"feature"
>
<h2>
临时身份切换
</h2>
<p>
实时操作任意用户状态数据,还可临时身份切换,关键时刻让你少写N多代码
</p>
</div>
<div
class=
"feature"
>
<h2>
前后台分离
</h2>
<p>
三种token读取策略,适配无Cookie模式,完美兼容APP、小程序等前后台分离场景
</p>
</div>
<div
class=
"feature"
>
<h2>
同端互斥登录
</h2>
<p>
像QQ一样手机电脑可以同时在线,但是在两个手机上互斥登录
</p>
</div>
<div
class=
"feature"
>
<h2>
多账号体系认证
</h2>
<p>
一个商城项目的User表和Admin表想要分开鉴权?sa-token教你如何轻松搞定一个系统多套权限体系的场景!
</p>
</div>
<div
class=
"feature"
>
<h2>
定制Token风格
</h2>
<p>
默认uuid风格太过单调?内置六种token风格随意切换,还可自定义token生成策略
</p>
</div>
<div
class=
"feature"
>
<h2>
注解式鉴权
</h2>
<p>
拒绝混乱,优雅的将鉴权与业务代码分离!
</p>
</div>
<div
class=
"feature"
>
<h2>
路由拦截式鉴权
</h2>
<p>
轻松搞定不同模块不同权限校验,还可适配Restful风格路由
</p>
</div>
<div
class=
"feature"
>
<h2>
自动续签
</h2>
<p>
提供两种token过期策略,灵活搭配使用,还可自动续签
</p>
</div>
<div
class=
"feature"
>
<h2>
会话治理
</h2>
<p>
提供方便灵活的会话查询接口,绕过API,直达数据底层,解决各种边际场景的疑难杂症
</p>
</div>
<div
class=
"feature"
>
<h2>
记住我模式
</h2>
<p>
一个参数即可轻松适配 [记住我] 模式,做到重启浏览器免验证
</p>
</div>
<div
class=
"feature"
>
<h2>
密码加密
</h2>
<p>
提供密码加密模块,可快速MD5、SHA1、SHA256、AES、RSA加密
</p>
</div>
<!-- <div class="feature">
<h2>组件自动注入</h2>
<p>零配置与Spring等框架集成</p>
</div> -->
</div>
<div
class=
"re-text"
>
有了sa-token,你所有的权限认证问题,都不再是问题!
</div>
</div>
</div>
<!-- ------------ 使用公司 ------------- -->
<div>
<div
class=
"com-box-f s-width"
>
<div
class=
"s-fenge"
></div>
<br>
<h2
class=
"s-title"
>
正在使用 Sa-Token 的公司 / 机构
</h2>
<div
class=
"com-box"
>
<a
href=
"http://yun94.cn/"
target=
"_blank"
>
<img
src=
"https://oss.dev33.cn/sa-token/com/liangyunwangluo.png"
>
</a>
<a
href=
"http://www.jmwl51.com/"
target=
"_blank"
>
<img
src=
"https://oss.dev33.cn/sa-token/com/jimengwangluo.png"
>
</a>
<a
href=
"https://www.suancheng.co/"
target=
"_blank"
>
<img
src=
"https://oss.dev33.cn/sa-token/com/suanchengdudu.png"
>
</a>
<a
href=
"https://chykj.com/"
target=
"_blank"
>
<img
src=
"https://chykj.com/upload/1/cms/content/cylogoc.jpg"
>
</a>
<a
href=
"https://shop.jfh.com/6089/"
target=
"_blank"
>
<img
src=
"https://oss.dev33.cn/sa-token/com/banxiawangluo.png"
>
</a>
</div>
<div
style=
"height: 10px; clear: both;"
></div>
<p
style=
"color: #666;"
>
(如果您的项目也使用了Sa-Token,您可以
<a
href=
"https://gitee.com/dromara/sa-token/issues/I3EV1M"
target=
"_blank"
style=
"text-decoration: none;"
>
在此
</a>
提交)
</p>
</div>
<div
style=
"height: 60px;"
></div>
</div>
<!-- ------------ 友情链接 ------------- -->
<div>
<div
class=
"com-box-f s-width"
>
<div
class=
"s-fenge"
></div>
<br>
<h2
class=
"s-title"
>
友情链接
</h2>
<div
class=
"com-box com-box-you"
>
<a
href=
"https://gitee.com/dromara/soul"
target=
"_blank"
>
<img
src=
"https://dromara.org/img/logo/soul.png"
>
</a>
<a
href=
"https://yomahub.com/tlog/"
target=
"_blank"
>
<img
src=
"https://gitee.com/dromara/TLog/raw/master/static/img/logo.png"
>
</a>
<a
href=
"https://dromara.org/zh/projects/"
target=
"_blank"
>
<img
src=
"https://oss.dev33.cn/sa-token/link/dromara.png"
>
</a>
<a
href=
"https://okhttps.ejlchina.com/"
target=
"_blank"
>
<img
src=
"https://oss.dev33.cn/sa-token/link/okhttps.png"
>
</a>
<a
href=
"https://xiaonuo.vip/"
target=
"_blank"
>
<img
src=
"https://oss.dev33.cn/sa-token/link/xiaonuo.png"
>
</a>
<a
href=
"https://cubic.jiagoujishu.com/"
target=
"_blank"
>
<img
src=
"https://oss.dev33.cn/sa-token/link/cubic.png"
>
</a>
</div>
<div
style=
"height: 10px; clear: both;"
></div>
</div>
<div
style=
"height: 60px;"
></div>
</div>
<!-- ------------ 底部 连接 ------------- -->
<div
id=
"footer"
>
<div
id=
"s-footer"
class=
"mao-link"
></div>
<div
class=
"footer-r-b s-width"
>
<div
class=
"ss-box"
>
<h3>
友情链接
</h3>
<ul
class=
"list-unstyle"
>
<li><a
href=
"https://dromara.org/zh/projects/"
target=
"_blank"
>
Dromara社区
</a></li>
<li><a
href=
"https://docsify.js.org/#/zh-cn/"
target=
"_blank"
>
docsify
</a></li>
<li><a
href=
"https://juejin.cn/"
target=
"_blank"
>
掘金 · 技术社区
</a></li>
</ul>
</div>
<div
class=
"ss-box"
>
<h3>
友情链接
</h3>
<ul
class=
"list-unstyle"
>
<li><a
href=
"https://www.aliyun.com/"
target=
"_blank"
>
阿里云
</a></li>
<li><a
href=
"https://cloud.tencent.com/"
target=
"_blank"
>
腾讯云
</a></li>
<li><a
href=
"http://yanzhi21.com"
target=
"_blank"
>
颜值排行榜
</a></li>
</ul>
</div>
<div
class=
"ss-box"
>
<h3>
联系我们
</h3>
<ul
class=
"list-unstyle"
>
<!-- <li>电话:<a href="tel:123;">123</a></li> -->
<li>
QQ群 :
<a
href=
"https://jq.qq.com/?_wv=1027&k=5DHN5Ib"
target=
"_blank"
>
1002350610
</a></li>
<li>
邮箱:
<a
href=
"javascript: alert('暂无');"
>
暂无
</a></li>
<li>
联系:
<a
href=
"javascript: alert('暂无');"
>
暂无
</a></li>
</ul>
</div>
<div
class=
"ss-box"
>
<h3
class=
"last"
style=
"text-align: left; float: none; padding-left: 0px;"
>
Dromara公众号
</h3>
<div
class=
"media-img padding-small-top"
style=
"text-align: left;"
>
<a
href=
"https://dromara.org/img/qrcode/qrcode_1.png"
target=
"_blank"
>
<img
src=
"https://dromara.org/img/qrcode/qrcode_1.png"
width=
"100"
height=
"100"
/>
</a>
</div>
</div>
</div>
</div>
<!-- -------------- 底部 版权 -------------- -->
<div>
<meta
charset=
"UTF-8"
>
<style
type=
"text/css"
>
</style>
<div
class=
"foot-box"
id=
"foot"
>
<div
class=
"s-width"
style=
"text-align: center;"
>
Copyright ©2021 sa-token java权限认证 | sa-token.dev33.cn |
<a
href=
"https://beian.miit.gov.cn/"
target=
"_blank"
>
鲁ICP备18046274号-2
</a>
</div>
</div>
</div>
</div>
<script>
// 随机数
function
randomNum
(
minNum
,
maxNum
)
{
return
parseInt
(
Math
.
random
()
*
(
maxNum
-
minNum
+
1
)
+
minNum
,
10
)
}
// 随机一个渐变背景色
function
randomBG
()
{
var
c1
=
randomNum
(
0
,
255
);
var
c2
=
randomNum
(
0
,
255
);
document
.
body
.
style
.
background
=
'
linear-gradient(to left bottom, hsl(
'
+
c1
+
'
, 100%, 85%) 0%,hsl(
'
+
c2
+
'
, 100%, 85%) 100%)
'
;
}
randomBG
();
</script>
<!-- 搜索引擎自动提交 -->
<script>
...
...
@@ -95,7 +288,7 @@
s
.
parentNode
.
insertBefore
(
bp
,
s
);
})();
</script>
<!-- 友盟 -->
<!-- 友盟
统计
-->
<div
style=
"height: 0px; overflow: hidden;"
>
<script
type=
"text/javascript"
src=
"https://s4.cnzz.com/z_stat.php?id=1279646043&web_id=1279646043"
></script>
</div>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录