文档首页图片增加懒加载效果

This commit is contained in:
click33 2023-04-26 12:52:56 +08:00
parent 6f7992770d
commit fe52b05d88
4 changed files with 368 additions and 105 deletions

View File

@ -113,14 +113,13 @@
<!-- <a href="https://gitee.com/dromara/sa-token" target="_blank">集成案例</a> --> <!-- <a href="https://gitee.com/dromara/sa-token" target="_blank">集成案例</a> -->
</div> </div>
<h4 align="center" class="badge-box"> <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/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 src="https://gitee.com/dromara/sa-token/badge/fork.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>
<!-- <br><br> --> <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/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 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/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 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/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 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/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 class="lazy" data-original="https://img.shields.io/github/license/dromara/sa-token.svg?style=flat-square"></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> </h4>
</div> </div>
</div> </div>
@ -183,7 +182,7 @@
<!-- Snowy 5.5k --> <!-- Snowy 5.5k -->
<div class="s-case"> <div class="s-case">
<a href="https://gitee.com/xiaonuobase/snowy" target="_blank" class="s-case-link"> <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> </a>
<h3 class="s-case-title">Snowy</h3> <h3 class="s-case-title">Snowy</h3>
<span class="s-author"> 小诺开源技术 </span> <span class="s-author"> 小诺开源技术 </span>
@ -192,7 +191,7 @@
<!-- SpringBoot_v2 5.3k --> <!-- SpringBoot_v2 5.3k -->
<div class="s-case"> <div class="s-case">
<a href="https://gitee.com/bdj/SpringBoot_v2" target="_blank" class="s-case-link"> <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> </a>
<h3 class="s-case-title">SpringBoot_v2</h3> <h3 class="s-case-title">SpringBoot_v2</h3>
<span class="s-author">开源oschina</span> <span class="s-author">开源oschina</span>
@ -201,7 +200,7 @@
<!-- RuoYi-Vue-Plus 4.1k --> <!-- RuoYi-Vue-Plus 4.1k -->
<div class="s-case"> <div class="s-case">
<a href="https://gitee.com/dromara/RuoYi-Vue-Plus" target="_blank" class="s-case-link"> <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> </a>
<h3 class="s-case-title">RuoYi-Vue-Plus</h3> <h3 class="s-case-title">RuoYi-Vue-Plus</h3>
<span class="s-author"> 疯狂的狮子Li </span> <span class="s-author"> 疯狂的狮子Li </span>
@ -210,7 +209,7 @@
<!-- RuoYi-Cloud-Plus 1.5K --> <!-- RuoYi-Cloud-Plus 1.5K -->
<div class="s-case"> <div class="s-case">
<a href="https://gitee.com/dromara/RuoYi-Cloud-Plus" target="_blank" class="s-case-link"> <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> </a>
<h3 class="s-case-title">RuoYi-Cloud-Plus</h3> <h3 class="s-case-title">RuoYi-Cloud-Plus</h3>
<span class="s-author"> 疯狂的狮子Li </span> <span class="s-author"> 疯狂的狮子Li </span>
@ -219,7 +218,7 @@
<!-- Sa-Plus 1K --> <!-- Sa-Plus 1K -->
<div class="s-case"> <div class="s-case">
<a href="https://gitee.com/click33/sa-plus" target="_blank" class="s-case-link"> <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> </a>
<h3 class="s-case-title">Sa-Plus</h3> <h3 class="s-case-title">Sa-Plus</h3>
<span class="s-author"> 孔明 </span> <span class="s-author"> 孔明 </span>
@ -228,7 +227,7 @@
<!-- EasyAdmin 878 --> <!-- EasyAdmin 878 -->
<div class="s-case"> <div class="s-case">
<a href="https://gitee.com/lakernote/easy-admin" target="_blank" class="s-case-link"> <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> </a>
<h3 class="s-case-title">EasyAdmin</h3> <h3 class="s-case-title">EasyAdmin</h3>
<span class="s-author"> laker </span> <span class="s-author"> laker </span>
@ -254,106 +253,106 @@
<h2 class="s-title">正在使用 Sa-Token 的企业 / 机构</h2> <h2 class="s-title">正在使用 Sa-Token 的企业 / 机构</h2>
<div class="com-box"> <div class="com-box">
<a href="http://yun94.cn/" target="_blank" title="济南凉云网络科技有限公司"> <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>
<!-- <a href="http://www.jmwl51.com/" target="_blank" title="济南极梦网络科技有限公司"> <!-- <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> -->
<!-- <a href="https://www.suancheng.co/" target="_blank" title="山东酸橙网络科技有限公司"> <!-- <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> -->
<a href="https://chykj.com/" target="_blank" title="山东察远信息科技有限公司"> <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>
<a href="https://ms.airsr.com/" target="_blank" title="北京天衢航空服务有限公司"> <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>
<a href="###" title="货好多科技"> <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>
<a href="http://www.jmwl51.com/" target="_blank" title="济南极梦网络科技有限公司"> <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>
<a href="https://uniadmin.jiangruyi.com/" target="_blank" title="南京星意信息科技有限公司"> <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>
<a href="http://www.tuodan.tech/" target="_blank" title="深圳加速脱单科技有限公司"> <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>
<a href="https://www.yangxuwang.com/" target="_blank" title="上海阳旭网络科技有限公司"> <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>
<a href="https://www.ec-sudo.com/" target="_blank" title="深圳数独科技有限公司"> <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>
<a href="https://budwk.com/" target="_blank" title="BudWk 开发框架 V7.x"> <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>
<a href="https://www.quandashi.com/" target="_blank" title="北京梦知网科技有限公司"> <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>
<a href="http://www.gree.com.cn/" target="_blank" title="珠海格力电器股份有限公司"> <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>
<a href="http://www.dchealth.com/" target="_blank" title="神州医疗"> <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>
<a href="javascript:;" title="暖通管家"> <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>
<a href="https://www.quoting.cn/" target="_blank" title="引止"> <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>
<a href="http://www.dzlanke.cn/" target="_blank" title="德州蓝客网络科技"> <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>
<a href="http://www.turingoal.com" target="_blank" title="图灵谷(北京)科技有限公司"> <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>
<a href="javascript:;" title="辽宁薪达网络科技有限公司"> <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>
<a href="https://www.pactera.com/?renqun_youhua=2483561&bd_vid=9062916023494825120" target="_blank" title="中电文思海辉"> <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>
<a href="https://tisiqikeji.com/" target="_blank" title="吉林省体思奇健康科技有限公司"> <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>
<a href="http://www.qaqavr.com/" target="_blank" title="合肥中锐智能科技有限公司"> <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>
<a href="https://www.hstong.com/" target="_blank" title="价值网络"> <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>
<a href="https://www.shylsoft.com/" target="_blank" title="上海营联信息技术有限公司"> <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>
<a href="http://www.sxpartner.com/" target="_blank" title="陕西小伙伴网络科技有限公司"> <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>
<!-- <a href="https://gitee.com/fhs-opensource/fhs-framework" target="_blank" title="FHS 快速开发平台"> <!-- <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> -->
<a href="http://www.hmnst.com/index.html" target="_blank" title="微纳感知(合肥)技术有限公司"> <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>
<a href="https://www.aegis-info.com/" target="_blank" title="北京擎盾信息科技有限公司"> <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>
<a href="https://www.geostar.com.cn/" target="_blank" title="吉奥时空"> <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>
<a href="http://www.stbella.cn/" target="_blank" title="贝康国际"> <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>
<a href="https://mimirii.com/" target="_blank" title="西安米默网络科技有限公司"> <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>
<a href="http://www.chually.cn/" target="_blank" title="湖北楚商联盟金融信息服务有限公司"> <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>
<a href="https://www.zhongyuankeji.cn/" target="_blank" title="山东众远信息科技有限公司"> <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> </a>
</div> </div>
<div style="height: 10px; clear: both;"></div> <div style="height: 10px; clear: both;"></div>
@ -377,130 +376,130 @@
</h2> </h2>
<div class="com-box com-box-you"> <div class="com-box com-box-you">
<a href="https://gitee.com/dromara/TLog" target="_blank"> <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>
<a href="https://gitee.com/dromara/liteFlow" target="_blank"> <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>
<a href="https://hutool.cn/" target="_blank"> <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>
<a href="https://sa-token.cc/" target="_blank"> <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>
<a href="https://gitee.com/dromara/hmily" target="_blank"> <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>
<a href="https://gitee.com/dromara/Raincat" target="_blank"> <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>
<a href="https://gitee.com/dromara/myth" target="_blank"> <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>
<a href="https://cubic.jiagoujishu.com/" target="_blank"> <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>
<a href="https://maxkey.top/" target="_blank"> <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>
<a href="http://forest.dtflyx.com/" target="_blank"> <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>
<a href="https://jpom.top/" target="_blank"> <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>
<a href="https://su.usthe.com/" target="_blank"> <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>
<a href="https://easy-es.cn/" target="_blank"> <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>
<a href="https://gitee.com/dromara/northstar" target="_blank"> <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>
<a href="https://hertzbeat.com/" target="_blank"> <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>
<a href="https://dromara.gitee.io/fast-request/" target="_blank"> <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>
<a href="https://www.jeesuite.com/" target="_blank"> <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>
<a href="https://gitee.com/dromara/koalas-rpc" target="_blank"> <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>
<a href="https://async.sizegang.cn/" target="_blank"> <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>
<a href="https://dynamictp.cn/" target="_blank"> <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>
<a href="https://www.x-easypdf.cn" target="_blank"> <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>
<a href="http://dromara.gitee.io/image-combiner" target="_blank"> <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>
<a href="https://www.herodotus.cn/" target="_blank"> <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>
<a href="http://www.mtruning.club" target="_blank"> <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>
<a href="https://tangyh.top/" target="_blank"> <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>
<a href="https://www.redisfront.com/" target="_blank"> <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>
<a href="https://www.yuque.com/u34495/mivcfg" target="_blank"> <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>
<a href="https://gitee.com/dromara/open-capacity-platform" target="_blank"> <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>
<a href="http://easy-trans.fhs-opensource.top/" target="_blank"> <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>
<a href="https://gitee.com/dromara/neutrino-proxy" target="_blank"> <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>
<a href="https://chatgpt.cn.obiscr.com/" target="_blank"> <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>
<a href="https://gitee.com/dromara/zyplayer-doc" target="_blank"> <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>
<a href="https://gitee.com/dromara/payment-spring-boot" target="_blank"> <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>
<a href="https://www.j2eefast.com/" target="_blank"> <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>
<a href="https://gitee.com/dromara/data-compare" target="_blank"> <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>
<a href="https://gitee.com/dromara/open-giteye-api" target="_blank"> <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>
<a href="https://gitee.com/dromara/RuoYi-Vue-Plus" target="_blank"> <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>
<a href="https://gitee.com/dromara/RuoYi-Cloud-Plus" target="_blank"> <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>
<a href="https://gitee.com/dromara/stream-query" target="_blank"> <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>
<a href="https://wind.kim/" target="_blank"> <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>
<a href="https://cloudeon.top/" target="_blank"> <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>
<a href="https://dromara.org/zh/projects/" target="_blank"> <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> </a>
</div> </div>
<div style="height: 10px; clear: both;"></div> <div style="height: 10px; clear: both;"></div>
@ -509,7 +508,7 @@
</p> </p>
<div style=" margin: 40px 14px 0; padding: 20px 0 10px; background-color: #f4f5f7;"> <div style=" margin: 40px 14px 0; padding: 20px 0 10px; background-color: #f4f5f7;">
<h3 style="padding: 0px 0 10px; ">Dromara 知识星球</h3> <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> </div>
<div style="height: 30px;"></div> <div style="height: 30px;"></div>
@ -523,34 +522,34 @@
<h2 class="s-title">友情链接</h2> <h2 class="s-title">友情链接</h2>
<div class="com-box com-box-you"> <div class="com-box com-box-you">
<a href="https://okhttps.ejlchina.com/" target="_blank"> <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>
<a href="https://searcher.ejlchina.com/" target="_blank"> <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>
<a href="https://xiaonuo.vip/" target="_blank"> <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>
<a href="http://www.pearadmin.com/" target="_blank"> <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>
<a href="http://www.layui-vue.com/" target="_blank"> <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>
<a href="https://shenyu.apache.org/zh/" target="_blank"> <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>
<a href="https://dwz.cn/L9hCwepg" target="_blank"> <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>
<a href="https://hippo4j.cn/" target="_blank"> <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>
<a href="http://solon.noear.org/" target="_blank"> <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>
<a href="https://gitee.com/gz-yami/mall4j" target="_blank"> <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> </a>
</div> </div>
<div style="height: 10px; clear: both;"></div> <div style="height: 10px; clear: both;"></div>
@ -753,6 +752,28 @@
</script> </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"> <script type="text/javascript">
// 预览版提示 // 预览版提示
if(location.host === 'rc.sa-token.cc') { if(location.host === 'rc.sa-token.cc') {

View File

@ -25,9 +25,9 @@ implementation 'cn.dev33:sa-token-jwt:${sa.top.version}'
<!---------------------------- tabs:end ----------------------------> <!---------------------------- 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、配置秘钥 ### 2、配置秘钥
`application.yml` 配置文件中配置 jwt 生成秘钥: `application.yml` 配置文件中配置 jwt 生成秘钥:

View File

@ -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{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{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{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,.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-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;} .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{box-shadow: 0 0 20px #ccc;}
.s-case:hover img{transform: scale(1.3, 1.3); } .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 img:hover{cursor: pointer;}
.s-case:hover .s-case-link:after {background-color: rgba(0, 0, 0, .35); color: #FFF;} .s-case:hover .s-case-link:after {background-color: rgba(0, 0, 0, .35); color: #FFF;}
.s-case .s-case-link:after { .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{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{display: block; flex: 0 0 13%; margin: 5px; cursor: pointer; border: 0px #ddd solid;}
.com-box a{line-height: 75px;} .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 a img:hover{transform: scale(1.05, 1.05);}
.com-box-you a img:hover{transform: none;} .com-box-you a img:hover{transform: none;}

View 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);