无标题文章

```javascript

// ==UserScript==// @name iconfont.cn无刷新修改Font Class// @namespace https://ansonhorse.github.io/// @version 0.1// @description iconfont.cn无刷新修改Font Class// @author Anxon// @match http://www.iconfont.cn/manage/index*// @require https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js// @grant none// ==/UserScript==(function() { 'use strict' /** * 获取csrf-ctoken * * @returns {String} */ function getCsrfToken() { return $('meta[name="csrf-ctoken"]').attr('content') } function getProjectId() { let matches = window.location.href.match(/projectId=(\d+)/) return matches ? matches[1] : null } function getItemId(jqItem) { let matches = jqItem.attr('class').match(/icon_id_(\d+)/) return matches ? matches[1] : null } function injectStyle() { $('head').append(` .genteelly-edit {

                margin-top: 15px;

                margin-bottom: 15px;

                background: #e3e3e3;

                color: #a67979;

                cursor: pointer;

                padding: 4px 10px;

            }

            `)    }    function update(itemId, newClass) {        return new Promise((resolve, reject) => {            let data = {                font_class: newClass,                ctoken: token,                pid: projectId,                id: itemId,            }            $.ajax({                url: 'http://www.iconfont.cn/api/icon/updateProjectIcon.json',                type: 'POST',                data: data,                dataType: 'json',            }).then(res => {                if (res.code == 200) {                    alert('Success!')                } else if (res.message) {                    alert(res.message)                } else {                    alert('Unknown response:', JSON.stringify(res, null, 2))                }                resolve(res)            }).catch(err => {                console.error('>>> iconfont update:', err)                reject(err)            })        })    }    function mission() {        $('.project-iconlist').not('.inited').addClass('inited').find('.icon-item').each(function () {            let jqItem = $(this),                itemId = getItemId(jqItem)            jqItem.append(`

Edit Class

`)        })    }    let token = getCsrfToken()    let projectId = getProjectId()    $(function () {        injectStyle()        if (token && projectId) {            $('body').on('click', '.genteelly-edit', function () {                let jqBtn = $(this),                    itemId = jqBtn.data('id'),                    jqCls = jqBtn.closest('.icon-item').find('.icon-code.icon-code-show'),                    fullCls = jqCls.text(),                    cls = jqCls.attr('title'),                    prefix = fullCls.replace(new RegExp(`-${cls}$`), '')                let newCls = prompt('New Class:', cls)                if (newCls) {                    update(itemId, newCls)                        .then(res => {                            jqCls.attr('title', newCls).text(prefix + '-' + newCls)                        })                        .catch(err => {})                }            })            setInterval(mission, 2000)        }    })})()

```

你可能感兴趣的:(无标题文章)