适配新接口、插件;更新附录、通知书、课外书;修复、优化部分功能

This commit is contained in:
anian
2026-06-15 20:32:43 +08:00
parent 92d591f70b
commit 048e4336d1
13 changed files with 129 additions and 149 deletions
+8
View File
@@ -2,6 +2,14 @@
> 基于原作者v1.2.5代码修改 > 基于原作者v1.2.5代码修改
#### v1.2.5-7
1. 适配新接口(基于新版API-Python)
2. 更新附录页面、通知书页面
3. 朋友圈将不再显示内容为空的条目
4. 修复图文片刻中媒体库及拖拽时的图片样式
5. 修改灯箱相关UI颜色
6. 重写课外书分类获取逻辑(依赖豆瓣插件v1.2.2-2)
#### v1.2.5-6 #### v1.2.5-6
1. 重构课外书页面 1. 重构课外书页面
2. 音乐、背景、侧边栏等适配新接口(基于API-Python) 2. 音乐、背景、侧边栏等适配新接口(基于API-Python)
+17 -17
View File
@@ -104,6 +104,19 @@
</div> </div>
</a> </a>
<a href="https://api.anian.cc" target="_blank">
<div class="link-card-default">
<div class="decor-circle" style="position: absolute; top: -20px; right: -20px; width: 80px; height: 80px; background: #d8f3dc; border-radius: 50%; opacity: 0.3; transition: all 0.5s ease;"></div>
<div style="position: relative; z-index: 1;">
<div style="width: 60px; height: 60px; background: #40916c; border-radius: 10px; margin: 0 auto 15px; display: flex; align-items: center; justify-content: center;">
<i class="ri-git-repository-line ri-icon" style="font-size: 30px;"></i>
</div>
<h4 style="color: #2d6a4f; margin: 0 0 5px; font-size: 18px; font-weight: 500;">接口箱</h4>
<p style="color: #36A28E; font-size: 13px; margin: 0; opacity: 0.8;">运筹帷幄之中</p>
</div>
</div>
</a>
<a href="/news-2026" target="_self"> <a href="/news-2026" target="_self">
<div class="link-card-default"> <div class="link-card-default">
<div class="decor-circle" style="position: absolute; top: -20px; right: -20px; width: 80px; height: 80px; background: #d8f3dc; border-radius: 50%; opacity: 0.3; transition: all 0.5s ease;"></div> <div class="decor-circle" style="position: absolute; top: -20px; right: -20px; width: 80px; height: 80px; background: #d8f3dc; border-radius: 50%; opacity: 0.3; transition: all 0.5s ease;"></div>
@@ -112,12 +125,12 @@
<i class="ri-file-list-3-line ri-icon" style="font-size: 30px;"></i> <i class="ri-file-list-3-line ri-icon" style="font-size: 30px;"></i>
</div> </div>
<h4 style="color: #2d6a4f; margin: 0 0 5px; font-size: 18px; font-weight: 500;">每日报</h4> <h4 style="color: #2d6a4f; margin: 0 0 5px; font-size: 18px; font-weight: 500;">每日报</h4>
<p style="color: #36A28E; font-size: 13px; margin: 0; opacity: 0.8;">运筹帷幄之中</p> <p style="color: #36A28E; font-size: 13px; margin: 0; opacity: 0.8;">决胜千里之外</p>
</div> </div>
</div> </div>
</a> </a>
<a href="https://git.anian.cc/explore/repos" target="_blank"> <a href="https://git.anian.cc" target="_blank">
<div class="link-card-default"> <div class="link-card-default">
<div class="decor-circle" style="position: absolute; top: -20px; right: -20px; width: 80px; height: 80px; background: #d8f3dc; border-radius: 50%; opacity: 0.3; transition: all 0.5s ease;"></div> <div class="decor-circle" style="position: absolute; top: -20px; right: -20px; width: 80px; height: 80px; background: #d8f3dc; border-radius: 50%; opacity: 0.3; transition: all 0.5s ease;"></div>
<div style="position: relative; z-index: 1;"> <div style="position: relative; z-index: 1;">
@@ -130,7 +143,7 @@
</div> </div>
</a> </a>
<a href="#" target="_self"> <a href="books" target="_self">
<div class="link-card-default"> <div class="link-card-default">
<div class="decor-circle" style="position: absolute; top: -20px; right: -20px; width: 80px; height: 80px; background: #d8f3dc; border-radius: 50%; opacity: 0.3; transition: all 0.5s ease;"></div> <div class="decor-circle" style="position: absolute; top: -20px; right: -20px; width: 80px; height: 80px; background: #d8f3dc; border-radius: 50%; opacity: 0.3; transition: all 0.5s ease;"></div>
<div style="position: relative; z-index: 1;"> <div style="position: relative; z-index: 1;">
@@ -138,20 +151,7 @@
<i class="ri-door-open-line ri-icon" style="font-size: 30px;"></i> <i class="ri-door-open-line ri-icon" style="font-size: 30px;"></i>
</div> </div>
<h4 style="color: #2d6a4f; margin: 0 0 5px; font-size: 18px; font-weight: 500;">课外书</h4> <h4 style="color: #2d6a4f; margin: 0 0 5px; font-size: 18px; font-weight: 500;">课外书</h4>
<p style="color: #36A28E; font-size: 13px; margin: 0; opacity: 0.8;">敬请期待</p> <p style="color: #36A28E; font-size: 13px; margin: 0; opacity: 0.8;">记忆中的锚点</p>
</div>
</div>
</a>
<a href="#" target="_self">
<div class="link-card-default">
<div class="decor-circle" style="position: absolute; top: -20px; right: -20px; width: 80px; height: 80px; background: #d8f3dc; border-radius: 50%; opacity: 0.3; transition: all 0.5s ease;"></div>
<div style="position: relative; z-index: 1;">
<div style="width: 60px; height: 60px; background: #40916c; border-radius: 10px; margin: 0 auto 15px; display: flex; align-items: center; justify-content: center;">
<i class="ri-git-repository-line ri-icon" style="font-size: 30px;"></i>
</div>
<h4 style="color: #2d6a4f; margin: 0 0 5px; font-size: 18px; font-weight: 500;">笔记本</h4>
<p style="color: #36A28E; font-size: 13px; margin: 0; opacity: 0.8;">敬请期待</p>
</div> </div>
</div> </div>
</a> </a>
+47 -10
View File
@@ -1,25 +1,57 @@
<div id="anian-update-wrapper-2026" class="anian-feed-root-container"> <div id="anian-update-wrapper-2026" class="anian-feed-root-container">
<div class="anian-feed-grid"> <div class="anian-feed-grid">
<div class="anian-feed-card" data-rss-url="https://git.anian.cc/anian/halo-plugin-photos/releases.rss">
<h3 class="anian-feed-caption">图库插件更新</h3>
<div class="anian-feed-card" data-rss-url="https://git.anian.cc/anian/halo-theme-pix/releases.rss">
<h3 class="anian-feed-caption">日记簿更新</h3>
<div class="anian-feed-list-box"> <div class="anian-feed-list-box">
<div class="anian-loading">加载中...</div> <div class="anian-loading">加载中...</div>
</div> </div>
</div> </div>
<div class="anian-feed-card" data-rss-url="https://git.anian.cc/anian/halo-plugin-friends/releases.rss"> <div class="anian-feed-card" data-rss-url="https://git.anian.cc/anian/halo-plugin-friends/releases.rss">
<h3 class="anian-feed-caption">朋友圈插件更新</h3> <h3 class="anian-feed-caption">朋友圈功能更新</h3>
<div class="anian-feed-list-box"> <div class="anian-feed-list-box">
<div class="anian-loading">加载中...</div> <div class="anian-loading">加载中...</div>
</div> </div>
</div> </div>
<div class="anian-feed-card" data-rss-url="https://git.anian.cc/anian/halo-theme-pix/releases.rss"> <div class="anian-feed-card" data-rss-url="https://git.anian.cc/anian/halo-plugin-comment/releases.rss">
<h3 class="anian-feed-caption">主题更新</h3> <h3 class="anian-feed-caption">评论功能更新</h3>
<div class="anian-feed-list-box"> <div class="anian-feed-list-box">
<div class="anian-loading">加载中...</div> <div class="anian-loading">加载中...</div>
</div> </div>
</div> </div>
<div class="anian-feed-card" data-rss-url="https://git.anian.cc/anian/halo-plugin-photos/releases.rss">
<h3 class="anian-feed-caption">图库功能更新</h3>
<div class="anian-feed-list-box">
<div class="anian-loading">加载中...</div>
</div>
</div>
<div class="anian-feed-card" data-rss-url="https://git.anian.cc/anian/halo-plugin-douban/releases.rss">
<h3 class="anian-feed-caption">课外书功能更新</h3>
<div class="anian-feed-list-box">
<div class="anian-loading">加载中...</div>
</div>
</div>
<div class="anian-feed-card" data-rss-url="https://git.anian.cc/anian/halo-plugin-dever/releases.rss">
<h3 class="anian-feed-caption">插件开发容器更新</h3>
<div class="anian-feed-list-box">
<div class="anian-loading">加载中...</div>
</div>
</div>
<div class="anian-feed-card" data-rss-url="https://git.anian.cc/anian/api-python/releases.rss">
<h3 class="anian-feed-caption">应用接口更新</h3>
<div class="anian-feed-list-box">
<div class="anian-loading">加载中...</div>
</div>
</div>
</div> </div>
</div> </div>
@@ -41,9 +73,8 @@
} }
.anian-feed-card { .anian-feed-card {
flex: 1; flex: 0 0 calc((100% - 24px) / 2);
min-width: 320px; max-width: calc((100% - 24px) / 2);
/* 优化最小宽度 */
background: #ffffff; background: #ffffff;
border: 1px solid #e1f3d8; border: 1px solid #e1f3d8;
border-radius: 12px; border-radius: 12px;
@@ -55,6 +86,11 @@
transition: transform 0.3s ease, box-shadow 0.3s ease; transition: transform 0.3s ease, box-shadow 0.3s ease;
} }
.anian-feed-card:first-child {
flex-basis: 100%;
max-width: 100%;
}
.anian-feed-caption { .anian-feed-caption {
margin: 0; margin: 0;
@@ -70,7 +106,7 @@
} }
.anian-feed-list-box { .anian-feed-list-box {
max-height: 380px; max-height: 250px;
/* 优化高度 */ /* 优化高度 */
overflow-y: auto; overflow-y: auto;
padding: 0; padding: 0;
@@ -197,7 +233,8 @@
} }
.anian-feed-card { .anian-feed-card {
min-width: 100%; flex: 0 0 100%;
max-width: 100%;
} }
.anian-feed-caption { .anian-feed-caption {
+2 -2
View File
@@ -706,7 +706,7 @@
} }
.douban_page #douban_item .douban_title_text { .douban_page #douban_item .douban_title_text {
color: #111827; color: var(--pix-theme);
font-size: 16px; font-size: 16px;
line-height: 1.35; line-height: 1.35;
font-weight: 650; font-weight: 650;
@@ -714,7 +714,7 @@
} }
.douban_page #douban_item .douban_title_text:hover { .douban_page #douban_item .douban_title_text:hover {
color: var(--pix-theme); color: rgb(28, 156, 90);
} }
.douban_page #douban_item .douban_sub_meta { .douban_page #douban_item .douban_sub_meta {
+37 -15
View File
@@ -344,10 +344,6 @@ function init_douban_page() {
if (Number.isNaN(scoreNumber)) { if (Number.isNaN(scoreNumber)) {
return null; return null;
} }
// 豆瓣常见是 10 分制,这里统一转换为 5 星展示
if (scoreNumber > 5) {
scoreNumber = scoreNumber / 2;
}
if (scoreNumber < 0) { if (scoreNumber < 0) {
scoreNumber = 0; scoreNumber = 0;
} }
@@ -357,16 +353,28 @@ function init_douban_page() {
return scoreNumber; return scoreNumber;
} }
function getTypeNameCN(typeCode) { function renderTypeNav(typeList) {
var typeMap = { var $navList = $('.douban_cat_nav ul');
'music': '音乐', if ($navList.length === 0) {
'drama': '演出', return;
'book': '图书', }
'game': '游戏',
'movie': '影视', var navHtml = ['<li><a data-type="" class="cat-link active">全部<span></span></a></li>'];
// 'test': '测试' var seen = {};
};
return typeMap[typeCode] || typeCode; if (Array.isArray(typeList)) {
typeList.forEach(function (item) {
var key = item && item.key !== undefined && item.key !== null ? String(item.key).trim() : '';
if (!key || seen[key]) {
return;
}
seen[key] = true;
var safeKey = escapeHtml(key);
navHtml.push('<li><a data-type="' + safeKey + '" class="cat-link">' + safeKey + '<span></span></a></li>');
});
}
$navList.html(navHtml.join(''));
} }
function renderScore(rawScore) { function renderScore(rawScore) {
@@ -386,7 +394,7 @@ function init_douban_page() {
var poster = escapeHtml(spec.poster || '/themes/theme-pix/assets/img/theme/banner.jpg'); var poster = escapeHtml(spec.poster || '/themes/theme-pix/assets/img/theme/banner.jpg');
var rawScore = faves.score || spec.score || ''; var rawScore = faves.score || spec.score || '';
var createTime = escapeHtml(formatTime(faves.createTime)); var createTime = escapeHtml(formatTime(faves.createTime));
var dataType = getTypeNameCN(spec.type || '--'); var dataType = escapeHtml(spec.type || '--');
var contentText = escapeHtml(spec.cardSubtitle || '暂无内容简介'); var contentText = escapeHtml(spec.cardSubtitle || '暂无内容简介');
var pid = escapeHtml((item.metadata && item.metadata.name) || ('douban-' + Date.now())); var pid = escapeHtml((item.metadata && item.metadata.name) || ('douban-' + Date.now()));
var scoreText = renderScore(rawScore); var scoreText = renderScore(rawScore);
@@ -658,6 +666,7 @@ function init_douban_page() {
return false; return false;
}); });
function applyUrlTagState() {
var urlTag = new URLSearchParams(window.location.search).get('tag'); var urlTag = new URLSearchParams(window.location.search).get('tag');
if (urlTag && urlTag.trim() !== '') { if (urlTag && urlTag.trim() !== '') {
var $matchedTag = $('.douban_cat_nav .cat-link').filter(function () { var $matchedTag = $('.douban_cat_nav .cat-link').filter(function () {
@@ -673,9 +682,22 @@ function init_douban_page() {
} else { } else {
state.type = $('.douban_cat_nav .cat-link.active').attr('data-type') || ''; state.type = $('.douban_cat_nav .cat-link.active').attr('data-type') || '';
} }
}
$.ajax({
type: 'GET',
url: '/apis/api.douban.moony.la/v1alpha1/doubanmovies/-/types',
dataType: 'json',
success: function (data) {
var typeList = Array.isArray(data) ? data : ((data && Array.isArray(data.items)) ? data.items : []);
renderTypeNav(typeList);
},
complete: function () {
applyUrlTagState();
requestList(1, state.type, false); requestList(1, state.type, false);
} }
});
}
// 打开确认模态框 // 打开确认模态框
function openModal(title, msg, type) { function openModal(title, msg, type) {
-81
View File
@@ -133,25 +133,6 @@ cocoMessage.config({
duration: 2000, duration: 2000,
}); });
//sortable事件 隐藏input
UIkit.util.on('.img_show', 'start', function (item) {
$(".up_img_btn").hide();
});
UIkit.util.on('.img_show', 'moved', function (item) {
var img_num = $('.add_img_box .t_media_item').length;
if (img_num < 9) {
$(".up_img_btn").show();
}
});
UIkit.util.on('.img_show', 'stop', function (item) {
var img_num = $('.add_img_box .t_media_item').length;
if (img_num < 9) {
$(".up_img_btn").show();
}
});
//ajax上传媒体文件到媒体库(已兼容图片/视频) //ajax上传媒体文件到媒体库(已兼容图片/视频)
$(document).on('change', '#topic_img_up', function (e) { $(document).on('change', '#topic_img_up', function (e) {
e.preventDefault(); e.preventDefault();
@@ -390,68 +371,6 @@ $(document).on('click', '.topic-img-de', function (e) {
} }
}); });
// 样式修复:3列布局 + 正方形显示(核心)
$(function () {
var style = `<style>
/* 媒体库视频封面:正方形显示,和图片一致 */
.media-video-thumb {
width: 100%;
height: 100%;
object-fit: cover; /* 裁剪为正方形,不拉伸 */
border: none;
pointer-events: none;
}
/* 媒体库li:适配3列,强制正方形 */
.wp_get_media_list li {
position: relative;
display: inline-block;
width: calc(33.333% - 10px); /* 3列基础宽度 */
aspect-ratio: 1/1; /* 强制正方形(宽高比1:1 */
margin: 5px;
overflow: hidden; /* 裁剪超出部分 */
vertical-align: top;
}
/* 核心:.t_media_item 强制正方形 + 3列布局 */
.t_media_item {
position: relative !important;
display: inline-block !important;
width: calc(33.333% - 10px) !important; /* 3列宽度,和原有布局一致 */
aspect-ratio: 1/1 !important; /* 强制正方形,覆盖视频原比例 */
margin: 5px !important;
overflow: hidden !important; /* 裁剪超出的视频内容 */
vertical-align: top !important;
touch-action: none !important;
user-select: none !important;
}
/* 删除按钮:固定在正方形右上角 */
.t_media_item .topic-img-de {
position: absolute !important;
top: 5px !important;
right: 5px !important;
background: rgba(0,0,0,0.5) !important;
color: #fff !important;
width: 20px !important;
height: 20px !important;
border-radius: 50% !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
text-decoration: none !important;
z-index: 99 !important;
pointer-events: auto !important;
}
/* 视频/图片:裁剪为正方形,不拉伸 */
.t_media_item video, .t_media_item img {
width: 100% !important;
height: 100% !important;
object-fit: cover !important; /* 关键:裁剪多余部分,保持正方形 */
display: block !important;
}
</style>`;
$('head').append(style);
});
//插入外部图片链接 //插入外部图片链接
$(document).on('click', '.up_from_cdn a', function () { $(document).on('click', '.up_from_cdn a', function () {
//$(".show_media_box .souqi").click(); //$(".show_media_box .souqi").click();
File diff suppressed because one or more lines are too long
-1
View File
@@ -3541,7 +3541,6 @@ iframe[uk-cover] {
.uk-sortable-drag { .uk-sortable-drag {
position: fixed !important; position: fixed !important;
z-index: 1050 !important; z-index: 1050 !important;
width: auto !important;
pointer-events: none; pointer-events: none;
} }
-6
View File
@@ -16,12 +16,6 @@
<div class="friends_cat_nav douban_cat_nav"> <div class="friends_cat_nav douban_cat_nav">
<ul> <ul>
<li><a data-type="" class="cat-link active">全部<span></span></a></li> <li><a data-type="" class="cat-link active">全部<span></span></a></li>
<li><a data-type="music" class="cat-link">音乐<span></span></a></li>
<li><a data-type="drama" class="cat-link">演出<span></span></a></li>
<li><a data-type="book" class="cat-link">图书<span></span></a></li>
<li><a data-type="game" class="cat-link">游戏<span></span></a></li>
<!-- <li><a data-type="test" class="cat-link">测试<span></span></a></li> -->
<li><a data-type="movie" class="cat-link">影视<span></span></a></li>
</ul> </ul>
</div> </div>
+1
View File
@@ -40,6 +40,7 @@
<div th:each="postInfo, iterstat: ${friends.items}" th:id="${'post-'+postInfo.metadata.name}" <div th:each="postInfo, iterstat: ${friends.items}" th:id="${'post-'+postInfo.metadata.name}"
class="loop_content p_item moment_item uk-animation-slide-bottom-small" class="loop_content p_item moment_item uk-animation-slide-bottom-small"
th:if="${postInfo.spec != null and not #strings.isEmpty(postInfo.spec.description)}"
th:with="spec = ${postInfo.spec}"> th:with="spec = ${postInfo.spec}">
<div class="p_item_inner"> <div class="p_item_inner">
+1 -1
View File
@@ -1,5 +1,5 @@
<th:block th:fragment="footer"> <th:block th:fragment="footer">
<th:block th:with="customJsVersion='1.2.5-6'"> <th:block th:with="customJsVersion='1.2.5-7'">
<!-- 奇遇容器 --> <!-- 奇遇容器 -->
<div class="center-img-container" id="centerImgContainer"> <div class="center-img-container" id="centerImgContainer">
+1 -1
View File
@@ -1,4 +1,4 @@
<th:block th:fragment="head" th:with="customJsVersion=${'1.2.5-6'}"> <th:block th:fragment="head" th:with="customJsVersion=${'1.2.5-7'}">
<th:block th:replace="~{'modules/variables/msg'}" /> <th:block th:replace="~{'modules/variables/msg'}" />
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no"> <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no">
+1 -1
View File
@@ -17,7 +17,7 @@ spec:
issues: "https://github.com/chengzhongxue/halo-theme-pix/issues" issues: "https://github.com/chengzhongxue/halo-theme-pix/issues"
settingName: "theme-pix-setting" settingName: "theme-pix-setting"
configMapName: "theme-pix-configMap" configMapName: "theme-pix-configMap"
version: "1.2.5-6" version: "1.2.5-7"
require: ">=2.20.0" require: ">=2.20.0"
customTemplates: customTemplates:
page: page: