桌面动画助手

Desk animate helper!

当前为 2019-11-15 提交的版本,查看 最新版本

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         桌面动画助手
// @namespace    http://tampermonkey.net/
// @version      1.5
// @description  Desk animate helper!
// @author       Saltzman
// @license      MIT
// @date         2019-11-14
// @modified     2019-11-15
// @exclude      *//saltzmanalaric*
// @exclude      *//greasyfork*
// @exclude      *//music.163.com*
// @match        https://**/*
// @grant        none
// @run-at       document-end
// @require https://cdn.jsdelivr.net/gh/SaltzmanAlaric/[email protected]/lib/L2Dwidget.min.js
// @require https://cdn.jsdelivr.net/gh/SaltzmanAlaric/[email protected]/lib/L2Dwidget.0.min.js
// ==/UserScript==

(function() {
    'use strict';

    var now = new Date();
    var year = now.getFullYear();
    var month = now.getMonth()+1;
    var date = now.getDate();
    var week = "星期" + ["一","二","三","四","五","六","日"][now.getDay()];
    var fmtDate = function(d) {
        year = now.getFullYear();
        month = now.getMonth()+1;
        date = now.getDate();
        var h = now.getHours();
        var m = now.getMinutes();
        var s = now.getSeconds();
        return "今天是"+year+"年"+month+"月"+ date+"日("+ week + ") "/*+ (h > 9 ? h :"0" + h) +":"+ (m > 9 ? m : "0" + m) +":"+ (s > 9 ? s : "0"+s)*/;
    }

    var titleEle = document.getElementsByTagName("title")[0];

    var title= titleEle? titleEle.innerText : window.location.href;
    var temptitle= " " + title+" | ";
    var length=title.length;

    // title跑马灯
    var move = function() {
        if (length <20 || !titleEle) {//title大于20个字符执行
            return;
        }
        temptitle=temptitle.concat(temptitle.charAt(0));
        length=temptitle.length;
        temptitle=temptitle.substring(1,length);
        titleEle.innerText = temptitle;
    }
    var timer = setInterval(move, 300);
    document.addEventListener('visibilitychange', function(){
        if(document.visibilityState=='hidden'){
            window.clearInterval(timer);
            titleEle.innerText = title;
        }else{
             timer = window.setInterval(move, 300);
        }
    });

    var models = [
        {model:"chitose", height:212},
        {model:"haruto", height:220},
        {model:"hibiki", height:400},
        {model:"hijiki", height:200},
        {model:"izumi", height:206},
        {model:"koharu", height:220},
        {model:"miku", height:250},
        {model:"nico", height:190},
        {model:"nipsilon", height:180},
        {model:"nito", height:190},
        {model:"shizuku", height:342},
        {model:"tororo", height:200},
        {model:"tsumiki", height:280},
        {model:"unitychan", height:190},
        {model:"wanko", height:180},
        {model:"z16", height:300}
    ];
    var r = parseInt(Math.random() * models.length);
    L2Dwidget.init({
  "model": {
    "jsonPath": "https://unpkg.com/live2d-widget-model-" + models[r].model + "@1.0.5/assets/"+ models[r].model + ".model.json",
    "scale": 1
  },
  "display": {
    "superSample": 2,
    "width": 180,
    "height": models[r].height,
    "position": "right",
    "hOffset": 0,
    "vOffset": 0
  },
  "mobile": {
    "show": false,
    "scale": 0.5
  },
  "react": {
    "opacityDefault": 0.7,
    "opacityOnHover": 0.2
  },
  "dialog": {
    // 开启对话框
    enable: true,
    script: {
      // 每空闲 10 秒钟,显示一条一言
      'every idle 10s': '$hitokoto$',
      // 当触摸到角色身体
      'tap body': fmtDate(now),
      // 当触摸到角色头部
      'tap face': '你正在浏览【'+title+"】"
    }
  }
});
})();