Merge pull request #2 from zsjy/dev

1.0.3-Dev
This commit is contained in:
mjking 2024-03-30 20:30:44 +08:00 committed by GitHub
commit f4a2984861
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
16 changed files with 50 additions and 51 deletions

View File

@ -1347,6 +1347,16 @@ spec:
label: busuanzi统计
- value: false
label: 不显示
- $formkit: radio
name: enable_console_version_info
label: 控制台打印版本信息
value: true
help: '控制台打印版本信息包括:主题名、主题版本、网站页面加载耗时。'
options:
- value: true
label: 开启
- value: false
label: 关闭
- $formkit: radio
name: enable_debug
label: 开启 DEBUG 日志

View File

@ -26,6 +26,7 @@
z-index: 99;
position: relative;
}
//强制给评论、联系表单插件错误层增加z-index
lit-toast-container, halo-contact-form-toast-container {
z-index: 100;
@ -378,7 +379,7 @@ table td, table th {
//vertical-align: top;
vertical-align: middle;
&>p {
& > p {
margin: auto !important;
}
}
@ -2701,7 +2702,7 @@ button.swiper-pagination-bullet {
&-grid {
margin: 1rem 0 1.4rem 0;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(min(100%, max(260px, 100%/4)), 1fr));
grid-template-columns: repeat(auto-fit, minmax(min(100%, max(260px, 100% / 4)), 1fr));
gap: 1rem;
&:first-child {
@ -3217,6 +3218,7 @@ button.swiper-pagination-bullet {
}
/*人生计时器*/
&.timelife {
.item {
@ -3325,8 +3327,10 @@ button.swiper-pagination-bullet {
}
/*微信公众号*/
&.wechat {
/* 微信公众号翻转 */
.flip-wrapper {
position: relative;
width: 100%;
@ -3334,7 +3338,7 @@ button.swiper-pagination-bullet {
z-index: 1;
cursor: var(--cursor-default);
&.pointer{
&.pointer {
cursor: var(--cursor-pointer);
}
@ -3551,6 +3555,10 @@ button.swiper-pagination-bullet {
margin-bottom: 4px !important;
}
& > figure {
margin-top: 0 !important;
}
& > :last-child {
margin: 0 !important;
@ -3574,7 +3582,7 @@ button.swiper-pagination-bullet {
}
&:last-child {
margin-bottom: 0px !important;
margin-bottom: 0 !important;
}
}
@ -3593,7 +3601,7 @@ button.swiper-pagination-bullet {
}
p:last-child {
margin-bottom: 0px !important;
margin-bottom: 0 !important;
}
}
}
@ -3714,32 +3722,18 @@ button.swiper-pagination-bullet {
table {
width: 100%;
//max-width: 100%;
border-collapse: unset;
border-collapse: collapse;
background: var(--bg-d);
margin-bottom: 14px;
margin-left: auto;
margin-right: auto;
overflow: hidden;
font-size: 0.95em;
border: 1px solid var(--light-x);
border-radius: var(--radius-inner);
td,
th {
padding: 8px;
border-right: 1px solid var(--light-x);
border-bottom: 1px solid var(--light-x);
}
thead {
th {
font-weight: 500;
background: var(--bg-h);
&:last-child {
border-right: none;
}
}
border: 1px solid var(--light-x);
}
tbody {
@ -3749,27 +3743,16 @@ button.swiper-pagination-bullet {
th {
font-weight: 500;
background: var(--bg-z);
&:last-child {
border-right: none;
}
}
&:nth-child(2n) {
background: var(--bg-j);
}
&:last-child td {
border-bottom: none;
}
//&:nth-child(2n) {
// background: var(--bg-j);
//}
&:hover {
background: rgb(179 179 179 / 15%);
}
td:last-child {
border-right: none;
}
}
}
}

View File

@ -566,6 +566,9 @@ const commonContext = {
},
/* 显示主题版本信息 */
showThemeVersion() {
if(!DreamConfig.enable_console_version_info) {
return
}
window.logger(`%c页面加载耗时${Math.round(performance.now())}ms | Theme By Dream2 Plus ${DreamConfig.theme_version}`,
'color:#fff; background: linear-gradient(270deg, #986fee, #8695e6, #68b7dd, #18d7d3); padding: 8px 15px; border-radius: 0 15px 0 15px')
}

View File

@ -25,7 +25,7 @@
//可以进行版本修改,删除缓存
const version = '1.0.0'
// 取得缓存名称
const cacheName = `Dream-${version}`
const cacheName = `Dream2-plus-${version}`
// 取得请求参数
const envParams = new URLSearchParams(location.href.split('?')[1])
// 是否开启多cdn源并发请求
@ -33,7 +33,7 @@
// 是否开启全站缓存
const isGlobalCache = envParams.get('cache')
// 主题路径
const themePath = location.origin + '/themes/dream'
const themePath = location.origin + '/themes/theme-dream2-plus'
// cdn源站点一行一个
const cdnSource = envParams.get('cdn').split(',').filter(item => item.length > 0 && item.indexOf('http') === 0)
@ -64,7 +64,7 @@
const version = new URLSearchParams(url.split('?')[1]).get('mew') || 'latest'
return [
url,
...cdnSource.map(value => `${value}/halo-theme-dream@${version}${path}`)
...cdnSource.map(value => `${value}/halo-theme-dream2-plus@${version}${path}`)
]
},
},

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -11,4 +11,4 @@
</div>
<div class="progress-percentage">${e.percent}</div>
</div>
</div>`}),$(".aside-timelife").html(n)}},initGrayMode(){var e,t,n;(!0===DreamConfig.gray_mode||"custom"===DreamConfig.gray_mode&&(e=(new Date).getTime(),t=new Date(DreamConfig.gray_mode_start_time).getTime(),n=new Date(DreamConfig.gray_mode_end_time).getTime(),t<=e)&&e<=n)&&$("html").addClass("gray-mode")},initEffects(){Utils.isMobile()||(DreamConfig.cursor_move&&Utils.cachedScript(`${DreamConfig.theme_base}/js/cursor/move/${DreamConfig.cursor_move}.min.js?mew=`+DreamConfig.theme_version),DreamConfig.cursor_click&&Utils.cachedScript(`${DreamConfig.theme_base}/js/cursor/click/${DreamConfig.cursor_click}.min.js?mew=`+DreamConfig.theme_version),DreamConfig.enable_live2d&&Utils.cachedScript(DreamConfig.theme_base+"/js/autoload.min.js?mew="+DreamConfig.theme_version),DreamConfig.effects_lantern_mode&&Utils.cachedScript(DreamConfig.theme_base+"/js/effects/lantern.min.js?mew="+DreamConfig.theme_version),DreamConfig.effects_sakura_mode&&Utils.cachedScript(DreamConfig.theme_base+"/js/effects/sakura.min.js?mew="+DreamConfig.theme_version),DreamConfig.effects_snowflake_mode&&Utils.cachedScript(DreamConfig.theme_base+"/js/effects/snowflake.min.js?mew="+DreamConfig.theme_version),DreamConfig.effects_universe_mode&&Utils.cachedScript(DreamConfig.theme_base+"/js/effects/universe.min.js?mew="+DreamConfig.theme_version),DreamConfig.effects_circle_magic_mode&&Utils.cachedScript(DreamConfig.theme_base+"/js/effects/circleMagic.min.js?mew="+DreamConfig.theme_version))},initTagCloud(){$(".tagcloud").length&&DreamConfig.show_tagcloud_style&&tagcloud({selector:".tagcloud .card-content",fontsize:18,radius:75,mspeed:"slow",ispeed:"slow",direction:45,keep:!1})},showThemeVersion(){window.logger(`%c${Math.round(performance.now())}ms | Theme By Dream2 Plus `+DreamConfig.theme_version,"color:#fff; background: linear-gradient(270deg, #986fee, #8695e6, #68b7dd, #18d7d3); padding: 8px 15px; border-radius: 0 15px 0 15px")}};window.commonContext=t;let o=-1;{const n=["initCarousel","sparkInput","websiteTime"],i=["initEffects","showThemeVersion"];Object.keys(t).forEach(e=>!n.includes(e)&&!i.includes(e)&&t[e]()),document.addEventListener("DOMContentLoaded",function(){$("html").addClass("loaded"),n.forEach(e=>t[e]&&t[e]())}),window.addEventListener("load",function(){i.forEach(e=>t[e]&&t[e]()),$("html").addClass("ready")})}})();
</div>`}),$(".aside-timelife").html(n)}},initGrayMode(){var e,t,n;(!0===DreamConfig.gray_mode||"custom"===DreamConfig.gray_mode&&(e=(new Date).getTime(),t=new Date(DreamConfig.gray_mode_start_time).getTime(),n=new Date(DreamConfig.gray_mode_end_time).getTime(),t<=e)&&e<=n)&&$("html").addClass("gray-mode")},initEffects(){Utils.isMobile()||(DreamConfig.cursor_move&&Utils.cachedScript(`${DreamConfig.theme_base}/js/cursor/move/${DreamConfig.cursor_move}.min.js?mew=`+DreamConfig.theme_version),DreamConfig.cursor_click&&Utils.cachedScript(`${DreamConfig.theme_base}/js/cursor/click/${DreamConfig.cursor_click}.min.js?mew=`+DreamConfig.theme_version),DreamConfig.enable_live2d&&Utils.cachedScript(DreamConfig.theme_base+"/js/autoload.min.js?mew="+DreamConfig.theme_version),DreamConfig.effects_lantern_mode&&Utils.cachedScript(DreamConfig.theme_base+"/js/effects/lantern.min.js?mew="+DreamConfig.theme_version),DreamConfig.effects_sakura_mode&&Utils.cachedScript(DreamConfig.theme_base+"/js/effects/sakura.min.js?mew="+DreamConfig.theme_version),DreamConfig.effects_snowflake_mode&&Utils.cachedScript(DreamConfig.theme_base+"/js/effects/snowflake.min.js?mew="+DreamConfig.theme_version),DreamConfig.effects_universe_mode&&Utils.cachedScript(DreamConfig.theme_base+"/js/effects/universe.min.js?mew="+DreamConfig.theme_version),DreamConfig.effects_circle_magic_mode&&Utils.cachedScript(DreamConfig.theme_base+"/js/effects/circleMagic.min.js?mew="+DreamConfig.theme_version))},initTagCloud(){$(".tagcloud").length&&DreamConfig.show_tagcloud_style&&tagcloud({selector:".tagcloud .card-content",fontsize:18,radius:75,mspeed:"slow",ispeed:"slow",direction:45,keep:!1})},showThemeVersion(){DreamConfig.enable_console_version_info&&window.logger(`%c${Math.round(performance.now())}ms | Theme By Dream2 Plus `+DreamConfig.theme_version,"color:#fff; background: linear-gradient(270deg, #986fee, #8695e6, #68b7dd, #18d7d3); padding: 8px 15px; border-radius: 0 15px 0 15px")}};window.commonContext=t;let o=-1;{const n=["initCarousel","sparkInput","websiteTime"],i=["initEffects","showThemeVersion"];Object.keys(t).forEach(e=>!n.includes(e)&&!i.includes(e)&&t[e]()),document.addEventListener("DOMContentLoaded",function(){$("html").addClass("loaded"),n.forEach(e=>t[e]&&t[e]())}),window.addEventListener("load",function(){i.forEach(e=>t[e]&&t[e]()),$("html").addClass("ready")})}})();

