Greasy Fork

Greasy Fork is available in English.

蓝湖

try to take over the world!

当前为 2020-06-16 提交的版本,查看 最新版本

// ==UserScript==
// @name         蓝湖
// @namespace    http://tampermonkey.net/
// @version      0.2.2
// @description  try to take over the world!
// @author       You
// @match        https://lanhuapp.com/web/
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // Your code here...
    var colorJson = {
        "BackgroundTitle": "FFFFFF",
        "Tip_Strong": "FFA317",
        "Disable": "B8BBC2",
        "LinkText": "3777FF",
        "Tip_Success": "07C16A",
        "NavigationBarBackground": "F9F9F9",
        "AccessoryTitle": "8F9396",
        "MainTitle": "292F3D",
        "Tip_Failure": "F8554F",
        "Tip_Weak": "FFF6D4",
        "Background": "F2F2F2",
        "Separator": "EEEEEE"
    }
    var fontJson = {
        "MMRegularFontName": "苹方-简 常规体",
        "MMMediumFontName": "苹方-简 中黑体",
        "MMSemiboldFontName": "苹方-简 粗体"
    }

    var fontSizeJson = {
        "MMTitleFontSize": "18pt",
        "MMTitleTabSelectFontSize": "16pt",
        "MMTitleTabNormalFontSize": "15pt",
        "MMContentFontSize": "14pt",
        "MMAccessoryFontSize": "13pt",
        "MMDescriptionFontSize": "12pt",
        "MMLabelFontSize": "10pt",
        "MMMarkFontSize": "9pt",
    }

    var color = '';
    var font = '';
    var fontSize = '';

    function changeColorText() {
        var copy_texts = document.getElementsByClassName('copy_text');
        for (let index = 0; index < copy_texts.length; index++) {
            const element = copy_texts[index];

            for (const key in colorJson) {
                if (colorJson.hasOwnProperty(key)) {
                    const value = colorJson[key];
                    if (element.innerText.indexOf(value) != -1) {
                        element.innerText = key;
                        color = key;
                        return;
                    }
                }
            }

        }
    }

    function changeFontText() {
        var layer_names = document.getElementsByClassName('layer_name');
        for (let index = 0; index < layer_names.length; index++) {
            const element = layer_names[index];
            for (const key in fontJson) {
                if (fontJson.hasOwnProperty(key)) {
                    const value = fontJson[key];
                    if (element.innerText.indexOf(value) != -1) {
                        element.innerText = key;
                        font = key;
                        return;
                    }
                }
            }
        }
    }

    function changeFontSizeText() {
        var item_titles = document.getElementsByClassName('item_title');
        for (let index = 0; index < item_titles.length; index++) {
            const element = item_titles[index];
            if (element.innerText.indexOf('字号') != -1) {
                let sizeDom = element.parentElement.getElementsByClassName('two')[0];
                for (const key in fontSizeJson) {
                    if (fontSizeJson.hasOwnProperty(key)) {
                        const value = fontSizeJson[key];
                        if (sizeDom.innerText.indexOf(value) != -1) {
                            sizeDom.innerText = key;
                            fontSize = key;
                            return;
                        }
                    }
                }
            }
        }
    }

    function changeText(params) {
        changeColorText();
        changeFontText();
        changeFontSizeText();
    }

    function addButton(name, marginLeft, fun) {
        var txt = document.createTextNode(name);
        var btn = document.createElement('button');
        btn.className = 'mmbutton';
        btn.style = "font-size: large; position: fixed; top: 0pt; left: "+(screen.width / 4 + marginLeft)+"px;";
        btn.onclick = fun;
        btn.appendChild(txt);
        document.body.appendChild(btn);
        return btn.offsetWidth;
    };

    function remove() {
        let style = document.getElementsByClassName('mu-paper mu-drawer mu-paper-round mu-paper-2 open right')[0].getAttribute('style');
        if (style.indexOf('display') == -1) {
            drawerStyle = style;
            document.getElementsByClassName('mu-paper mu-drawer mu-paper-round mu-paper-2 open right')[0].setAttribute('style', 'display: none;');
        } else {
            document.getElementsByClassName('mu-paper mu-drawer mu-paper-round mu-paper-2 open right')[0].setAttribute('style', drawerStyle);
        }
    };

    function getFont() {
        font = font.split('Font')[0];
        let fontCode = "[UIFont " + font + "FontWithFontSize:"+ fontSize +"]";
        let btn = document.getElementsByClassName('mmbutton')[2];
        let btnText = btn.innerText;
        let textarea = "<textarea id=\"copyFont\" style=\"opacity: 0;\">" + fontCode + "</textarea>";
        btn.innerHTML = textarea;
        var element = document.getElementById("copyFont");
        element.select(); // 选择对象
        document.execCommand("Copy"); // 执行浏览器复制命令
        btn.innerText = btnText
    };

    function getColor() {
        color = color.split('_').join('');
        color = color.charAt(0).toLowerCase() + color.slice(1);
        let colorCode = "UIColor.mm_" + color + "Color";
        let btn = document.getElementsByClassName('mmbutton')[3];
        let btnText = btn.innerText;
        let textarea = "<textarea id=\"copyColor\" style=\"opacity: 0;\">" + colorCode + "</textarea>";
        btn.innerHTML = textarea;
        var element = document.getElementById("copyColor");
        element.select(); // 选择对象
        document.execCommand("Copy"); // 执行浏览器复制命令
        btn.innerText = btnText
    }

    var drawerStyle = '';
    var btnWidth = 0;
    var marginLeft = 30;
    btnWidth += marginLeft;
    btnWidth = addButton('点击开关抽屉', btnWidth, remove);
    btnWidth = marginLeft * 2 + btnWidth * 1;
    btnWidth = addButton('点击更换文字', btnWidth, changeText);
    btnWidth = marginLeft * 3 + btnWidth * 2;
    btnWidth = addButton('点击获取字体', btnWidth, getFont);
    btnWidth = marginLeft * 4 + btnWidth * 3;
    btnWidth = addButton('点击获取颜色', btnWidth, getColor);
})();