Greasy Fork

bleutools

UI XHR

目前为 2022-03-10 提交的版本。查看 最新版本

此脚本不应直接安装,它是一个供其他脚本使用的外部库。如果您需要使用该库,请在脚本元属性加入:// @require https://update.greasyfork.cloud/scripts/441249/1026362/bleutools.js

let tools= {
    swalForInfo:function(satitle, satime, saposition) {
        return Swal.fire({
            title: satitle,
            position: saposition,
            showConfirmButton: false,
            timer: satime,
            customClass: {
                title: 'bleu_sa_title_min',
                popup: 'bleu_sa_popup_min'
            }
        })
    },
    swalForUI:function(title, html, width) {
        return swal.fire({
            title: title,
            html: html,
            width: width,
            showConfirmButton: false,
            showCloseButton: true,
            allowOutsideClick: false,
            footer: ' ',
            customClass: {
                title: 'bleu_sa_title',
                popup: 'bleu_sa_popup',
                closeButton: 'bleu_sa_close',
                htmlContainer: 'bleu_sa_container',
                footer: 'bleu_sa_footer'
            },
        })
    },
    bleuXHR:function(TYPE, URL, DATA, HEADER, rtype) {
        return new Promise((resolve, reject) => {
            GM_xmlhttpRequest({
                method: TYPE,
                timeout: 2000,
                headers: HEADER || reqHeaders,
                url: URL,
                data: DATA,
                responseType: rtype || "json",
                onload: function (res) {
                    resolve(res.response || res.responseText || res);
                },
                onerror: function (err) {
                    reject(err);
                }
            });
        })
    },
    addCssStyle:function(cssStyle) {
        if (cssStyle === undefined || cssStyle === null) cssStyle = '';
        let initStyle = `
                .bleu_sa_close {width: 30px;height: 30px;font-size: 30px;}
                .bleu_sa_title {font-size: 25px;}
                .bleu_sa_container{margin: 0;font-size: 20px;}
                .bleu_sa_popup {padding: 0 0 0;}
                .bleu_sa_footer{margin: 0;padding-top: 20px;}
                .bleu_sa_title_min{font-size: 20px;padding: 0;}
                .bleu_sa_popup_min{padding: 0 0 0;width: auto;}
                `
        let style = document.createElement('style');
        style.innerHTML = initStyle + cssStyle;
        document.querySelector('head').appendChild(style);
    }
}