mirror of
https://gitee.com/dromara/sa-token.git
synced 2025-06-28 13:34:18 +08:00
文档首页图片增加懒加载效果
This commit is contained in:
parent
6f7992770d
commit
fe52b05d88
@ -113,14 +113,13 @@
|
||||
<!-- <a href="https://gitee.com/dromara/sa-token" target="_blank">集成案例</a> -->
|
||||
</div>
|
||||
<h4 align="center" class="badge-box">
|
||||
<a href="https://gitee.com/dromara/sa-token/stargazers"><img src="https://gitee.com/dromara/sa-token/badge/star.svg?theme=gvp"></a>
|
||||
<a href="https://gitee.com/dromara/sa-token/members"><img src="https://gitee.com/dromara/sa-token/badge/fork.svg?theme=gvp"></a>
|
||||
<!-- <br><br> -->
|
||||
<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>
|
||||
<a href="https://gitee.com/dromara/sa-token/stargazers"><img class="lazy" data-original="https://gitee.com/dromara/sa-token/badge/star.svg?theme=gvp"></a>
|
||||
<a href="https://gitee.com/dromara/sa-token/members"><img class="lazy" data-original="https://gitee.com/dromara/sa-token/badge/fork.svg?theme=gvp"></a>
|
||||
<a href="https://github.com/dromara/sa-token/stargazers"><img class="lazy" data-original="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 class="lazy" data-original="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 class="lazy" data-original="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 class="lazy" data-original="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 class="lazy" data-original="https://img.shields.io/github/license/dromara/sa-token.svg?style=flat-square"></a>
|
||||
</h4>
|
||||
</div>
|
||||
</div>
|
||||
@ -183,7 +182,7 @@
|
||||
<!-- Snowy 5.5k -->
|
||||
<div class="s-case">
|
||||
<a href="https://gitee.com/xiaonuobase/snowy" target="_blank" class="s-case-link">
|
||||
<img src="https://oss.dev33.cn/sa-token/case/case--snowy.png">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/case/case--snowy.png">
|
||||
</a>
|
||||
<h3 class="s-case-title">Snowy</h3>
|
||||
<span class="s-author"> 小诺开源技术 </span>
|
||||
@ -192,7 +191,7 @@
|
||||
<!-- SpringBoot_v2 5.3k -->
|
||||
<div class="s-case">
|
||||
<a href="https://gitee.com/bdj/SpringBoot_v2" target="_blank" class="s-case-link">
|
||||
<img src="https://oss.dev33.cn/sa-token/case/case--springboot_v2.png">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/case/case--springboot_v2.png">
|
||||
</a>
|
||||
<h3 class="s-case-title">SpringBoot_v2</h3>
|
||||
<span class="s-author">开源oschina</span>
|
||||
@ -201,7 +200,7 @@
|
||||
<!-- RuoYi-Vue-Plus 4.1k -->
|
||||
<div class="s-case">
|
||||
<a href="https://gitee.com/dromara/RuoYi-Vue-Plus" target="_blank" class="s-case-link">
|
||||
<img src="https://oss.dev33.cn/sa-token/case/case--ruoyi-vue-plus.png">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/case/case--ruoyi-vue-plus.png">
|
||||
</a>
|
||||
<h3 class="s-case-title">RuoYi-Vue-Plus</h3>
|
||||
<span class="s-author"> 疯狂的狮子Li </span>
|
||||
@ -210,7 +209,7 @@
|
||||
<!-- RuoYi-Cloud-Plus 1.5K -->
|
||||
<div class="s-case">
|
||||
<a href="https://gitee.com/dromara/RuoYi-Cloud-Plus" target="_blank" class="s-case-link">
|
||||
<img src="https://oss.dev33.cn/sa-token/case/case--ruoyi-cloud-plus.png">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/case/case--ruoyi-cloud-plus.png">
|
||||
</a>
|
||||
<h3 class="s-case-title">RuoYi-Cloud-Plus</h3>
|
||||
<span class="s-author"> 疯狂的狮子Li </span>
|
||||
@ -219,7 +218,7 @@
|
||||
<!-- Sa-Plus 1K -->
|
||||
<div class="s-case">
|
||||
<a href="https://gitee.com/click33/sa-plus" target="_blank" class="s-case-link">
|
||||
<img src="https://oss.dev33.cn/sa-token/case/case--sa-plus.png">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/case/case--sa-plus.png">
|
||||
</a>
|
||||
<h3 class="s-case-title">Sa-Plus</h3>
|
||||
<span class="s-author"> 孔明 </span>
|
||||
@ -228,7 +227,7 @@
|
||||
<!-- EasyAdmin 878 -->
|
||||
<div class="s-case">
|
||||
<a href="https://gitee.com/lakernote/easy-admin" target="_blank" class="s-case-link">
|
||||
<img src="https://oss.dev33.cn/sa-token/case/case--easy-admin.png">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/case/case--easy-admin.png">
|
||||
</a>
|
||||
<h3 class="s-case-title">EasyAdmin</h3>
|
||||
<span class="s-author"> laker </span>
|
||||
@ -254,106 +253,106 @@
|
||||
<h2 class="s-title">正在使用 Sa-Token 的企业 / 机构</h2>
|
||||
<div class="com-box">
|
||||
<a href="http://yun94.cn/" target="_blank" title="济南凉云网络科技有限公司">
|
||||
<img src="https://oss.dev33.cn/sa-token/com/liangyunwangluo.png">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/com/liangyunwangluo.png">
|
||||
</a>
|
||||
<!-- <a href="http://www.jmwl51.com/" target="_blank" title="济南极梦网络科技有限公司">
|
||||
<img src="https://oss.dev33.cn/sa-token/com/jimengwangluo.png">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/com/jimengwangluo.png">
|
||||
</a> -->
|
||||
<!-- <a href="https://www.suancheng.co/" target="_blank" title="山东酸橙网络科技有限公司">
|
||||
<img src="https://oss.dev33.cn/sa-token/com/suanchengdudu.png">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/com/suanchengdudu.png">
|
||||
</a> -->
|
||||
<a href="https://chykj.com/" target="_blank" title="山东察远信息科技有限公司">
|
||||
<img src="https://chykj.com/upload/1/cms/content/cylogoc.jpg">
|
||||
<img class="lazy" data-original="https://chykj.com/upload/1/cms/content/cylogoc.jpg">
|
||||
</a>
|
||||
<a href="https://ms.airsr.com/" target="_blank" title="北京天衢航空服务有限公司">
|
||||
<img src="https://oss.dev33.cn/sa-token/com/tianquhangkong.png">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/com/tianquhangkong.png">
|
||||
</a>
|
||||
<a href="###" title="货好多科技">
|
||||
<img src="https://oss.dev33.cn/sa-token/com/huohaoduo.png">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/com/huohaoduo.png">
|
||||
</a>
|
||||
<a href="http://www.jmwl51.com/" target="_blank" title="济南极梦网络科技有限公司">
|
||||
<img src="https://oss.dev33.cn/sa-token/com/jimeng.png">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/com/jimeng.png">
|
||||
</a>
|
||||
<a href="https://uniadmin.jiangruyi.com/" target="_blank" title="南京星意信息科技有限公司">
|
||||
<img src="https://oss.dev33.cn/sa-token/com/uniadmin.png">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/com/uniadmin.png">
|
||||
</a>
|
||||
<a href="http://www.tuodan.tech/" target="_blank" title="深圳加速脱单科技有限公司">
|
||||
<img src="https://oss.dev33.cn/sa-token/com/tuodan.jpeg">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/com/tuodan.jpeg">
|
||||
</a>
|
||||
<a href="https://www.yangxuwang.com/" target="_blank" title="上海阳旭网络科技有限公司">
|
||||
<img src="https://oss.dev33.cn/sa-token/com/shouxin.png">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/com/shouxin.png">
|
||||
</a>
|
||||
<a href="https://www.ec-sudo.com/" target="_blank" title="深圳数独科技有限公司">
|
||||
<img src="https://oss.dev33.cn/sa-token/com/shudukeji.png">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/com/shudukeji.png">
|
||||
</a>
|
||||
<a href="https://budwk.com/" target="_blank" title="BudWk 开发框架 V7.x">
|
||||
<img src="https://oss.dev33.cn/sa-token/com/budwk.png">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/com/budwk.png">
|
||||
</a>
|
||||
<a href="https://www.quandashi.com/" target="_blank" title="北京梦知网科技有限公司">
|
||||
<img src="https://oss.dev33.cn/sa-token/com/quandashi.png">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/com/quandashi.png">
|
||||
</a>
|
||||
<a href="http://www.gree.com.cn/" target="_blank" title="珠海格力电器股份有限公司">
|
||||
<img src="https://oss.dev33.cn/sa-token/com/geli.jpeg">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/com/geli.jpeg">
|
||||
</a>
|
||||
<a href="http://www.dchealth.com/" target="_blank" title="神州医疗">
|
||||
<img src="https://oss.dev33.cn/sa-token/com/shenzhouyiliao.png">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/com/shenzhouyiliao.png">
|
||||
</a>
|
||||
<a href="javascript:;" title="暖通管家">
|
||||
<img src="https://oss.dev33.cn/sa-token/com/nuantong.png">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/com/nuantong.png">
|
||||
</a>
|
||||
<a href="https://www.quoting.cn/" target="_blank" title="引止">
|
||||
<img src="https://oss.dev33.cn/sa-token/com/yinzhi.png">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/com/yinzhi.png">
|
||||
</a>
|
||||
<a href="http://www.dzlanke.cn/" target="_blank" title="德州蓝客网络科技">
|
||||
<img src="https://oss.dev33.cn/sa-token/com/dezhoulanke.png">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/com/dezhoulanke.png">
|
||||
</a>
|
||||
<a href="http://www.turingoal.com" target="_blank" title="图灵谷(北京)科技有限公司">
|
||||
<img src="https://oss.dev33.cn/sa-token/com/tulinggu.png">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/com/tulinggu.png">
|
||||
</a>
|
||||
<a href="javascript:;" title="辽宁薪达网络科技有限公司">
|
||||
<img src="https://oss.dev33.cn/sa-token/com/taipingyangcanyin.png">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/com/taipingyangcanyin.png">
|
||||
</a>
|
||||
<a href="https://www.pactera.com/?renqun_youhua=2483561&bd_vid=9062916023494825120" target="_blank" title="中电文思海辉">
|
||||
<img src="https://oss.dev33.cn/sa-token/com/zhongdianwensi-logo.png">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/com/zhongdianwensi-logo.png">
|
||||
</a>
|
||||
<a href="https://tisiqikeji.com/" target="_blank" title="吉林省体思奇健康科技有限公司">
|
||||
<img src="https://oss.dev33.cn/sa-token/com/tisiqi.png">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/com/tisiqi.png">
|
||||
</a>
|
||||
<a href="http://www.qaqavr.com/" target="_blank" title="合肥中锐智能科技有限公司">
|
||||
<img src="https://oss.dev33.cn/sa-token/com/hefeizhongrui2.png">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/com/hefeizhongrui2.png">
|
||||
</a>
|
||||
<a href="https://www.hstong.com/" target="_blank" title="价值网络">
|
||||
<img src="https://oss.dev33.cn/sa-token/com/huashengtong.png">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/com/huashengtong.png">
|
||||
</a>
|
||||
<a href="https://www.shylsoft.com/" target="_blank" title="上海营联信息技术有限公司">
|
||||
<img src="https://oss.dev33.cn/sa-token/com/yinglian.png">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/com/yinglian.png">
|
||||
</a>
|
||||
<a href="http://www.sxpartner.com/" target="_blank" title="陕西小伙伴网络科技有限公司">
|
||||
<img src="https://oss.dev33.cn/sa-token/com/cptc.png">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/com/cptc.png">
|
||||
</a>
|
||||
<!-- <a href="https://gitee.com/fhs-opensource/fhs-framework" target="_blank" title="FHS 快速开发平台">
|
||||
<img src="https://oss.dev33.cn/sa-token/com/fhs.png">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/com/fhs.png">
|
||||
</a> -->
|
||||
<a href="http://www.hmnst.com/index.html" target="_blank" title="微纳感知(合肥)技术有限公司">
|
||||
<img src="https://oss.dev33.cn/sa-token/com/weinaganzhi.png">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/com/weinaganzhi.png">
|
||||
</a>
|
||||
<a href="https://www.aegis-info.com/" target="_blank" title="北京擎盾信息科技有限公司">
|
||||
<img src="https://oss.dev33.cn/sa-token/com/beijingqingdun.png">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/com/beijingqingdun.png">
|
||||
</a>
|
||||
<a href="https://www.geostar.com.cn/" target="_blank" title="吉奥时空">
|
||||
<img src="https://oss.dev33.cn/sa-token/com/jieaoshikong.png">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/com/jieaoshikong.png">
|
||||
</a>
|
||||
<a href="http://www.stbella.cn/" target="_blank" title="贝康国际">
|
||||
<img src="https://oss.dev33.cn/sa-token/com/beikangguoji.png">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/com/beikangguoji.png">
|
||||
</a>
|
||||
<a href="https://mimirii.com/" target="_blank" title="西安米默网络科技有限公司">
|
||||
<img src="https://oss.dev33.cn/sa-token/com/mimokeji.png">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/com/mimokeji.png">
|
||||
</a>
|
||||
<a href="http://www.chually.cn/" target="_blank" title="湖北楚商联盟金融信息服务有限公司">
|
||||
<img src="https://oss.dev33.cn/sa-token/com/chushangjinfu.png">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/com/chushangjinfu.png">
|
||||
</a>
|
||||
<a href="https://www.zhongyuankeji.cn/" target="_blank" title="山东众远信息科技有限公司">
|
||||
<img src="https://oss.dev33.cn/sa-token/com/zhongyuankeji.png">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/com/zhongyuankeji.png">
|
||||
</a>
|
||||
</div>
|
||||
<div style="height: 10px; clear: both;"></div>
|
||||
@ -377,130 +376,130 @@
|
||||
</h2>
|
||||
<div class="com-box com-box-you">
|
||||
<a href="https://gitee.com/dromara/TLog" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/tlog.png" msg="一个轻量级的分布式日志标记追踪神器,10分钟即可接入,自动对日志打标签完成微服务的链路追踪">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/tlog.png" msg="一个轻量级的分布式日志标记追踪神器,10分钟即可接入,自动对日志打标签完成微服务的链路追踪">
|
||||
</a>
|
||||
<a href="https://gitee.com/dromara/liteFlow" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/liteflow.png" msg="轻量,快速,稳定,可编排的组件式流程引擎">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/liteflow.png" msg="轻量,快速,稳定,可编排的组件式流程引擎">
|
||||
</a>
|
||||
<a href="https://hutool.cn/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/hutool.jpg" msg="🍬小而全的Java工具类库,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/hutool.jpg" msg="🍬小而全的Java工具类库,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。">
|
||||
</a>
|
||||
<a href="https://sa-token.cc/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/sa-token.png" msg="一个轻量级 java 权限认证框架,让鉴权变得简单、优雅!">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/sa-token.png" msg="一个轻量级 java 权限认证框架,让鉴权变得简单、优雅!">
|
||||
</a>
|
||||
<a href="https://gitee.com/dromara/hmily" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/hmily.png" msg="高性能一站式分布式事务解决方案。">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/hmily.png" msg="高性能一站式分布式事务解决方案。">
|
||||
</a>
|
||||
<a href="https://gitee.com/dromara/Raincat" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/raincat.png" msg="强一致性分布式事务解决方案。">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/raincat.png" msg="强一致性分布式事务解决方案。">
|
||||
</a>
|
||||
<a href="https://gitee.com/dromara/myth" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/myth.png" msg="可靠消息分布式事务解决方案。">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/myth.png" msg="可靠消息分布式事务解决方案。">
|
||||
</a>
|
||||
<a href="https://cubic.jiagoujishu.com/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/cubic.png" msg="一站式问题定位平台,以agent的方式无侵入接入应用,完整集成arthas功能模块,致力于应用级监控,帮助开发人员快速定位问题">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/cubic.png" msg="一站式问题定位平台,以agent的方式无侵入接入应用,完整集成arthas功能模块,致力于应用级监控,帮助开发人员快速定位问题">
|
||||
</a>
|
||||
<a href="https://maxkey.top/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/maxkey.png" msg="业界领先的身份管理和认证产品">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/maxkey.png" msg="业界领先的身份管理和认证产品">
|
||||
</a>
|
||||
<a href="http://forest.dtflyx.com/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/forest-logo.png" msg="Forest能够帮助您使用更简单的方式编写Java的HTTP客户端" nf>
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/forest-logo.png" msg="Forest能够帮助您使用更简单的方式编写Java的HTTP客户端" nf>
|
||||
</a>
|
||||
<a href="https://jpom.top/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/jpom.png" msg="一款简而轻的低侵入式在线构建、自动部署、日常运维、项目监控软件">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/jpom.png" msg="一款简而轻的低侵入式在线构建、自动部署、日常运维、项目监控软件">
|
||||
</a>
|
||||
<a href="https://su.usthe.com/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/sureness.png" msg="面向 REST API 的高性能认证鉴权框架">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/sureness.png" msg="面向 REST API 的高性能认证鉴权框架">
|
||||
</a>
|
||||
<a href="https://easy-es.cn/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/easy-es2.png" msg="🚀傻瓜级ElasticSearch搜索引擎ORM框架">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/easy-es2.png" msg="🚀傻瓜级ElasticSearch搜索引擎ORM框架">
|
||||
</a>
|
||||
<a href="https://gitee.com/dromara/northstar" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/northstar_logo.png" msg="Northstar盈富量化交易平台">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/northstar_logo.png" msg="Northstar盈富量化交易平台">
|
||||
</a>
|
||||
<a href="https://hertzbeat.com/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/hertzbeat-brand.svg" msg="易用友好的云监控系统">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/hertzbeat-brand.svg" msg="易用友好的云监控系统">
|
||||
</a>
|
||||
<a href="https://dromara.gitee.io/fast-request/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/fast-request.gif" msg="Idea 版 Postman,为简化调试API而生">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/fast-request.gif" msg="Idea 版 Postman,为简化调试API而生">
|
||||
</a>
|
||||
<a href="https://www.jeesuite.com/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/mendmix.png" msg="开源分布式云原生架构一站式解决方案">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/mendmix.png" msg="开源分布式云原生架构一站式解决方案">
|
||||
</a>
|
||||
<a href="https://gitee.com/dromara/koalas-rpc" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/koalas-rpc2.png" msg="企业生产级百亿日PV高可用可拓展的RPC框架。">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/koalas-rpc2.png" msg="企业生产级百亿日PV高可用可拓展的RPC框架。">
|
||||
</a>
|
||||
<a href="https://async.sizegang.cn/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/gobrs-async.png" msg="🔥 配置极简功能强大的异步任务动态编排框架">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/gobrs-async.png" msg="🔥 配置极简功能强大的异步任务动态编排框架">
|
||||
</a>
|
||||
<a href="https://dynamictp.cn/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/dynamic-tp.png" msg="🔥🔥🔥 基于配置中心的轻量级动态可监控线程池">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/dynamic-tp.png" msg="🔥🔥🔥 基于配置中心的轻量级动态可监控线程池">
|
||||
</a>
|
||||
<a href="https://www.x-easypdf.cn" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/x-easypdf.png" msg="一个用搭积木的方式构建pdf的框架(基于pdfbox)">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/x-easypdf.png" msg="一个用搭积木的方式构建pdf的框架(基于pdfbox)">
|
||||
</a>
|
||||
<a href="http://dromara.gitee.io/image-combiner" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/image-combiner.png" msg="一个专门用于图片合成的工具,没有很复杂的功能,简单实用,却不失强大">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/image-combiner.png" msg="一个专门用于图片合成的工具,没有很复杂的功能,简单实用,却不失强大">
|
||||
</a>
|
||||
<a href="https://www.herodotus.cn/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/dante-cloud2.png" msg="Dante-Cloud 是一款企业级微服务架构和服务能力开发平台。">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/dante-cloud2.png" msg="Dante-Cloud 是一款企业级微服务架构和服务能力开发平台。">
|
||||
</a>
|
||||
<a href="http://www.mtruning.club" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/go-view.png" msg="低代码数据可视化开发平台">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/go-view.png" msg="低代码数据可视化开发平台">
|
||||
</a>
|
||||
<a href="https://tangyh.top/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/lamp-cloud.png" msg="微服务中后台快速开发平台,支持租户(SaaS)模式、非租户模式">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/lamp-cloud.png" msg="微服务中后台快速开发平台,支持租户(SaaS)模式、非租户模式">
|
||||
</a>
|
||||
<a href="https://www.redisfront.com/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/redis-front.png" msg="RedisFront 是一款开源免费的跨平台 Redis 桌面客户端工具, 支持单机模式, 集群模式, 哨兵模式以及 SSH 隧道连接, 可轻松管理Redis缓存数据.">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/redis-front.png" msg="RedisFront 是一款开源免费的跨平台 Redis 桌面客户端工具, 支持单机模式, 集群模式, 哨兵模式以及 SSH 隧道连接, 可轻松管理Redis缓存数据.">
|
||||
</a>
|
||||
<a href="https://www.yuque.com/u34495/mivcfg" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/electron-egg.png" msg="一个入门简单、跨平台、企业级桌面软件开发框架">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/electron-egg.png" msg="一个入门简单、跨平台、企业级桌面软件开发框架">
|
||||
</a>
|
||||
<a href="https://gitee.com/dromara/open-capacity-platform" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/open-capacity-platform.jpg" msg="简称ocp是基于Spring Cloud的企业级微服务框架(用户权限管理,配置中心管理,应用管理,....)">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/open-capacity-platform.jpg" msg="简称ocp是基于Spring Cloud的企业级微服务框架(用户权限管理,配置中心管理,应用管理,....)">
|
||||
</a>
|
||||
<a href="http://easy-trans.fhs-opensource.top/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/easy_trans.png" msg="Easy-Trans 一个注解搞定数据翻译,减少30%SQL代码量">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/easy_trans.png" msg="Easy-Trans 一个注解搞定数据翻译,减少30%SQL代码量">
|
||||
</a>
|
||||
<a href="https://gitee.com/dromara/neutrino-proxy" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/neutrino-proxy.svg" msg="一款基于 Netty 的、开源的内网穿透神器。">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/neutrino-proxy.svg" msg="一款基于 Netty 的、开源的内网穿透神器。">
|
||||
</a>
|
||||
<a href="https://chatgpt.cn.obiscr.com/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/chatgpt.png" msg="一个支持在 JetBrains 系列 IDE 上运行的 ChatGPT 的插件。">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/chatgpt.png" msg="一个支持在 JetBrains 系列 IDE 上运行的 ChatGPT 的插件。">
|
||||
</a>
|
||||
<a href="https://gitee.com/dromara/zyplayer-doc" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/zyplayer-doc.png" msg="zyplayer-doc是一款适合团队和个人使用的WIKI文档管理工具,同时还包含数据库文档、Api接口文档。">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/zyplayer-doc.png" msg="zyplayer-doc是一款适合团队和个人使用的WIKI文档管理工具,同时还包含数据库文档、Api接口文档。">
|
||||
</a>
|
||||
<a href="https://gitee.com/dromara/payment-spring-boot" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/payment-spring-boot.png" msg="最全最好用的微信支付V3 Spring Boot 组件。">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/payment-spring-boot.png" msg="最全最好用的微信支付V3 Spring Boot 组件。">
|
||||
</a>
|
||||
<a href="https://www.j2eefast.com/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/j2eefast.png" msg="J2eeFAST 是一个致力于中小企业 Java EE 企业级快速开发平台,我们永久开源!">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/j2eefast.png" msg="J2eeFAST 是一个致力于中小企业 Java EE 企业级快速开发平台,我们永久开源!">
|
||||
</a>
|
||||
<a href="https://gitee.com/dromara/data-compare" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/dataCompare.png" msg="数据库比对工具:hive 表数据比对,mysql、Doris 数据比对,实现自动化配置进行数据比对,避免频繁写sql 进行处理,低代码(Low-Code) 平台">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/dataCompare.png" msg="数据库比对工具:hive 表数据比对,mysql、Doris 数据比对,实现自动化配置进行数据比对,避免频繁写sql 进行处理,低代码(Low-Code) 平台">
|
||||
</a>
|
||||
<a href="https://gitee.com/dromara/open-giteye-api" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/open-giteye-api.svg" msg="giteye.net 是专为开源作者设计的数据图表服务工具类站点,提供了包括 Star 趋势图、贡献者列表、Gitee指数等数据图表服务。">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/open-giteye-api.svg" msg="giteye.net 是专为开源作者设计的数据图表服务工具类站点,提供了包括 Star 趋势图、贡献者列表、Gitee指数等数据图表服务。">
|
||||
</a>
|
||||
<a href="https://gitee.com/dromara/RuoYi-Vue-Plus" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/RuoYi-Vue-Plus.png" msg="后台管理系统 重写 RuoYi-Vue 所有功能 集成 Sa-Token + Mybatis-Plus + Jackson + Xxl-Job + SpringDoc + Hutool + OSS 定期同步">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/RuoYi-Vue-Plus.png" msg="后台管理系统 重写 RuoYi-Vue 所有功能 集成 Sa-Token + Mybatis-Plus + Jackson + Xxl-Job + SpringDoc + Hutool + OSS 定期同步">
|
||||
</a>
|
||||
<a href="https://gitee.com/dromara/RuoYi-Cloud-Plus" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/RuoYi-Cloud-Plus.png" msg="微服务管理系统 重写RuoYi-Cloud所有功能 整合 SpringCloudAlibaba Dubbo3.0 Sa-Token Mybatis-Plus MQ OSS ES Xxl-Job Docker 全方位升级 定期同步">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/RuoYi-Cloud-Plus.png" msg="微服务管理系统 重写RuoYi-Cloud所有功能 整合 SpringCloudAlibaba Dubbo3.0 Sa-Token Mybatis-Plus MQ OSS ES Xxl-Job Docker 全方位升级 定期同步">
|
||||
</a>
|
||||
<a href="https://gitee.com/dromara/stream-query" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/stream-query.png" msg="允许完全摆脱 Mapper 的 mybatis-plus 体验!封装 stream 和 lambda 操作进行数据返回处理。">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/stream-query.png" msg="允许完全摆脱 Mapper 的 mybatis-plus 体验!封装 stream 和 lambda 操作进行数据返回处理。">
|
||||
</a>
|
||||
<a href="https://wind.kim/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/sms4j.png" msg="短信聚合工具,让发送短信变的更简单。">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/sms4j.png" msg="短信聚合工具,让发送短信变的更简单。">
|
||||
</a>
|
||||
<a href="https://cloudeon.top/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/cloudeon.png" msg="简化kubernetes上大数据集群的运维管理">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/cloudeon.png" msg="简化kubernetes上大数据集群的运维管理">
|
||||
</a>
|
||||
<a href="https://dromara.org/zh/projects/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/dromara.png" msg="让每一位开源爱好者,体会到开源的快乐。">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/dromara.png" msg="让每一位开源爱好者,体会到开源的快乐。">
|
||||
</a>
|
||||
</div>
|
||||
<div style="height: 10px; clear: both;"></div>
|
||||
@ -509,7 +508,7 @@
|
||||
</p>
|
||||
<div style=" margin: 40px 14px 0; padding: 20px 0 10px; background-color: #f4f5f7;">
|
||||
<h3 style="padding: 0px 0 10px; ">Dromara 知识星球</h3>
|
||||
<img src="https://oss.dev33.cn/sa-token/dromara-xingqiu--sa-token.jpg" style="width: 300px;">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/dromara-xingqiu--sa-token.jpg" style="width: 300px;">
|
||||
</div>
|
||||
</div>
|
||||
<div style="height: 30px;"></div>
|
||||
@ -523,34 +522,34 @@
|
||||
<h2 class="s-title">友情链接</h2>
|
||||
<div class="com-box com-box-you">
|
||||
<a href="https://okhttps.ejlchina.com/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/okhttps.png" msg="如艺术一般优雅,像 1、2、3 一样简单,前后端通用,轻量却强大的 HTTP 客户端(同时支持 WebSocket 以及 Stomp 协议)">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/okhttps.png" msg="如艺术一般优雅,像 1、2、3 一样简单,前后端通用,轻量却强大的 HTTP 客户端(同时支持 WebSocket 以及 Stomp 协议)">
|
||||
</a>
|
||||
<a href="https://searcher.ejlchina.com/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/bean-searcher.png" msg="轻量级关系数据库条件检索引擎,使一行代码实现复杂列表检索成为可能!">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/bean-searcher.png" msg="轻量级关系数据库条件检索引擎,使一行代码实现复杂列表检索成为可能!">
|
||||
</a>
|
||||
<a href="https://xiaonuo.vip/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/xiaonuo2.png" msg="通用型后台权限管理框架,紧随潮流、开箱即用, 同时拥有Vue、Layui、SpringCloud三个版本">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/xiaonuo2.png" msg="通用型后台权限管理框架,紧随潮流、开箱即用, 同时拥有Vue、Layui、SpringCloud三个版本">
|
||||
</a>
|
||||
<a href="http://www.pearadmin.com/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/pear-admin.png" msg="致 力 于 让 Web 开 发 变 得 简 单 优 雅">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/pear-admin.png" msg="致 力 于 让 Web 开 发 变 得 简 单 优 雅">
|
||||
</a>
|
||||
<a href="http://www.layui-vue.com/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/layui-vue.png" msg="layui - vue(谐音:类 UI) 是 一 套 Vue 3.0 的 桌 面 端 组 件 库.">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/layui-vue.png" msg="layui - vue(谐音:类 UI) 是 一 套 Vue 3.0 的 桌 面 端 组 件 库.">
|
||||
</a>
|
||||
<a href="https://shenyu.apache.org/zh/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/shenyu.svg" msg="一个异步的,高性能的,跨语言的,响应式的 API 网关。">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/shenyu.svg" msg="一个异步的,高性能的,跨语言的,响应式的 API 网关。">
|
||||
</a>
|
||||
<a href="https://dwz.cn/L9hCwepg" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/com/yungouos.png" msg="官方直连支付系统解决方案,支持个人、个体户、企业全渠道签约。">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/com/yungouos.png" msg="官方直连支付系统解决方案,支持个人、个体户、企业全渠道签约。">
|
||||
</a>
|
||||
<a href="https://hippo4j.cn/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/hippo4j.jpg" msg="强大的动态线程池框架,附带监控报警功能,支持 Tomcat、Jetty、Undertow、RocketMQ、Dubbo、RabbitMQ、Hystrix 消费线程池">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/hippo4j.jpg" msg="强大的动态线程池框架,附带监控报警功能,支持 Tomcat、Jetty、Undertow、RocketMQ、Dubbo、RabbitMQ、Hystrix 消费线程池">
|
||||
</a>
|
||||
<a href="http://solon.noear.org/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/solon.png" msg="一个更现代感的应用开发框架:更快、更小、更自由。">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/solon.png" msg="一个更现代感的应用开发框架:更快、更小、更自由。">
|
||||
</a>
|
||||
<a href="https://gitee.com/gz-yami/mall4j" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/mall4j.png" msg="一个基于Spring Boot 3 JDK17的商城系统。">
|
||||
<img class="lazy" data-original="https://oss.dev33.cn/sa-token/link/mall4j.png" msg="一个基于Spring Boot 3 JDK17的商城系统。">
|
||||
</a>
|
||||
</div>
|
||||
<div style="height: 10px; clear: both;"></div>
|
||||
@ -753,6 +752,28 @@
|
||||
|
||||
</script>
|
||||
|
||||
<!-- 图片懒加载 -->
|
||||
<script src="static/jquery.lazyload-1.9.3.js"></script>
|
||||
<script>
|
||||
$(function() {
|
||||
$("img.lazy").lazyload({
|
||||
effect: "fadeIn", // 动画,show=显示,fadeIn=淡入,slideDown=下拉
|
||||
effectspeed: 1200, // 动画持续时间
|
||||
skip_invisible: true, // 不加载隐藏的图像
|
||||
// threshold: -180, // 提前加载:距离屏幕多少px时就显示出来
|
||||
// event: 'click', // 事件触发时才加载,scroll=滑动,click=点击,mouseover=鼠标划过,sporty=运动的
|
||||
// 未加载时的占位图,此为3x3透明小图片
|
||||
placeholder:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAhdEVYdENyZWF0aW9uIFRpbWUAMjAyMTowMToyMiAyMjoxNDoxM63SwyUAAAANSURBVBhXYyAGMDAAAAAnAAF2ypRxAAAAAElFTkSuQmCC",
|
||||
load: function(){
|
||||
console.log('lazy img: ' + this.src);
|
||||
}
|
||||
});
|
||||
})
|
||||
// $(window).bind("load", function() {
|
||||
// // var timeout = setTimeout(function() {$("img.lazy").trigger("sporty")}, 5000);
|
||||
// });
|
||||
</script>
|
||||
|
||||
<script type="text/javascript">
|
||||
// 预览版提示
|
||||
if(location.host === 'rc.sa-token.cc') {
|
||||
|
@ -25,9 +25,9 @@ implementation 'cn.dev33:sa-token-jwt:${sa.top.version}'
|
||||
<!---------------------------- tabs:end ---------------------------->
|
||||
|
||||
|
||||
> 注意: sa-token-jwt 显式依赖 hutool-jwt 5.7.14 版本,意味着:你的项目中要么不引入 Hutool,要么引入版本 >= 5.7.14 的 Hutool 版本
|
||||
> 1. 注意: sa-token-jwt 显式依赖 hutool-jwt 5.7.14 版本,保险起见:你的项目中要么不引入 hutool,要么引入版本 >= 5.7.14 的 hutool 版本。
|
||||
> 2. hutool 5.8.13 和 5.8.14 版本下会出现类型转换问题,[关联issue](https://gitee.com/dromara/sa-token/issues/I6L429)。
|
||||
|
||||
> hutool 5.8.13 和 5.8.14 禁止使用, [关联issue](https://gitee.com/dromara/sa-token/issues/I6L429)
|
||||
|
||||
### 2、配置秘钥
|
||||
在 `application.yml` 配置文件中配置 jwt 生成秘钥:
|
||||
|
@ -109,7 +109,6 @@ body{font-size: 16px; color: #34495E; font-family: "Source Sans Pro","Helvetica
|
||||
.s-case{position: relative; transition: all 0.2s; background-color: #FFF;}
|
||||
.s-case-link{display: block; width: 100%; height: 0px; padding-bottom: 50%; position: relative; overflow: hidden;}
|
||||
.s-case-link img{width: 100%; height: 100%; object-fit: cover; object-position: center; position: absolute;}
|
||||
.s-case-link img{transition: all 0.3s;}
|
||||
.s-case-title,.s-case-intro{padding: 0 16px;}
|
||||
.s-case-title{margin-top: 20px; font-size: 18px; font-weight: 400; color: #333; font-family: "microsoft yahei";}
|
||||
.s-case-intro{margin-top: 15px; font-size: 14px; line-height: 20px; color: #777; word-break:break-all;}
|
||||
@ -120,6 +119,7 @@ body{font-size: 16px; color: #34495E; font-family: "Source Sans Pro","Helvetica
|
||||
/* 悬浮动画 */
|
||||
.s-case:hover{box-shadow: 0 0 20px #ccc;}
|
||||
.s-case:hover img{transform: scale(1.3, 1.3); }
|
||||
.s-case-link img{transition: transform 0.3s;}
|
||||
.s-case img:hover{cursor: pointer;}
|
||||
.s-case:hover .s-case-link:after {background-color: rgba(0, 0, 0, .35); color: #FFF;}
|
||||
.s-case .s-case-link:after {
|
||||
@ -144,7 +144,7 @@ body{font-size: 16px; color: #34495E; font-family: "Source Sans Pro","Helvetica
|
||||
.com-box{display: flex; flex-wrap: wrap; width: 100%; margin-bottom: 50px; justify-content: flex-start;}
|
||||
.com-box a{display: block; flex: 0 0 13%; margin: 5px; cursor: pointer; border: 0px #ddd solid;}
|
||||
.com-box a{line-height: 75px;}
|
||||
.com-box a img{transition: all 0.2s; vertical-align: middle; min-width: 60%; max-width: 100%; max-height: 100%;}
|
||||
.com-box a img{transition: transform 0.2s; vertical-align: middle; min-width: 60%; max-width: 100%; max-height: 100%;}
|
||||
.com-box a img:hover{transform: scale(1.05, 1.05);}
|
||||
.com-box-you a img:hover{transform: none;}
|
||||
|
||||
|
242
sa-token-doc/static/jquery.lazyload-1.9.3.js
Normal file
242
sa-token-doc/static/jquery.lazyload-1.9.3.js
Normal file
@ -0,0 +1,242 @@
|
||||
/*
|
||||
* Lazy Load - jQuery plugin for lazy loading images
|
||||
*
|
||||
* Copyright (c) 2007-2013 Mika Tuupola
|
||||
*
|
||||
* Licensed under the MIT license:
|
||||
* http://www.opensource.org/licenses/mit-license.php
|
||||
*
|
||||
* Project home:
|
||||
* http://www.appelsiini.net/projects/lazyload
|
||||
*
|
||||
* Version: 1.9.3
|
||||
*
|
||||
*/
|
||||
|
||||
(function($, window, document, undefined) {
|
||||
var $window = $(window);
|
||||
|
||||
$.fn.lazyload = function(options) {
|
||||
var elements = this;
|
||||
var $container;
|
||||
var settings = {
|
||||
threshold : 0,
|
||||
failure_limit : 0,
|
||||
event : "scroll",
|
||||
effect : "show",
|
||||
container : window,
|
||||
data_attribute : "original",
|
||||
skip_invisible : true,
|
||||
appear : null,
|
||||
load : null,
|
||||
placeholder : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC"
|
||||
};
|
||||
|
||||
function update() {
|
||||
var counter = 0;
|
||||
|
||||
elements.each(function() {
|
||||
var $this = $(this);
|
||||
if (settings.skip_invisible && !$this.is(":visible")) {
|
||||
return;
|
||||
}
|
||||
if ($.abovethetop(this, settings) ||
|
||||
$.leftofbegin(this, settings)) {
|
||||
/* Nothing. */
|
||||
} else if (!$.belowthefold(this, settings) &&
|
||||
!$.rightoffold(this, settings)) {
|
||||
$this.trigger("appear");
|
||||
/* if we found an image we'll load, reset the counter */
|
||||
counter = 0;
|
||||
} else {
|
||||
if (++counter > settings.failure_limit) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
if(options) {
|
||||
/* Maintain BC for a couple of versions. */
|
||||
if (undefined !== options.failurelimit) {
|
||||
options.failure_limit = options.failurelimit;
|
||||
delete options.failurelimit;
|
||||
}
|
||||
if (undefined !== options.effectspeed) {
|
||||
options.effect_speed = options.effectspeed;
|
||||
delete options.effectspeed;
|
||||
}
|
||||
|
||||
$.extend(settings, options);
|
||||
}
|
||||
|
||||
/* Cache container as jQuery as object. */
|
||||
$container = (settings.container === undefined ||
|
||||
settings.container === window) ? $window : $(settings.container);
|
||||
|
||||
/* Fire one scroll event per scroll. Not one scroll event per image. */
|
||||
if (0 === settings.event.indexOf("scroll")) {
|
||||
$container.bind(settings.event, function() {
|
||||
return update();
|
||||
});
|
||||
}
|
||||
|
||||
this.each(function() {
|
||||
var self = this;
|
||||
var $self = $(self);
|
||||
|
||||
self.loaded = false;
|
||||
|
||||
/* If no src attribute given use data:uri. */
|
||||
if ($self.attr("src") === undefined || $self.attr("src") === false) {
|
||||
if ($self.is("img")) {
|
||||
$self.attr("src", settings.placeholder);
|
||||
}
|
||||
}
|
||||
|
||||
/* When appear is triggered load original image. */
|
||||
$self.one("appear", function() {
|
||||
if (!this.loaded) {
|
||||
if (settings.appear) {
|
||||
var elements_left = elements.length;
|
||||
settings.appear.call(self, elements_left, settings);
|
||||
}
|
||||
$("<img />")
|
||||
.bind("load", function() {
|
||||
|
||||
var original = $self.attr("data-" + settings.data_attribute);
|
||||
$self.hide();
|
||||
if ($self.is("img")) {
|
||||
$self.attr("src", original);
|
||||
} else {
|
||||
$self.css("background-image", "url('" + original + "')");
|
||||
}
|
||||
$self[settings.effect](settings.effect_speed);
|
||||
|
||||
self.loaded = true;
|
||||
|
||||
/* Remove image from array so it is not looped next time. */
|
||||
var temp = $.grep(elements, function(element) {
|
||||
return !element.loaded;
|
||||
});
|
||||
elements = $(temp);
|
||||
|
||||
if (settings.load) {
|
||||
var elements_left = elements.length;
|
||||
settings.load.call(self, elements_left, settings);
|
||||
}
|
||||
})
|
||||
.attr("src", $self.attr("data-" + settings.data_attribute));
|
||||
}
|
||||
});
|
||||
|
||||
/* When wanted event is triggered load original image */
|
||||
/* by triggering appear. */
|
||||
if (0 !== settings.event.indexOf("scroll")) {
|
||||
$self.bind(settings.event, function() {
|
||||
if (!self.loaded) {
|
||||
$self.trigger("appear");
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
/* Check if something appears when window is resized. */
|
||||
$window.bind("resize", function() {
|
||||
update();
|
||||
});
|
||||
|
||||
/* With IOS5 force loading images when navigating with back button. */
|
||||
/* Non optimal workaround. */
|
||||
if ((/(?:iphone|ipod|ipad).*os 5/gi).test(navigator.appVersion)) {
|
||||
$window.bind("pageshow", function(event) {
|
||||
if (event.originalEvent && event.originalEvent.persisted) {
|
||||
elements.each(function() {
|
||||
$(this).trigger("appear");
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/* Force initial check if images should appear. */
|
||||
$(document).ready(function() {
|
||||
update();
|
||||
});
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
/* Convenience methods in jQuery namespace. */
|
||||
/* Use as $.belowthefold(element, {threshold : 100, container : window}) */
|
||||
|
||||
$.belowthefold = function(element, settings) {
|
||||
var fold;
|
||||
|
||||
if (settings.container === undefined || settings.container === window) {
|
||||
fold = (window.innerHeight ? window.innerHeight : $window.height()) + $window.scrollTop();
|
||||
} else {
|
||||
fold = $(settings.container).offset().top + $(settings.container).height();
|
||||
}
|
||||
|
||||
return fold <= $(element).offset().top - settings.threshold;
|
||||
};
|
||||
|
||||
$.rightoffold = function(element, settings) {
|
||||
var fold;
|
||||
|
||||
if (settings.container === undefined || settings.container === window) {
|
||||
fold = $window.width() + $window.scrollLeft();
|
||||
} else {
|
||||
fold = $(settings.container).offset().left + $(settings.container).width();
|
||||
}
|
||||
|
||||
return fold <= $(element).offset().left - settings.threshold;
|
||||
};
|
||||
|
||||
$.abovethetop = function(element, settings) {
|
||||
var fold;
|
||||
|
||||
if (settings.container === undefined || settings.container === window) {
|
||||
fold = $window.scrollTop();
|
||||
} else {
|
||||
fold = $(settings.container).offset().top;
|
||||
}
|
||||
|
||||
return fold >= $(element).offset().top + settings.threshold + $(element).height();
|
||||
};
|
||||
|
||||
$.leftofbegin = function(element, settings) {
|
||||
var fold;
|
||||
|
||||
if (settings.container === undefined || settings.container === window) {
|
||||
fold = $window.scrollLeft();
|
||||
} else {
|
||||
fold = $(settings.container).offset().left;
|
||||
}
|
||||
|
||||
return fold >= $(element).offset().left + settings.threshold + $(element).width();
|
||||
};
|
||||
|
||||
$.inviewport = function(element, settings) {
|
||||
return !$.rightoffold(element, settings) && !$.leftofbegin(element, settings) &&
|
||||
!$.belowthefold(element, settings) && !$.abovethetop(element, settings);
|
||||
};
|
||||
|
||||
/* Custom selectors for your convenience. */
|
||||
/* Use as $("img:below-the-fold").something() or */
|
||||
/* $("img").filter(":below-the-fold").something() which is faster */
|
||||
|
||||
$.extend($.expr[":"], {
|
||||
"below-the-fold" : function(a) { return $.belowthefold(a, {threshold : 0}); },
|
||||
"above-the-top" : function(a) { return !$.belowthefold(a, {threshold : 0}); },
|
||||
"right-of-screen": function(a) { return $.rightoffold(a, {threshold : 0}); },
|
||||
"left-of-screen" : function(a) { return !$.rightoffold(a, {threshold : 0}); },
|
||||
"in-viewport" : function(a) { return $.inviewport(a, {threshold : 0}); },
|
||||
/* Maintain BC for couple of versions. */
|
||||
"above-the-fold" : function(a) { return !$.belowthefold(a, {threshold : 0}); },
|
||||
"right-of-fold" : function(a) { return $.rightoffold(a, {threshold : 0}); },
|
||||
"left-of-fold" : function(a) { return !$.rightoffold(a, {threshold : 0}); }
|
||||
});
|
||||
|
||||
})(jQuery, window, document);
|
Loading…
Reference in New Issue
Block a user