// 左侧dock空白区显示心灵毒鸡汤
// see
// 功能介绍:
// 1. 左侧dock空白区域显示心灵毒鸡汤
// 2. 双击显示下一个
// 3. 右键复制到剪切板
// 4. 可显示为跑马灯效果
(()=>{
// 设置多久显示一次,单位秒,默认5分钟
const delay = 300;
// 是否显示为跑马灯效果,true显示为跑马灯效果
const marquee = false;
// 鼠标悬停时是否显示提示
const showTitle = true;
// 左侧dock空白区文本样式
addStyle(`
#dockLeft .fn__flex-1.dock__item--space {
display: flex;
justify-content: center; /* 水平居中 */
align-items: center; /* 垂直居中 */
font-size: clamp(12px, 3vh, 18px); /* 字体大小 */
writing-mode: vertical-rl; /* 竖向排列 */
text-align: center; /* 文字居中对齐 */
line-height: 120%;
overflow: hidden;
}
#dockLeft .fn__flex-1.dock__item--space marquee {
display: flex;
align-items: center;
white-space: nowrap;
font-size: 18px;
height: 100vh;
}
`);
// 手机版退出
if(isMobile()) return;
// 定时显示心灵毒鸡汤
setInterval(async () => {
yiyan((text) => {
setDockSpace(text);
});
}, delay * 1000 || 300000);
// 加载时显示一次
yiyan((text) => {
setDockSpace(text);
});
// 监听事件
let dockSpace = getDockSpace();
if(dockSpace){
// 添加双击事件,双击显示下一个
listenDockSpaceDblclick();
// 右键事件,右键复制到剪切板
listenDockSpaceContextmenu();
} else {
setTimeout(() => {
dockSpace = getDockSpace();
listenDockSpaceDblclick();
listenDockSpaceContextmenu();
}, 1500);
}
//每日一言
async function yiyan(callback) {
var response = await fetch("https://v.api.aa1.cn/api/yiyan/index.php");
response = await response.text();
response = extractTextFromHtml(response);
response = cleanText(response);
callback(response);
}
// 清除空白符换行等
function cleanText(str) {
// 去除所有换行符
let noNewlines = str.replace(/[\r\n]+/g, '');
// 替换多个连续的空白字符为单个空格,并去除开头和结尾的空白
return noNewlines.replace(/\s+/g, ' ').trim();
}
// 解析出文本字符
function extractTextFromHtml(htmlString) {
// 创建一个新的DOMParser实例
const parser = new DOMParser();
// 使用DOMParser将HTML字符串解析为一个文档对象
const doc = parser.parseFromString(htmlString, 'text/html');
// 获取所有