View File

@ -1 +1 @@
!function(){if(self.document){var e=document.currentScript.src;new URLSearchParams(e.split("?")[1]).get("uninstall")?(console.log("uninstall service worker."),navigator.serviceWorker.getRegistrations().then(function(e){for(var t of e)t.active&&t.active.scriptURL&&-1!==t.active.scriptURL.indexOf("/sw.min.js")&&t.unregister()}),window.caches&&caches.keys&&caches.keys().then(function(e){e.forEach(function(e){console.log("delete cache",e),caches.delete(e)})})):navigator.serviceWorker.register(document.currentScript.src).catch(function(e){console.log("cache failed with "+e)})}else{const i="Dream-1.0.0",t=new URLSearchParams(location.href.split("?")[1]),o=t.get("concurrent"),c=t.get("cache"),n=location.origin+"/themes/dream",a=t.get("cdn").split(",").filter(e=>0<e.length&&0===e.indexOf("http")),u=[location.origin+"/api"],l=[n,...a],h=[location.origin+"/upload","https://cdn.jsdelivr.net/"],f={theme:{handleRequest:e=>{if(0===e.indexOf(n)){const t=e.substring(n.length),r=new URLSearchParams(e.split("?")[1]).get("mew")||"latest";return[e,...a.map(e=>e+"/halo-theme-dream@"+r+t)]}}},npm:{handleRequest:e=>{for(var t in a)if(0===e.indexOf(a[t])){const r=e.substring(a[t].length);return a.map(e=>e+r)}}}};function r(e,t){return e.some(function(e){return 0===t.indexOf(e)})}function s(e,t){var r=new Set(["mew","v","version","t","time","ts","timestamp"]),e=e.split("?"),t=t.split("?");if(e[0]===t[0]){var n=new URLSearchParams("?"+e[1]),s=new URLSearchParams("?"+t[1]);for(const e of n.keys())if(!r.has(e)&&n.get(e)!==s.get(e))return;return 1}}self.addEventListener("install",function(e){console.log("install service worker."),e.waitUntil(self.skipWaiting())}),self.addEventListener("activate",function(e){console.log("service worker activate.");const t=[i];return e.waitUntil(caches.keys().then(function(e){return Promise.all(e.map(function(e){if(-1===t.indexOf(e))return console.info("version changed, clean the cache, SW: deleting "+e),caches.delete(e)}))})),self.clients.claim()}),self.addEventListener("fetch",function(n){if("GET"!==n.request.method||r(u,n.request.url))return!1;const t=r(l,n.request.url),e=r(h,n.request.url);if(!o||!t&&!e)return!!c&&(n.respondWith(caches.open(i).then(t=>fetch(n.request).then(e=>(200===e.status&&t.put(n.request,e.clone()),e)).catch(()=>t.match(n.request)))),!0);n.respondWith(caches.open(i).then(function(r){return r.match(n.request).then(function(e){return e||function(e,t){if(t&&o)for(const t in f){var r=f[t].handleRequest(e.url);if(r){var n=e.url;const s=new AbortController,i=s.signal,c=r.map(e=>new Promise(async(t,r)=>{fetch(e,{signal:i}).then(async e=>{var t=new Headers(e.headers);return t.set("service-worker-origin",n),new Response(await e.arrayBuffer(),{status:e.status,headers:t})}).then(e=>{(200===e.status?(s.abort(),t):r)(e)}).catch(()=>r(null))}));return Promise.any||(Promise.any=function(e){return new Promise((t,r)=>{let n=(e=Array.isArray(e)?e:[]).length,s=[];if(0===n)return r(new AggregateError("All promises were rejected"));e.forEach(e=>{if(!(e instanceof Promise))return r(e);e.then(e=>t(e),e=>{n--,s.push(e),0===n&&r(new AggregateError(s))})})})}),Promise.any(c);return}}return fetch(e)}(n.request,t).then(e=>{const t=e.clone();return r.matchAll(n.request,{ignoreSearch:!0}).then(function(e){if(e)for(const t of e){const e=t.url||t.headers.get("service-worker-origin");s(e,n.request.url)&&r.delete(e)}r.put(n.request,t)}),e}).catch(e=>(console.error(e),r.matchAll(n.request,{ignoreSearch:!0}).then(function(e){if(e)for(const t of e)if(s(t.url||t.headers.get("service-worker-origin"),n.request.url))return t})))})}))})}}();
!function(){if(self.document){var e=document.currentScript.src;new URLSearchParams(e.split("?")[1]).get("uninstall")?(console.log("uninstall service worker."),navigator.serviceWorker.getRegistrations().then(function(e){for(var t of e)t.active&&t.active.scriptURL&&-1!==t.active.scriptURL.indexOf("/sw.min.js")&&t.unregister()}),window.caches&&caches.keys&&caches.keys().then(function(e){e.forEach(function(e){console.log("delete cache",e),caches.delete(e)})})):navigator.serviceWorker.register(document.currentScript.src).catch(function(e){console.log("cache failed with "+e)})}else{const i="Dream2-plus-1.0.0",t=new URLSearchParams(location.href.split("?")[1]),o=t.get("concurrent"),c=t.get("cache"),n=location.origin+"/themes/theme-dream2-plus",a=t.get("cdn").split(",").filter(e=>0<e.length&&0===e.indexOf("http")),u=[location.origin+"/api"],l=[n,...a],h=[location.origin+"/upload","https://cdn.jsdelivr.net/"],f={theme:{handleRequest:e=>{if(0===e.indexOf(n)){const t=e.substring(n.length),r=new URLSearchParams(e.split("?")[1]).get("mew")||"latest";return[e,...a.map(e=>e+"/halo-theme-dream2-plus@"+r+t)]}}},npm:{handleRequest:e=>{for(var t in a)if(0===e.indexOf(a[t])){const r=e.substring(a[t].length);return a.map(e=>e+r)}}}};function r(e,t){return e.some(function(e){return 0===t.indexOf(e)})}function s(e,t){var r=new Set(["mew","v","version","t","time","ts","timestamp"]),e=e.split("?"),t=t.split("?");if(e[0]===t[0]){var n=new URLSearchParams("?"+e[1]),s=new URLSearchParams("?"+t[1]);for(const e of n.keys())if(!r.has(e)&&n.get(e)!==s.get(e))return;return 1}}self.addEventListener("install",function(e){console.log("install service worker."),e.waitUntil(self.skipWaiting())}),self.addEventListener("activate",function(e){console.log("service worker activate.");const t=[i];return e.waitUntil(caches.keys().then(function(e){return Promise.all(e.map(function(e){if(-1===t.indexOf(e))return console.info("version changed, clean the cache, SW: deleting "+e),caches.delete(e)}))})),self.clients.claim()}),self.addEventListener("fetch",function(n){if("GET"!==n.request.method||r(u,n.request.url))return!1;const t=r(l,n.request.url),e=r(h,n.request.url);if(!o||!t&&!e)return!!c&&(n.respondWith(caches.open(i).then(t=>fetch(n.request).then(e=>(200===e.status&&t.put(n.request,e.clone()),e)).catch(()=>t.match(n.request)))),!0);n.respondWith(caches.open(i).then(function(r){return r.match(n.request).then(function(e){return e||function(e,t){if(t&&o)for(const t in f){var r=f[t].handleRequest(e.url);if(r){var n=e.url;const s=new AbortController,i=s.signal,c=r.map(e=>new Promise(async(t,r)=>{fetch(e,{signal:i}).then(async e=>{var t=new Headers(e.headers);return t.set("service-worker-origin",n),new Response(await e.arrayBuffer(),{status:e.status,headers:t})}).then(e=>{(200===e.status?(s.abort(),t):r)(e)}).catch(()=>r(null))}));return Promise.any||(Promise.any=function(e){return new Promise((t,r)=>{let n=(e=Array.isArray(e)?e:[]).length,s=[];if(0===n)return r(new AggregateError("All promises were rejected"));e.forEach(e=>{if(!(e instanceof Promise))return r(e);e.then(e=>t(e),e=>{n--,s.push(e),0===n&&r(new AggregateError(s))})})})}),Promise.any(c);return}}return fetch(e)}(n.request,t).then(e=>{const t=e.clone();return r.matchAll(n.request,{ignoreSearch:!0}).then(function(e){if(e)for(const t of e){const e=t.url||t.headers.get("service-worker-origin");s(e,n.request.url)&&r.delete(e)}r.put(n.request,t)}),e}).catch(e=>(console.error(e),r.matchAll(n.request,{ignoreSearch:!0}).then(function(e){if(e)for(const t of e)if(s(t.url||t.headers.get("service-worker-origin"),n.request.url))return t})))})}))})}}();

