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

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-7
1. 适配新接口(基于新版API-Python)
2. 更新附录页面、通知书页面
3. 朋友圈将不再显示内容为空的条目
4. 修复图文片刻中媒体库及拖拽时的图片样式
5. 修改灯箱相关UI颜色
6. 重写课外书分类获取逻辑(依赖豆瓣插件v1.2.2-2)
#### v1.2.5-6
1. 重构课外书页面
2. 音乐、背景、侧边栏等适配新接口(基于API-Python)
+17 -17
View File
@@ -104,6 +104,19 @@
</div>
</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">
<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>
@@ -112,12 +125,12 @@
<i class="ri-file-list-3-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>
<p style="color: #36A28E; font-size: 13px; margin: 0; opacity: 0.8;">决胜千里之外</p>
</div>
</div>
</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="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;">
@@ -130,7 +143,7 @@
</div>
</a>
<a href="#" target="_self">
<a href="books" 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;">
@@ -138,20 +151,7 @@
<i class="ri-door-open-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="#" 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>
<p style="color: #36A28E; font-size: 13px; margin: 0; opacity: 0.8;">记忆中的锚点</p>
</div>
</div>
</a>
+47 -10
View File
@@ -1,25 +1,57 @@
<div id="anian-update-wrapper-2026" class="anian-feed-root-container">
<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-loading">加载中...</div>
</div>
</div>
<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-loading">加载中...</div>
</div>
</div>
<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-card" data-rss-url="https://git.anian.cc/anian/halo-plugin-comment/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-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>
@@ -41,9 +73,8 @@
}
.anian-feed-card {
flex: 1;
min-width: 320px;
/* 优化最小宽度 */
flex: 0 0 calc((100% - 24px) / 2);
max-width: calc((100% - 24px) / 2);
background: #ffffff;
border: 1px solid #e1f3d8;
border-radius: 12px;
@@ -55,6 +86,11 @@
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.anian-feed-card:first-child {
flex-basis: 100%;
max-width: 100%;
}
.anian-feed-caption {
margin: 0;
@@ -70,7 +106,7 @@
}
.anian-feed-list-box {
max-height: 380px;
max-height: 250px;
/* 优化高度 */
overflow-y: auto;
padding: 0;
@@ -197,7 +233,8 @@
}
.anian-feed-card {
min-width: 100%;
flex: 0 0 100%;
max-width: 100%;
}
.anian-feed-caption {
+2 -2
View File
@@ -706,7 +706,7 @@
}
.douban_page #douban_item .douban_title_text {
color: #111827;
color: var(--pix-theme);
font-size: 16px;
line-height: 1.35;
font-weight: 650;
@@ -714,7 +714,7 @@
}
.douban_page #douban_item .douban_title_text:hover {
color: var(--pix-theme);
color: rgb(28, 156, 90);
}
.douban_page #douban_item .douban_sub_meta {
+49 -27
View File
@@ -344,10 +344,6 @@ function init_douban_page() {
if (Number.isNaN(scoreNumber)) {
return null;
}
// 豆瓣常见是 10 分制,这里统一转换为 5 星展示
if (scoreNumber > 5) {
scoreNumber = scoreNumber / 2;
}
if (scoreNumber < 0) {
scoreNumber = 0;
}
@@ -357,16 +353,28 @@ function init_douban_page() {
return scoreNumber;
}
function getTypeNameCN(typeCode) {
var typeMap = {
'music': '音乐',
'drama': '演出',
'book': '图书',
'game': '游戏',
'movie': '影视',
// 'test': '测试'
};
return typeMap[typeCode] || typeCode;
function renderTypeNav(typeList) {
var $navList = $('.douban_cat_nav ul');
if ($navList.length === 0) {
return;
}
var navHtml = ['<li><a data-type="" class="cat-link active">全部<span></span></a></li>'];
var seen = {};
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) {
@@ -386,7 +394,7 @@ function init_douban_page() {
var poster = escapeHtml(spec.poster || '/themes/theme-pix/assets/img/theme/banner.jpg');
var rawScore = faves.score || spec.score || '';
var createTime = escapeHtml(formatTime(faves.createTime));
var dataType = getTypeNameCN(spec.type || '--');
var dataType = escapeHtml(spec.type || '--');
var contentText = escapeHtml(spec.cardSubtitle || '暂无内容简介');
var pid = escapeHtml((item.metadata && item.metadata.name) || ('douban-' + Date.now()));
var scoreText = renderScore(rawScore);
@@ -658,23 +666,37 @@ function init_douban_page() {
return false;
});
var urlTag = new URLSearchParams(window.location.search).get('tag');
if (urlTag && urlTag.trim() !== '') {
var $matchedTag = $('.douban_cat_nav .cat-link').filter(function () {
var tagText = $(this).clone().find('span').remove().end().text().trim();
return tagText === urlTag;
}).first();
if ($matchedTag.length > 0) {
$matchedTag.addClass('active').parent().siblings().children('.cat-link').removeClass('active');
state.type = $matchedTag.attr('data-type') || '';
function applyUrlTagState() {
var urlTag = new URLSearchParams(window.location.search).get('tag');
if (urlTag && urlTag.trim() !== '') {
var $matchedTag = $('.douban_cat_nav .cat-link').filter(function () {
var tagText = $(this).clone().find('span').remove().end().text().trim();
return tagText === urlTag;
}).first();
if ($matchedTag.length > 0) {
$matchedTag.addClass('active').parent().siblings().children('.cat-link').removeClass('active');
state.type = $matchedTag.attr('data-type') || '';
} else {
state.type = $('.douban_cat_nav .cat-link.active').attr('data-type') || '';
}
} else {
state.type = $('.douban_cat_nav .cat-link.active').attr('data-type') || '';
}
} else {
state.type = $('.douban_cat_nav .cat-link.active').attr('data-type') || '';
}
requestList(1, state.type, false);
$.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);
}
});
}
// 打开确认模态框
-81
View File
@@ -133,25 +133,6 @@ cocoMessage.config({
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上传媒体文件到媒体库(已兼容图片/视频)
$(document).on('change', '#topic_img_up', function (e) {
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 () {
//$(".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 {
position: fixed !important;
z-index: 1050 !important;
width: auto !important;
pointer-events: none;
}
-6
View File
@@ -16,12 +16,6 @@
<div class="friends_cat_nav douban_cat_nav">
<ul>
<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>
</div>
+1
View File
@@ -40,6 +40,7 @@
<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"
th:if="${postInfo.spec != null and not #strings.isEmpty(postInfo.spec.description)}"
th:with="spec = ${postInfo.spec}">
<div class="p_item_inner">
+1 -1
View File
@@ -1,5 +1,5 @@
<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">
+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'}" />
<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">
+1 -1
View File
@@ -17,7 +17,7 @@ spec:
issues: "https://github.com/chengzhongxue/halo-theme-pix/issues"
settingName: "theme-pix-setting"
configMapName: "theme-pix-configMap"
version: "1.2.5-6"
version: "1.2.5-7"
require: ">=2.20.0"
customTemplates:
page: