提交 884f3a57 编写于 作者: shengzhang_'s avatar shengzhang_

修整官网,添加友联、使用公司等信息

上级 70d920b4
......@@ -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
......
......@@ -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: 15px; margin-left: 30px; cursor: pointer; color: #000; float: left;}
.logo-box {margin-top: 10px; 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: 70px;}
header{position: static;}
.content-box h1{font-size: 50px;}
/* .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
......@@ -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-token</span>
<span class="logo-text">Sa-Token</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 &nbsp;</span>
<a href="https://beian.miit.gov.cn/" target="_blank">鲁ICP备18046274号-2</a> &nbsp;
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.
先完成此消息的编辑!
想要评论请 注册