View File

@ -100,7 +100,10 @@
DreamConfig["effects_lantern_left"] = effects_lantern_left;
DreamConfig["effects_lantern_right"] = effects_lantern_right;
/** 启用标签云的风格 */
DreamConfig["show_tagcloud_style"] = [[${theme.config.sidebar.show_tagcloud_style}]];
/** 控制台主题信息 */
DreamConfig["enable_console_version_info"] = [[${theme.config.enhance.enable_console_version_info}]];
DreamConfig["theme_version"] = [[${theme.spec.version}]];
DreamConfig["theme_base"] = "[(${#theme.assets('/')})]";

View File

@ -28,9 +28,9 @@
</span>
</p>
<p th:if="${!#strings.isEmpty(theme.config.basic_info.record_number_ps)}"><a th:href="'https://beian.mps.gov.cn/#/query/webSearch?code=' + ${theme.config.basic_info.record_number_ps.replaceAll('[^\d]', '')}" target="_blank" rel="noopener noreferrer nofollow"><img
th:src="${#theme.assets('/img/ga.png')}" alt="公网安备" style="vertical-align: text-top; width: 1.2em; margin-right: 4px;"/>[[${theme.config.basic_info.record_number_ps}]]</a></p>
th:src="${#theme.assets('/img/ga.webp')}" height="auto" width="auto" alt="公网安备" style="vertical-align: text-top; width: 1.2em; margin-right: 4px;"/>[[${theme.config.basic_info.record_number_ps}]]</a></p>
<p th:if="${!#strings.isEmpty(theme.config.basic_info.cloud_by_logo)}">本站由<a
class="cloud-driven" target="_blank" rel="noopener noreferrer nofollow" th:href="${theme.config.basic_info.cloud_by_url}"><img
class="cloud-driven" target="_blank" rel="noopener noreferrer nofollow" th:href="${theme.config.basic_info.cloud_by_url}"><img height="auto" width="auto"
alt="云服务商" th:src="${theme.config.basic_info.cloud_by_logo}"/></a>提供云服务</p>
</li>
<li>

