diff --git a/README.md b/README.md index 9d97378..9e1af02 100755 --- a/README.md +++ b/README.md @@ -2,6 +2,12 @@ > 基于原作者v1.2.5代码修改 +#### v1.2.5-5 +1. 朋友圈支持图片显示(需同步更新插件) +2. 手机端底部导航栏新增公告未读提示 +3. 更新通讯录、储物柜 +4. 优化操作提示、图片排版 + #### v1.2.5-4 1. 修复侧边栏测速异常、拖拽片刻图片异常、手机端文章目录异常、页面提示异常 2. 优化多种场景下的提示、衔接、样式 diff --git a/embed-code/page/address.html b/embed-code/page/address.html index 8b0ae0a..8475399 100644 --- a/embed-code/page/address.html +++ b/embed-code/page/address.html @@ -299,7 +299,7 @@
- +

黄诗扶

@@ -310,18 +310,18 @@
-   +

双笙

- 什么?你问我为什么喜欢包包?可能因为是“青春”吧? + 什么?你问我为什么喜欢包包?可能因为是青春吧?

- +

浅影阿

@@ -332,12 +332,12 @@
- +
-

平生不晚

+

玄觞

- 首先是戏腔好听,然后是妆造好看,最后就来到了这里 + 你们古风圈,怎么都喊女生王子,喊男生二婶呢?

