留园插件 - 每日金币收支总览
自从用了Tampermonkey就喜欢上了,很容易上手,很多功能都能实现,我在留园泡的日子又比较久,就在使用过程中,做了一些简单的插件,不少都是在chatGPT的帮助之下完成的,以后慢慢的都整理下,分享给大家,希望能给部分朋友带来一定的方便,也希望高手能指出脚本中的不足之处,更欢迎愿意继续开发的朋友,让脚本变得更好用些。Tampermonkey
Tampermonkey中文似乎叫“篡改猴”,听起来似乎不怎么好听,但作用还是很强大的,利用它,我们可以通过javascript来对网页进行各种操作,以下是我让chatGPT做的介绍,(水一下字数,哈哈)“Tampermonkey 是一款强大而灵活的浏览器扩展,为用户提供了一种个性化定制网页体验的方式。作为一款用户脚本管理器,Tampermonkey 允许用户在浏览器中运行自定义脚本,以改变网页的外观、行为和功能。这款扩展支持多种浏览器,包括 Chrome、Firefox、Microsoft Edge 等,为用户提供了在不同平台上享受定制化浏览体验的便利。
Tampermonkey 的主要功能包括用户脚本的管理、编辑和执行。用户脚本是由用户编写的小型代码片段,用于修改网页的各个方面。这些脚本可以用来自定义网页样式、添加新功能、自动执行特定操作等。Tampermonkey 提供了一个直观的用户界面,让用户轻松管理已安装的脚本,并能够方便地启用、禁用或删除它们。这款扩展还支持用户脚本的自动更新,确保用户能够随时享受到最新版本的功能和修复。用户可以选择手动检查更新,也可以设置自动更新周期,以确保其安装的脚本始终保持最新状态。Tampermonkey 提供了一个内置的代码编辑器,让用户能够方便地编辑其脚本。该编辑器支持语法高亮、自动完成和错误检查,有助于用户更轻松地编写出符合要求的脚本。此外,Tampermonkey 还支持导入和导出用户脚本,方便用户在不同设备之间同步或分享自己的定制设置。这款浏览器扩展的灵活性表现在其对用户脚本的广泛支持上。Tampermonkey 兼容 Greasemonkey 用户脚本,这是一种通用的用户脚本格式,让用户能够更轻松地在不同平台之间共享和使用脚本。同时,Tampermonkey 还支持一些独有的功能,如脚本的配置选项、键盘快捷键的绑定等,使用户能够更全面地定制自己的浏览体验。对于广大网页开发者和技术爱好者而言,Tampermonkey 提供了一个广阔的创作空间。用户可以通过编写复杂的脚本来修改网页的 DOM 结构、拦截和修改网络请求,甚至实现一些高级的功能,如自定义脚本命令、跨域请求等。这为用户提供了极大的自由度,让他们能够根据个人需求定制浏览器行为。总体而言,Tampermonkey 是一款功能强大的浏览器扩展,为用户提供了个性化定制浏览体验的便捷途径。无论是改变网页外观、添加新功能,还是实现更高级的定制化需求,Tampermonkey 都能够满足用户的期望。其灵活性、易用性以及强大的功能使其成为浏览器扩展领域的佼佼者,为用户带来了全新的上网体验。”安装使用
其安装过程很简单,直接用你的浏览器搜索“tampermonkey extension”即可。(chrome,firefox, safari, edge都支持,)安装之后,可以去greasy fork或者github上直接安装user script,或者是自己写一个。开发初衷
而我的这个脚本,是之前请辞自拍版主的时候,因为要转移出我的账号内的版块基金,才做的,金币礼物的赠送额度不能超过账号余额的25%,一个个加起来有点小麻烦,我就干脆找出chatgpt,几句话生成了这个小插件,安上之后,只在礼物页面运行,刷新后就会生成如下面截图的总览信息。代码
以下是代码:代码在粘贴的时候,因为html代码的过滤会出现一些小错误,所以我把它发布到了greasyfork,地址如下:
// ==UserScript==
// @name 每日金币收支总和
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author lyabc@6park
// @license MIT
// @match https://home.6park.com/index.php?app=gift&act=giftlog
// @icon https://www.google.com/s2/favicons?sz=64&domain=6park.com
// @grant none
// ==/UserScript==
(function() {
'use strict';
function calculateAccountSummary() {
var records = document.querySelectorAll("body > div.mian > div.right_content > div.account_log > ul > li");
var summaryByDate = {}; records.forEach(function(record) {
var dateElement = record.querySelector('.log_dateline');
var recordDate = dateElement.textContent.trim();
var balanceElement = record.querySelectorAll('span')[1];
var expenseElement = record.querySelectorAll('span')[2];
var recordExpense = parseFloat(expenseElement.textContent.trim()); summaryByDate[recordDate] = summaryByDate[recordDate] || { totalIncome: 0, totalExpense: 0, accountBalanceChange: 0 };
summaryByDate[recordDate].totalIncome += (recordExpense > 0) ? recordExpense : 0;
summaryByDate[recordDate].totalExpense += (recordExpense < 0) ? -recordExpense : 0;
summaryByDate[recordDate].accountBalanceChange += recordExpense;
}); return summaryByDate;
}
var accountLogDiv = document.querySelector('.account_log'); if (accountLogDiv) {
var newDiv = document.createElement('div');
newDiv.style.width = getComputedStyle(accountLogDiv).width;
newDiv.style.height = 'auto'; // Auto height to accommodate content
newDiv.style.backgroundColor = 'lightgray';
newDiv.style.marginTop = '10px'; // 将新 div 插入到原始 div 的下方
accountLogDiv.parentNode.insertBefore(newDiv, accountLogDiv.nextSibling); // 调用 calculateAccountSummary 获取统计信息
var summary = calculateAccountSummary(); // 在新插入的 div 中显示统计信息
for (var date in summary) {
var summaryText = "日期:" + date + ""+
"总收入:" + summary[date].totalIncome.toFixed(2) + "" +
"总支出:" + summary[date].totalExpense.toFixed(2) + "" +
"账号余额变化:" + summary[date].accountBalanceChange.toFixed(2) + "-----"; // 创建一个新的 p 元素,用于显示每天的统计信息
var summaryElement = document.createElement('p');
summaryElement.innerHTML = summaryText; // 将 p 元素添加到新插入的 div 中
newDiv.appendChild(summaryElement); }
}
})();
https://greasyfork.org/zh-CN/scripts/485805-%E7%95%99%E5%9B%AD%E6%AF%8F%E6%97%A5%E9%87%91%E5%B8%81%E6%94%B6%E6%94%AF%E6%80%BB%E5%92%8C
贴主:lyabc于2024_01_27 2:47:04编辑
已标注为lyabc的原创内容,若需转载授权请联系网友本人。若违规侵权,请联系我们
所有跟帖: ( 主贴楼主有权删除不文明回复,拉黑不受欢迎的用户 )
楼主前期社区热帖:
>>>>查看更多楼主社区动态...