「GM 脚本」大会员 B 币领取提醒

吐槽/反馈/建议:我的咸鱼心  爱发电-@wdssmq

大部分脚本都以自用优先,所以可能塞了奇怪的功能进去,建议摘取需要的部分自行组织完整代码;

name:「bilibili」- 稍后再看导出为.url

desc:将 B 站的稍后再看列表导出为.url 文件

url:https://github.com/wdssmq/userscript/blob/master/bilibili/later.user.js

cdn:https://cdn.jsdelivr.net/gh/wdssmq/userscript@master/bilibili/later.user.js

以及,现在才知道 localStorage 并不能跨子域使用,所以用了 cookie,其实好像用GM_setValue+GM_getValue也可以;

相关推荐

「折腾」GM_脚本修改 bilibili 番剧链接为我的追番_电脑网络_沉冰浮水

「折腾」使用 rollup.js 模块化编写 GM 脚本_电脑网络_沉冰浮水


已改用rollup.js构建脚本,具体见上方推荐;

「B 币领取提醒」部分的 Git 查看:https://github.com/wdssmq/userscript/blob/master/bilibili/src/_bcoin.js

以下仅为参考,并不能直接使用:

  1. // @grant GM_notification
  2. // @grant GM.openInTab
  3. // ==/UserScript==
  4. /* jshint esversion:6 */
  5. import { curUrl, curDate, _log, $n, fnElChange } from './_base.js';
  6. // cookie 封装
  7. const ckeObj = {
  8. setItem: function (key, value) {
  9. const Days = 137;
  10. const exp = new Date();
  11. exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
  12. document.cookie = key + "=" + encodeURIComponent(value) + ";path=/;domain=.bilibili.com;expires=" + exp.toGMTString();
  13. },
  14. getItem: function (key, def = "") {
  15. const reg = new RegExp("(^| )" + key + "=([^;]*)(;|$)");
  16. const arr = document.cookie.match(reg);
  17. if (arr) {
  18. return decodeURIComponent(arr[2]);
  19. }
  20. return def;
  21. }
  22. };
  23. // 日期转字符串
  24. const getDateStr = (date) => {
  25. const options = { year: 'numeric', month: '2-digit', day: '2-digit' };
  26. return date.toLocaleDateString("zh-CN", options);
  27. }
  28. // 判断日期间隔
  29. const diffDateDays = (date1, date2) => {
  30. const diff = date1.getTime() - date2.getTime();
  31. return diff / (1000 * 60 * 60 * 24);
  32. }
  33. // B 币领取提醒
  34. (() => {
  35. const ckeName = "bilibili-helper-bcoin-nxtDateStr";
  36. const curDateStr = getDateStr(curDate);
  37. const nxtDateStr = ckeObj.getItem(ckeName, curDateStr);
  38. const bcoinUrl = "https://account.bilibili.com/account/big/myPackage";
  39. _log(`当前日期: ${curDateStr}`);
  40. _log(`下次领取: ${nxtDateStr}`);
  41. // 通知事件封装
  42. const notify = (title, body) => {
  43. _log(`通知标题: ${title}`);
  44. GM_notification({
  45. title: title,
  46. text: body,
  47. timeout: 0,
  48. onclick: () => {
  49. // window.location.href = bcoinUrl;
  50. GM.openInTab(bcoinUrl, false);
  51. }
  52. });
  53. }
  54. // 判断是否已经领取过
  55. const fnCheckByDOM = () => {
  56. const $bcoin = $n(".bcoin-wrapper");
  57. // _log("fnCheckByDOM", $bcoin);
  58. // $bcoin && _log("fnCheckByDOM", $bcoin.innerHTML);
  59. if ($bcoin && $bcoin.innerText.includes("本次已领")) {
  60. const match = $bcoin.innerText.match(/\d{4}\/\d+\/\d+/);
  61. if (match && match[0] !== nxtDateStr) {
  62. ckeObj.setItem(ckeName, match[0]);
  63. _log("已领取过,更新下次领取日期", match[0]);
  64. return true;
  65. }
  66. } else {
  67. fnElChange($n("#app"), fnCheckByDOM);
  68. }
  69. return false;
  70. }
  71. // _log($n("body").innerHTML);
  72. // _log(nxtDateStr, curMonth);
  73. // 对比日期
  74. const iniDiff = diffDateDays(curDate, new Date(nxtDateStr));
  75. if (iniDiff > 0) {
  76. _log(curUrl, "\n", bcoinUrl);
  77. if (curUrl.indexOf(bcoinUrl) > -1) {
  78. fnCheckByDOM();
  79. } else {
  80. notify("B 币领取提醒", "点击查看 B 币领取情况");
  81. }
  82. }
  83. })();

爱发电

本文标题:《「GM 脚本」大会员 B 币领取提醒》作者:沉冰浮水
原文链接:https://www.wdssmq.com/post/20141219446.html
特别注明外均为原创,转载请注明。

分享到微信

扫描二维码

可在微信查看或分享至朋友圈。

相关文章

沉冰浮水 沉冰浮水 发布于 2014-12-21 20:38:48  
https://www.wdssmq.com
[godsay4-不明觉厉]
回复
发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

网站分类

  • 订阅本站的 RSS 2.0 新闻聚合

搜索

本周旧文

《忍者与杀手》——出生是事实,在此基础上,感觉比《鹿乃子》好看;一个靠不当人拔高了抽象,另一个本身就不是人(也不是鹿),单论抽象鹿乃子更高,然而就是不好看。。

nuc 四个口插硬盘都识别不到,有亮灯。。最后试出别插到底。。

绿联的硬盘盒。。另外一个联想的没问题。。

近期观影记录:超级马里奥,死侍与金刚狼。。

搬家也告一段落,虽然搬过来的东西还得归置,新衣柜虽说已经散俩月味儿了,但还是不想放衣服进去。

要不我每年汇总整理一次??碎雨集_沉冰浮水_第1页

所以,不带这条的话,2024 年目前只发了 13 条嘟????

VSCode 内 git 操作卡住的时候没办法主动取消一直是个痛点,一般都是推送或拉取,今天连提交都卡了。。

又一个夏天过去了,所以今年也没买防水鞋套;然后天凉了,为了应对踢被子买了睡袋,不知道 1.2 米会不会略窄。。

《五至七时的克莱奥》,2018 年 6 月加入列表,21 年 11 月底发现 B 站上线了这部,直到前几天才看完,还是分两次看的。。接下来有五项是 2019 年的,都是电影 —— 略长的待办列表。。

有用程序自动抓取自己带 tag 的嘟,然后按年备份后从线上删除;刚发现去年的数据有备份但是没删线上??和本地数据对比后发现线上的还少一条,Why??

最新留言

友情链接

手机扫码查看