View File

@ -1,10 +1,10 @@
<head xmlns:th="https://www.thymeleaf.org" th:fragment="head"
th:with="description=${isPost ? post != null ? post.status.excerpt : singlePage != null ? singlePage.status.excerpt : site.seo.description : site.seo.description}">
<meta charset="utf-8"/>
<title th:text="${title + (#strings.isEmpty(site.subtitle) ? '' : '|' + site.subtitle)}"></title>
<script th:if="${theme.config.enhance.enable_sw}" th:src="${(theme.config.enhance.enable_sw == 'uninstall')? #theme.assets('/assets/js/sw.min.js?uninstall=true') + '&mew=1.2.1' : '/sw.min.js?mew=1.2.1' + theme.config.enhance.enable_sw + '&cdn=' + theme.config.enhance.sw_cdn_source.replaceAll('\n', ',')}"></script>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>
<meta http-equiv="x-dns-prefetch-control" content="on">
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta http-equiv="X-UA-Compatible" content="on">
<meta name="keywords" th:content="${site.seo.keywords}"/>
<meta name="description" th:content="${description}">
<meta name="author" th:content="${site.title}">

View File

@ -4,7 +4,7 @@
class="card card-transparent"
th:with="urlParamStr = ${#strings.substringAfter(data.prevUrl,'?')},
urlParams = ${urlParamStr == null ? '' : ('?' + urlParamStr)}">
<nav class="pagination" role="navigation" aria-label="pagination">
<nav class="pagination" aria-label="pagination">
<a th:href="${data.prevUrl}"
th:class="'pagination-previous' + ${data.hasPrevious()?'':' is-invisible is-hidden-mobile'}">上一页</a>
<a th:href="${data.nextUrl}"

