// ==UserScript== // @name 编程猫使用优化 // @namespace https://shequ.codemao.cn/user/438403 // @version 1.9.40 // @description 对于在使用编程猫中遇到的各种问题的部分优化 // @author 小鱼yuzifu // @match *://shequ.codemao.cn/* // @icon https://creation.codemao.cn/884/l4zc7xoc.png?imageMogr2/thumbnail/!200x200r/blur/1x0/quality/100|imageslim // @grant GM_xmlhttpRequest // @require https://code.jquery.com/jquery-3.6.1.min.js // @require https://cdn.jsdelivr.net/npm/lil-gui@0.16 // @require https://greasyfork.org/scripts/452713-%E7%BC%96%E5%88%9B%E5%8D%8Fmarkdown%E7%BC%96%E8%BE%91%E5%99%A8-%E5%B0%8F%E9%B1%BC%E9%9B%86%E6%88%90%E7%89%88/code/%E7%BC%96%E5%88%9B%E5%8D%8FMarkdown%E7%BC%96%E8%BE%91%E5%99%A8%EF%BC%88%E5%B0%8F%E9%B1%BC%E9%9B%86%E6%88%90%E7%89%88%EF%BC%89.js?version=1102750 // @license 616 SB License // @downloadURL none // ==/UserScript== (function () { 'use strict'; GM_xmlhttpRequest({ method: "get", url: "https://api.codemao.cn/creation-tools/v1/user/center/honor", data: document.cookie, binary: true, async onload({ response }) { $("li[data-watch_event='下载APP-入口tab']").after(`
  • 设置
  • `); document.documentElement.style.setProperty('--main-color', localStorage.getItem('main-color') || '#fec433'); document.documentElement.style.setProperty('--second-color', localStorage.getItem('second-color') || '#f6b206'); document.documentElement.style.setProperty('--person-setting', localStorage.getItem('person-setting') || 'pic'); document.documentElement.style.setProperty('--person-color', localStorage.getItem('person-color') || '#000'); document.documentElement.style.setProperty('--person-bg', localStorage.getItem('person-bg') || 'url(https://cdn-community.codemao.cn/community_frontend/asset/banner_65b4a.png)'); document.documentElement.style.setProperty('--highlight-color', localStorage.getItem('highlight-color') || '#ec443d'); document.documentElement.style.setProperty('--isLevelShown', localStorage.getItem('isLevelShown') || ''); $(".c-dialog--dialog_cover").after(`
    主色调
    辅色调
    突出色调
    个人中心背景
    图片 纯色
    首页排版
    新人指导 代码岛3.0精选 点猫精选 新作喵喵看 训练师小课堂 优秀工作室 原创少儿小说 编程TV 社区星推荐
    等级显示
    自定义CSS样式
    `); if ((window.location.href.indexOf("work/") != -1) && (parseInt(window.location.href.slice(25 + 5,)))) { GM_xmlhttpRequest({ method: "get", url: "https://api.codemao.cn/creation-tools/v1/works/" + parseInt(window.location.href.slice(25 + 5,)), data: document.cookie, binary: true, async onload({ response }) { if (JSON.parse(response).type == 'NEMO') { $("li[data-watch_event='下载APP-入口tab']").after(`
  • 旋转屏幕
  • `); var rotateDeg = 0 $("li[data-watch_event='旋转-入口tab']").click(function () { rotateDeg -= 90; document.documentElement.style.setProperty('--rotateDeg', 'rotate(' + rotateDeg + 'deg)'); document.documentElement.style.setProperty('--OppoRotateDeg', 'rotate(' + -rotateDeg + 'deg)'); //document.getElementById('player_cover').contentWindow.document.querySelector('body').style.transform='rotate(' + -rotateDeg + 'deg)' }) } } }) } $("head").after(``) $('#custom-sett textarea').on('change', () => { localStorage.setItem('custom-sett', document.querySelector('#custom-sett textarea').value) document.querySelector('#custom-setts').innerHTML = document.querySelector('#custom-sett textarea').value }) $('input#main-color').on('change', () => { document.documentElement.style.setProperty('--main-color', document.querySelector('input#main-color').value); localStorage.setItem('main-color', document.querySelector('input#main-color').value); }) $('input#second-color').on('change', () => { document.documentElement.style.setProperty('--second-color', document.querySelector('input#second-color').value); localStorage.setItem('second-color', document.querySelector('input#second-color').value); }) $('input#highlight-color').on('change', () => { document.documentElement.style.setProperty('--highlight-color', document.querySelector('input#highlight-color').value); localStorage.setItem('highlight-color', document.querySelector('#highlight-color').value); }) $('input#level-shown').on('change', () => { if (document.querySelector('input#level-shown').checked) { document.documentElement.style.setProperty('--isLevelShown', ''); localStorage.setItem('isLevelShown', ''); } else { document.documentElement.style.setProperty('--isLevelShown', 'none'); localStorage.setItem('isLevelShown', 'none'); } }) $('input[value="pic"]').on('change', () => { document.documentElement.style.setProperty('--person-color', ''); document.documentElement.style.setProperty('--person-bg', localStorage.getItem('person-bg') || 'url(https://cdn-community.codemao.cn/community_frontend/asset/banner_65b4a.png)'); localStorage.setItem('person-setting', 'pic'); document.documentElement.style.setProperty('--person-setting', 'pic'); document.querySelector('#person-bg-btn').style.display = 'block'; document.querySelector('#person-color').style.display = 'none'; if ((window.location.href.indexOf("user") != -1) && (JSON.parse(response).user_id != parseInt(window.location.href.slice(25 + 5,)))) { GM_xmlhttpRequest({ method: "get", url: "https://api.codemao.cn/creation-tools/v1/user/center/honor?user_id=" + parseInt(window.location.href.slice(25 + 5,)), data: document.cookie, binary: true, async onload({ response }) { if (JSON.parse(response).user_cover == '') { document.documentElement.style.setProperty('--person-bg', 'url(https://cdn-community.codemao.cn/community_frontend/asset/banner_65b4a.png)'); document.documentElement.style.setProperty('--person-color', ''); } else { document.documentElement.style.setProperty('--person-bg', 'url(' + JSON.parse(response).user_cover + ')'); document.documentElement.style.setProperty('--person-color', ''); } } }) } }) $('input[value="color"]').on('change', () => { document.documentElement.style.setProperty('--person-color', localStorage.getItem('person-color') || '#000'); document.documentElement.style.setProperty('--person-bg', ''); localStorage.setItem('person-setting', "color"); document.documentElement.style.setProperty('--person-setting', "color"); document.querySelector('#person-bg-btn').style.display = 'none'; document.querySelector('#person-color').style.display = 'block' if ((window.location.href.indexOf("user") != -1) && (JSON.parse(response).user_id != parseInt(window.location.href.slice(25 + 5,)))) { GM_xmlhttpRequest({ method: "get", url: "https://api.codemao.cn/creation-tools/v1/user/center/honor?user_id=" + parseInt(window.location.href.slice(25 + 5,)), data: document.cookie, binary: true, async onload({ response }) { if (JSON.parse(response).user_cover == '') { document.documentElement.style.setProperty('--person-bg', 'url(https://cdn-community.codemao.cn/community_frontend/asset/banner_65b4a.png)'); document.documentElement.style.setProperty('--person-color', ''); } else { document.documentElement.style.setProperty('--person-bg', 'url(' + JSON.parse(response).user_cover + ')'); document.documentElement.style.setProperty('--person-color', ''); } } }) } }) $('input[fish]').on('change', function () { document.querySelector('li[data-watch_event="' + this.value + '-入口tab"]').style.display = this.checked ? '' : 'none'; localStorage.setItem('isShown' + this.value, this.checked); }) $('input[fish2]').on('change', function () { document.documentElement.style.setProperty(this.value, this.checked ? '' : 'none'); localStorage.setItem(this.value, this.checked ? '' : 'none'); }) $('#person-color').on('change', function () { document.documentElement.style.setProperty('--person-color', this.value); localStorage.setItem('person-color', this.value); }) $('#person-bg-btn').on('click', function () { document.querySelector('#person-bg').click() }) if (localStorage.getItem('isLevelShown') == 'none') { document.querySelector('input#level-shown').checked = false; } else { document.querySelector('input#level-shown').checked = true; } var i; for (i of document.querySelectorAll('input[fish]')) { if (localStorage.getItem('isShown' + i.value) != null) { if (localStorage.getItem('isShown' + i.value) == 'true') { document.querySelector('li[data-watch_event="' + i.value + '-入口tab"]').style.display = '' i.checked = true } else { document.querySelector('li[data-watch_event="' + i.value + '-入口tab"]').style.display = 'none' i.checked = false } } } for (i of document.querySelectorAll('input[fish2]')) { if (localStorage.getItem(i.value) != null) { if (localStorage.getItem(i.value) == 'none') { document.documentElement.style.setProperty(i.value, 'none'); i.checked = false } else { document.documentElement.style.setProperty(i.value, ''); i.checked = true } } } $('#person-bg').on('change', function () { var file = this.files[0]; if (!/image\/\w+/.test(file.type)) { return false; } if (typeof FileReader != 'undefined') { var reader = new FileReader(); var imgFile; reader.readAsDataURL(file); reader.onload = function (e) { imgFile = e.target.result; document.documentElement.style.setProperty('--person-bg', 'url(' + imgFile + ')'); localStorage.setItem('person-bg', 'url(' + imgFile + ')'); }; } else { var URL = window.URL || window.webkitURL; var imageURL = URL.createObjectURL(file); document.documentElement.style.setProperty('--person-bg', 'url(' + imageURL + ')'); localStorage.setItem('person-bg', 'url(' + imageURL + ')'); } }) const addRipple = function (e) { let overlay = $("
    ") overlay.removeClass("animate"); const x = parseInt(e.pageX - $(this).offset().left) - (overlay.width() / 2); const y = parseInt(e.pageY - $(this).offset().top) - (overlay.height() / 2); overlay.css( { left: x, top: y } ).addClass("animate"); $(this).append(overlay) setTimeout(() => { overlay.remove() }, 500) } let rippleList = ['.c-navigator--header-content .c-navigator--nav_wrap .c-navigator--item a', ".c-navigator--dropdown-wrap li a", ".r-community--send_btn", "li[data-watch_event='旋转-入口tab']", ".r-community-c-forum_sender--option", ".r-home-c-community_star--user_recommend_item", ".r-user-c-banner--btn", ".c-navigator--logout", ".c-navigator--cont .c-navigator--item", ".r-community-c-forum_sender--select_area span", ".r-community--forum_list div li", ".r-community--board_item", ".r-home-c-work_card--work_card" ] setInterval(() => { for (i of rippleList) { if (!$(i).hasClass('yzf-animate')) { $(i).addClass("yzf-animate") $(i).css({ position: 'relative', overflow: 'hidden', transition: '0.1s ease-in' }) if (i == ".r-home-c-community_star--user_recommend_item") { $(i).children("a").mousedown(addRipple) } else { $(i).mousedown(addRipple) } } } if (!(window.location.href.indexOf("work/") != -1) || !(parseInt(window.location.href.slice(25 + 5,)))) { $("li[data-watch_event='旋转-入口tab']").remove() } if ((window.location.href.indexOf("community") != -1)) { try { if (Object.is(parseInt(window.location.href.slice(25 + 10,)), NaN)) { document.getElementsByClassName("c-model_box--title")[0].style.display = 'none'; document.getElementById("mceu_11").style.display = 'none'; } else { document.getElementsByClassName("c-model_box--title")[0].style.display = ''; document.getElementById("mceu_11").style.display = ''; } } catch (err) { } if (document.querySelector('.r-community--forum_list2') == null) { $('.r-community--forum_list').after("") } var reactTinymce try { reactTinymce = document.getElementById('react-tinymce-0_ifr').contentWindow.document.querySelectorAll('img') } catch (err) { try { reactTinymce = document.getElementById('react-tinymce-0_ifr').contentWindow.document.querySelectorAll('img') } catch (err) { reactTinymce = document.getElementById('react-tinymce-1_ifr').contentWindow.document.querySelectorAll('img') } } for (i of reactTinymce) { if (i.className.indexOf("encode") == -1) { i.src = i.src i.className = 'encode' i.removeAttribute('alt') } } /* 论坛自动翻页功能(不完善,等下个版本进行修复) if (document.querySelector('.r-community--forum_list div:not(div[class])') != null && document.querySelector(".r-community--forum_filter") != null && document.querySelector("#fan") == null){ var forum_list = document.querySelectorAll('.r-community--forum_list div:not(div[class])') for (i of forum_list) { let oCopy = i.cloneNode(true) $('.r-community--forum_list2').append(oCopy) } $('.r-community--forum_list div:not(div[class])').css('display','none') $('.r-community--forum_filter').after(document.querySelector('.r-community--forum_list2').innerHTML) $('.r-community--forum_list').append("
    ") } var scrollTop = document.documentElement.scrollTop || document.body.scrollTop; var windowHeight = document.documentElement.clientHeight || document.body.clientHeight; var scrollHeight = document.documentElement.scrollHeight || document.body.scrollHeight; if (scrollTop + windowHeight >= scrollHeight) { try{ document.querySelector('.r-community--forum_list .c-pagination--btn.c-pagination--page-container li:last-child').click() } catch (err){ console.log(err) } }*/ } }, 100) document.querySelector('#custom-sett textarea').value = localStorage.getItem('custom-sett') document.querySelector('#custom-setts').innerHTML = document.querySelector('#custom-sett textarea').value $("head").after(` `); $("head").after(` `); $("li[data-watch_event='设置-入口tab']").click(function () { $("#yzf-settings").css("display", "block") $("#yzf-settings").css("transform", "translateY(0)") $("#yzf-close").click(() => { $(".c-dialog--dialog_wrap").css("opacity", "0"); $("#yzf-settings").css("transform", "translateY(-20px)") setTimeout(() => { $('.c-dialog--dialog_wrap').removeClass('c-dialog--visiable c-dialog--show') $(".c-dialog--dialog_wrap").css("opacity", ""); $("#yzf-settings").css("display", "none") }, 200) }) $("#main-color").val(localStorage.getItem('main-color') || '#fec433') $("#second-color").val(localStorage.getItem('second-color') || '#f6b206') $("#person-color").val(localStorage.getItem('person-color') || '#000') $("#highlight-color").val(localStorage.getItem('highlight-color') || '#ec443d') $(".c-dialog--dialog_wrap").addClass('c-dialog--visiable c-dialog--show') }); if (localStorage.getItem('person-setting') == 'color') { document.querySelector('input[value="color"]').checked = true document.querySelector('#person-bg-btn').style.display = 'none'; document.querySelector('#person-color').style.display = 'block'; document.documentElement.style.setProperty('--person-color', localStorage.getItem('person-color') || '#000'); document.documentElement.style.setProperty('--person-bg', ''); } else { document.querySelector('input[value="pic"]').checked = true document.querySelector('#person-bg-btn').style.display = 'block'; document.querySelector('#person-color').style.display = 'none'; document.documentElement.style.setProperty('--person-color', ''); document.documentElement.style.setProperty('--person-bg', localStorage.getItem('person-bg') || 'url(https://cdn-community.codemao.cn/community_frontend/asset/banner_65b4a.png)'); } if ((window.location.href.indexOf("user") != -1) && (JSON.parse(response).user_id != parseInt(window.location.href.slice(25 + 5,)))) { GM_xmlhttpRequest({ method: "get", url: "https://api.codemao.cn/creation-tools/v1/user/center/honor?user_id=" + parseInt(window.location.href.slice(25 + 5,)), data: document.cookie, binary: true, async onload({ response }) { if (JSON.parse(response).user_cover == '') { document.documentElement.style.setProperty('--person-bg', 'url(https://cdn-community.codemao.cn/community_frontend/asset/banner_65b4a.png)'); document.documentElement.style.setProperty('--person-color', ''); } else { document.documentElement.style.setProperty('--person-bg', 'url(' + JSON.parse(response).user_cover + ')'); document.documentElement.style.setProperty('--person-color', ''); } } }) } } }) $("head").after(` `); })();