diff --git a/embed-code/page/navigator.html b/embed-code/page/navigator.html index 09e7c58..a120053 100644 --- a/embed-code/page/navigator.html +++ b/embed-code/page/navigator.html @@ -199,8 +199,9 @@ if (isUnread) { typeof initNoticeTip === 'function' && initNoticeTip(); - noticeCard.querySelector('.notice-title').textContent = `通知书`; - noticeCard.querySelector('.notice-desc').textContent = `有新通知待查看`; + $('.footer_menu a[href="/navigator"]').css('color', '#ecc94b').find('i').css('color', '#ecc94b'); + noticeCard.querySelector('.notice-title').textContent = '通知书'; + noticeCard.querySelector('.notice-desc').textContent = '有新通知待查看'; noticeCard.classList.add('notice-unread'); if(decorCircle) decorCircle.style.background = '#fef3c7'; diff --git a/embed-code/page/store.html b/embed-code/page/store.html index 19f58a0..2bc9403 100644 --- a/embed-code/page/store.html +++ b/embed-code/page/store.html @@ -3,7 +3,6 @@ margin: 0; padding: 0; box-sizing: border-box; - font-family: "Inter", "Microsoft YaHei", Arial; } .store { @@ -13,7 +12,7 @@ --danger: #E74C3C; --bg: #F9FFFB; --shadow: 0 12px 30px rgba(80, 200, 120, .12); - --radius: 18px; + --radius: 8px; padding: 26px 14px; background: var(--bg); } @@ -59,7 +58,7 @@ #tag-search { width: 100%; padding: 7px 12px 7px 34px; - border-radius: 10px; + border-radius: 8px; border: 1px solid #c9efd6; outline: none; background: #fafffb; @@ -79,7 +78,7 @@ flex-wrap: wrap; gap: 8px; padding: 8px; - border-radius: 12px; + border-radius: 8px; border: 1px solid #c9efd6; background: rgba(144, 238, 144, .08); max-height: 100px; @@ -89,7 +88,7 @@ .store .tag-item { padding: 5px 7px; - border-radius: 9px; + border-radius: 8px; border: 1px solid #90ee90; font-size: 12px; cursor: pointer; @@ -107,31 +106,66 @@ .store .no-result { width: 100%; text-align: center; + align-items: center; + justify-content: center; color: #7f8c8d; font-size: 13px; - padding: 8px 0; + min-height: 100%; + padding: 0; display: none; } /* 输入框 */ .store .input-group { display: flex; - gap: 10px; + gap: 8px; margin: 16px 0; + align-items: center; + } + + .store .section-divider { + position: relative; + height: 18px; + margin: 6px 0 14px; + } + + .store .section-divider::before { + content: ""; + position: absolute; + top: 50%; + left: 0; + width: 100%; + height: 1px; + transform: translateY(-50%); + background: linear-gradient(90deg, rgba(80, 200, 120, 0), rgba(80, 200, 120, .55), rgba(80, 200, 120, 0)); + box-shadow: 0 1px 0 rgba(80, 200, 120, .12); + } + + .store .section-divider::after { + content: ""; + position: absolute; + top: 50%; + left: 50%; + width: 10px; + height: 10px; + transform: translate(-50%, -50%) rotate(45deg); + border-radius: 2px; + background: linear-gradient(135deg, #90ee90, #50c878); + box-shadow: -14px 0 0 -3px rgba(80, 200, 120, .5), 14px 0 0 -3px rgba(80, 200, 120, .5), 0 0 0 2px #ffffff; } #file-path { flex: 1; padding: 8px 14px; - border-radius: 12px; + border-radius: 8px; border: 2px solid #e8f7ec; font-size: 14px; outline: none; } #submit-btn { - padding: 10px; - border-radius: 12px; + padding: 10px 20px; + border-radius: 8px; border: none; background: linear-gradient(135deg, #50c878, #3a9156); color: #fff; @@ -139,17 +173,6 @@ cursor: pointer; } - /* 底部提示(改成浅黄色系) */ - .store .tips { - font-size: 12px; - text-align: center; - color: #a97400; - padding: 8px; - border-radius: 8px; - background: rgba(255, 215, 0, .12); - border: 1px solid rgba(243, 156, 18, .25); - } - /* 手机端 */ @media(max-width:520px) { .store { @@ -166,7 +189,8 @@ } .store .input-group { - flex-direction: column + flex-direction: column; + align-items: stretch; } #submit-btn { @@ -176,34 +200,11 @@ .store .tag-list { max-height: 120px } - } - /* Toast */ - .custom-toast { - position: fixed; - top: 26px; - left: 50%; - transform: translateX(-50%) translateY(-80px); - background: #2ECC71; - color: #fff; - padding: 12px 20px; - border-radius: 10px; - transition: .4s; - opacity: 0; - z-index: 9999; - } - - .toast-show { - transform: translateX(-50%) translateY(0); - opacity: 1 - } - - .toast-error { - background: #E74C3C - } - - .toast-warning { - background: #F39C12 + #file-path { + width: 100%; + box-sizing: border-box; + } } @@ -211,58 +212,55 @@
-

Anian的储物柜

+

储物柜

+ +
+ + +
+ +
- 🔍 - + +
-
测试压缩包
-
示例报告
-
横幅图片
-
安装程序
- +
加载动画
+
网站Logo
+
加载动画
+
网站Logo
加载动画
+
网站Logo
加载动画
+
网站Logo
加载动画
+
网站Logo
加载动画
+
网站Logo
+
没有匹配的结果
-
- - -
- -

⚠️ 错误过多将可能被封禁

- -
\ No newline at end of file diff --git a/templates/assets/css/style.css b/templates/assets/css/style.css index b45de0b..220aa94 100644 --- a/templates/assets/css/style.css +++ b/templates/assets/css/style.css @@ -504,11 +504,12 @@ a:visited { color: #252525; } +/* 侧边栏颜色异常 a:hover, a:focus, a:active { color: #191970; -} +} */ a:focus { outline: thin dotted; diff --git a/templates/assets/js/anian.js b/templates/assets/js/anian.js index 4934250..bff9534 100644 --- a/templates/assets/js/anian.js +++ b/templates/assets/js/anian.js @@ -30,6 +30,7 @@ let csrfToken = ''; let publicKey = ''; let loginTimer = null; let countdownSeconds = 3; +let closeLoading = null; const login_modal = document.getElementById('customLoginModal'); const login_closeBtn = document.getElementById('closeLoginModal'); const login_loginBtn = document.getElementById('customLoginBtn'); @@ -39,6 +40,7 @@ async function fetchCSRFToken() { login_modal.classList.add('show'); login_loginBtn.disabled = true; login_loginBtn.textContent = '加载中...'; + closeLoading = cocoMessage.loading('正在加载署名信息...'); try { const response = await fetch('/login', { credentials: 'include' }); @@ -62,19 +64,23 @@ async function fetchCSRFToken() { publicKey = publicKeyMatch[1].replace(/\\\//g, '/'); return 'ok'; } catch (err) { + closeLoading?.() + cocoMessage.error('署名信息加载失败,请刷新'); + if (loginTimer) { clearInterval(loginTimer) } + login_loginBtn.textContent = '错误!请刷新'; + login_loginBtn.disabled = true; return 'error'; } } // 打开弹窗逻辑 async function open_login_box() { - if (loginTimer) { - clearInterval(loginTimer); - } + if (loginTimer) { clearInterval(loginTimer) } countdownSeconds = 3; const success = await fetchCSRFToken(); if (success === 'logged') { - cocoMessage.success('您已经署名过了,请刷新'); + closeLoading?.() + cocoMessage.success('您已署名成功,请刷新'); login_modal.classList.remove('show'); } else if (success === 'ok') { loginTimer = setInterval(() => { @@ -82,12 +88,15 @@ async function open_login_box() { login_loginBtn.textContent = '请稍等...' + countdownSeconds; } else { clearInterval(loginTimer); + closeLoading?.() + cocoMessage.success('署名信息加载完成'); login_loginBtn.textContent = '署 名'; login_loginBtn.disabled = false; } countdownSeconds--; }, 1000); } else { + closeLoading?.() cocoMessage.error('服务器错误,请刷新'); login_modal.classList.remove('show'); } @@ -95,6 +104,7 @@ async function open_login_box() { // 关闭弹窗 login_closeBtn.addEventListener('click', () => { + closeLoading?.() login_modal.classList.remove('show'); }); @@ -111,6 +121,7 @@ function encryptPassword(password) { // 提交登录 login_loginBtn.addEventListener('click', async () => { + let islogin = false; const username = document.getElementById('customUsername').value.trim(); const password = document.getElementById('customPassword').value.trim(); if (!username || !password) { @@ -119,7 +130,9 @@ login_loginBtn.addEventListener('click', async () => { } const encryptedPwd = encryptPassword(password); login_loginBtn.disabled = true; + login_closeBtn.disabled = true; login_loginBtn.textContent = '验证中...'; + closeLoading = cocoMessage.loading('正在验证信息...'); try { countdownSeconds = 3 const response = await fetch('/login', { @@ -141,6 +154,8 @@ login_loginBtn.addEventListener('click', async () => { clearInterval(loginTimer); } if (finalUrl.includes('/uc')) { + islogin = true; + closeLoading?.() cocoMessage.success('署名成功,正在跳转...'); login_loginBtn.textContent = '跳转中...'; const currentScrollTop = window.scrollY || document.documentElement.scrollTop; @@ -148,24 +163,32 @@ login_loginBtn.addEventListener('click', async () => { $.cookie('load_type', 'login', { path: '/', domain: 'anian.cc' }); window.location.reload(); } else if (finalUrl.includes('error=invalid-credential')) { + closeLoading?.() cocoMessage.warning('署名人与心上锁不匹配'); - fetchCSRFToken(); } else { + closeLoading?.() cocoMessage.error('速度过快,请稍后重试'); } } catch (err) { + closeLoading?.() cocoMessage.error('服务器连接失败'); } finally { - loginTimer = setInterval(() => { - if (countdownSeconds > 0) { - login_loginBtn.textContent = '请稍等...' + countdownSeconds; - } else { - clearInterval(loginTimer); - login_loginBtn.textContent = '署 名'; - login_loginBtn.disabled = false; - } - countdownSeconds--; - }, 1000); + if (!islogin) { + fetchCSRFToken(); + login_closeBtn.disabled = false; + loginTimer = setInterval(() => { + if (countdownSeconds > 0) { + login_loginBtn.textContent = '请稍等...' + countdownSeconds; + } else { + clearInterval(loginTimer); + closeLoading?.() + cocoMessage.success('请重新尝试署名'); + login_loginBtn.textContent = '署 名'; + login_loginBtn.disabled = false; + } + countdownSeconds--; + }, 1000); + } } }); @@ -242,13 +265,13 @@ function confirmPixarAction() { // 打开确认模态框 function openModal(title, msg, type) { - var modal = $('#momentsDeleteModal'); - var card = modal.find('.moments-card-widget'); - modal.find('.moments-title-text').text(title); - modal.find('.moments-message-text').text(msg); - card.removeClass('theme-red theme-yellow theme-green').addClass('theme-' + type); - $('.moments-btn-cancel, .moments-btn-confirm').prop('disabled', false); - modal.fadeIn(200); + var modal = $('#momentsDeleteModal'); + var card = modal.find('.moments-card-widget'); + modal.find('.moments-title-text').text(title); + modal.find('.moments-message-text').text(msg); + card.removeClass('theme-red theme-yellow theme-green').addClass('theme-' + type); + $('.moments-btn-cancel, .moments-btn-confirm').prop('disabled', false); + modal.fadeIn(200); } diff --git a/templates/assets/js/app.js b/templates/assets/js/app.js index 245fbd7..f2580f9 100644 --- a/templates/assets/js/app.js +++ b/templates/assets/js/app.js @@ -2561,6 +2561,7 @@ async function initNoticeTip() { if (hasUnread) { noticeBubble.classList.add('show'); noticeBtn.classList.add('has-notice'); + $('.footer_menu a[href="/navigator"]').css('color', '#ecc94b').find('i').css('color', '#ecc94b'); } else { noticeBubble.classList.remove('show'); noticeBtn.classList.remove('has-notice'); @@ -2802,7 +2803,7 @@ function initjump() { $.removeCookie('load_type', { path: '/', domain: 'anian.cc' }); window.scroll_param = scrollParam; if (scrollParam && !isNaN(scrollParam)) { - closeLoading = cocoMessage.loading('自动恢复原线路内容中...'); + closeLoading = cocoMessage.loading('自动恢复原内容中...'); } initTagSwitch().then(() => { const loadPageTask = () => { @@ -2831,7 +2832,7 @@ function initjump() { cocoMessage.success('登出成功!'); } else { const msg = location.hostname === "anian.cc" ? '主线路' : (location.hostname === "www.anian.cc" ? '副线路' : '测试线路'); - cocoMessage.success('已成功切换至${msg}'); + cocoMessage.success('已成功切换至' + msg); } }).catch(() => closeLoading?.()); } diff --git a/templates/friends.html b/templates/friends.html index a07baaf..1906101 100644 --- a/templates/friends.html +++ b/templates/friends.html @@ -1,6 +1,6 @@ + th:replace="~{modules/layouts/layout :: layout(_head = null,_content = ~{::content},_title = ${title + ' - ' + site.title})}"> @@ -19,7 +19,7 @@
  • + th:classappend="${#lists.isEmpty(param.author) ? 'active' : ''}" class="cat-link"> 全部
  • @@ -27,8 +27,8 @@
  • + th:classappend="${#strings.equals(param.author, author) ? 'active' : ''}" + th:text="${author}" class="cat-link">
  • @@ -38,10 +38,9 @@
    -
    +
    @@ -58,7 +57,7 @@
    @@ -72,9 +71,34 @@
    + +
    +
    + + + + + + + + + + + +
    +
    -
    @@ -88,11 +112,9 @@
    -
    +
    - +
    diff --git a/templates/modules/footer.html b/templates/modules/footer.html index be8e9d8..a647a9c 100644 --- a/templates/modules/footer.html +++ b/templates/modules/footer.html @@ -1,5 +1,5 @@ - +
    diff --git a/templates/modules/head.html b/templates/modules/head.html index e978f34..da70b4c 100644 --- a/templates/modules/head.html +++ b/templates/modules/head.html @@ -1,4 +1,4 @@ - + diff --git a/templates/modules/variables/moments-img-style.html b/templates/modules/variables/moments-img-style.html index 4883689..4f4cba2 100644 --- a/templates/modules/variables/moments-img-style.html +++ b/templates/modules/variables/moments-img-style.html @@ -1,5 +1,4 @@