From ca4080d5e6746ff9208d24aabdb97d732a6bbc10 Mon Sep 17 00:00:00 2001 From: wolfcode <37436228+wolf-leo@users.noreply.github.com> Date: Tue, 18 Mar 2025 17:10:46 +0800 Subject: [PATCH] feat(config-admin): integrate lazyload for image optimization - Add lazyload plugin to config-admin.js - Implement lazyload functionality in easy-admin.js - Add lazyload.min.js file to project --- public/static/common/images/loading.gif | Bin 0 -> 6914 bytes public/static/config-admin.js | 1 + public/static/plugs/easy-admin/easy-admin.js | 7 +++++-- public/static/plugs/lazyload/lazyload.min.js | 2 ++ 4 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 public/static/common/images/loading.gif create mode 100644 public/static/plugs/lazyload/lazyload.min.js diff --git a/public/static/common/images/loading.gif b/public/static/common/images/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..9add43e8e4fbd6779d0789aad3036923f0d4f553 GIT binary patch literal 6914 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

qL5 zD2P}cB7n^_n81+4JXa~((a8F2Hl>)wH;u>Rf_tbSzXU0RC))xR{3*yatRw1k)pn={ zEw|~MNFP>jtU0@POX;E0!xh&z8S$Fda^KMvoJ~s6;Lx+giajcP(U;|;$Z$fQ`f5h( zXabWbdswbi#AIO57$v-QDbC0+C0W1bmX z$)DHko%s(yGXE?3ihfRe`Nu2&j=sN0qOW~eRfyEfYx^}HE{xccEa5V8gpBs}c5*?? z`T^w+hHKWh=e=&JyAWMz?BG*-2sl_7piQCh>p>WyVzNM90(xB zgqSZs=#(~euDe(QkRU|dc&-O^Pp*SU6jk(Q!NwW8c_N8{piFOt8j{kkJc`9??yt@t z<~XM|X5l4G=>?E1@11N;zjE>ZS=IpqRq;oZ&|_=>LyV+&3E=3*K^b{oH4oDLH?UGO zfh{-`;*zTcbNS`I>RKO`DkbhEfP~3Y45Zem<-@}Y)6B`HFpp{nj_RGm;)$t*=VXN< zus4JyQ z6}xR)18=+sQ()uZ6`l!jkA9Q)bqN z&Qp}~h7}{oAM5`_9a{YO!(mLp4}y{(y90$$j(SM%`cjS6sRNJVNu0lj>ps;H83z3B1GBM9jTc| z$aloyu7maUs0%b}0NL%3c)OU0Z^z+}U^_cypd18V&(WVWIMm)RnO?@~;Zi463A63^ zc^bCkIpWtP{8Agqm#i`})elZAT4&QwZuaOO z-`AKab)q|+=OyOB*Q}?ofaOZC&Z|jD&=?yc5Gs@904e>7O-TQHo8J4Y2+e(#qjxw#N>E6AhX4e|8!ONw7!PlF=rjDpx}eBRG9Jvy_rsrMu#K|yr0*AD;cqy6k0Z%U;&=?r zZrzL;=Eic`TD(-`es?m=>WTt56)W(JSkoUpm7H2LdQQ&9{?LI8$J5vBAz=Ie0Ah6Q AzW@LL literal 0 HcmV?d00001 diff --git a/public/static/config-admin.js b/public/static/config-admin.js index de36e12..23b5e58 100644 --- a/public/static/config-admin.js +++ b/public/static/config-admin.js @@ -22,6 +22,7 @@ require.config({ "vue": ["plugs/vue-2.6.10/vue.min"], "swiper": ["plugs/swiper/swiper-bundle.min"], "colorMode": ["plugs/colorMode/colorMode"], + "lazyload": ["plugs/lazyload/lazyload.min"], } }); diff --git a/public/static/plugs/easy-admin/easy-admin.js b/public/static/plugs/easy-admin/easy-admin.js index 65c0fab..b0e83cd 100644 --- a/public/static/plugs/easy-admin/easy-admin.js +++ b/public/static/plugs/easy-admin/easy-admin.js @@ -1,4 +1,4 @@ -define(["jquery", "tableSelect", "miniTheme", "xmSelect"], function ($, tableSelect, miniTheme, xmSelect) { +define(["jquery", "tableSelect", "miniTheme", "xmSelect", "lazyload"], function ($, tableSelect, miniTheme, xmSelect, lazyload) { //切换日夜模式 window.onInitElemStyle = function () { @@ -748,8 +748,11 @@ define(["jquery", "tableSelect", "miniTheme", "xmSelect"], function ($, tableSel var values = value.split(option.imageSplit), valuesHtml = []; values.forEach((value, index) => { - valuesHtml.push(''); + valuesHtml.push(''); }); + $(function () { + $("img.lazyload").lazyload({threshold: 1}); + }) return valuesHtml.join(option.imageJoin); } }, diff --git a/public/static/plugs/lazyload/lazyload.min.js b/public/static/plugs/lazyload/lazyload.min.js new file mode 100644 index 0000000..d76e8af --- /dev/null +++ b/public/static/plugs/lazyload/lazyload.min.js @@ -0,0 +1,2 @@ +/*! Lazy Load 2.0.0-rc.2 - MIT license - Copyright 2007-2019 Mika Tuupola */ +!function(t,e){"object"==typeof exports?module.exports=e(t):"function"==typeof define&&define.amd?define([],e):t.LazyLoad=e(t)}("undefined"!=typeof global?global:this.window||this.global,function(t){"use strict";function e(t,e){this.settings=s(r,e||{}),this.images=t||document.querySelectorAll(this.settings.selector),this.observer=null,this.init()}"function"==typeof define&&define.amd&&(t=window);const r={src:"data-src",srcset:"data-srcset",selector:".lazyload",root:null,rootMargin:"0px",threshold:0},s=function(){let t={},e=!1,r=0,o=arguments.length;"[object Boolean]"===Object.prototype.toString.call(arguments[0])&&(e=arguments[0],r++);for(;r