View File

@ -5,7 +5,7 @@
<nav class="level">
<div class="level-item" style="flex-direction: column;">
<figure class="image">
<img class="avatar" th:src="${contributor.avatar}" th:alt="${contributor.displayName}">
<img class="avatar" height="auto" width="auto" th:src="${contributor.avatar}" th:alt="${contributor.displayName}">
</figure>
<p class="nickname" th:text="${contributor.displayName}"></p>
<p class="motto spark-input" th:text="${contributor.bio}"></p>

View File

@ -9,10 +9,10 @@
th:onclick="${#strings.isEmpty(wechatUrl)} ? 'event.preventDefault();'" target="_blank">
<div th:class="${!#strings.isEmpty(faceImg) && !#strings.isEmpty(backImg) ? 'flip-content animation' : 'flip-content'}">
<div class="wechatFace">
<img th:if="${!#strings.isEmpty(faceImg)}" th:src="${faceImg}" alt="微信公众号"/>
<img th:if="${!#strings.isEmpty(faceImg)}" height="auto" width="auto" th:src="${faceImg}" alt="微信公众号"/>
</div>
<div th:class="${!#strings.isEmpty(faceImg) && !#strings.isEmpty(backImg) ? 'wechatBack animation' : 'wechatBack'}" th:classappend="${#strings.isEmpty(faceImg)}? 'show'">
<img th:if="${!#strings.isEmpty(backImg)}" th:src="${backImg}" alt="微信公众号"/>
<img th:if="${!#strings.isEmpty(backImg)}" height="auto" width="auto" th:src="${backImg}" alt="微信公众号"/>
</div>
</div>
</a>

View File

@ -22,6 +22,6 @@ spec:
settingName: theme-dream-setting
configMapName: theme-dream-configMap
# 版本号
version: 1.0.2
version: 1.0.2.13
# 最低支持的 Halo 版本
require: ">=2.6.0"