您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
优化编程猫
当前为
// ==UserScript== // @name 编程猫优化 // @namespace codemao_optimization // @version 1.7 // @description 优化编程猫 // @author 银河本尊 // @run-at document-start // @match https://*.codemao.cn/* // @license MIT // @grant none // @require https://lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M/jquery/3.6.0/jquery.min.js // ==/UserScript== var dialog_r = 0 var sleep = (delay) => new Promise((resolve) => setTimeout(resolve, delay)); //console.log(unsafeWindow) async function del_msg(type, offset, type_name) { let r=0 $.ajax({ method: "get", url: "https://api.codemao.cn/web/message-record?query_type=" + type + "&limit=200&offset=" + offset, data: document.cookie, async: true, xhrFields: { withCredentials: true, }, success: async function(obj) {r=obj}, error: async function(obj) {r=-1} }); while(r==0){ await sleep(100) //console.log(r) } console.log(r) if(r==-1){ return del_msg(type, offset) }; $("#notices").html('正在清理信息'+type_name+',('+(offset+200)+'/'+r.total+')') $("#notices").addClass('c-popup--show') let r2=0 $.ajax({ method: "get", url: 'https://api.codemao.cn/web/message-record/count', data: document.cookie, async: true, xhrFields: { withCredentials: true, }, success: async function(obj) {r2=obj}, error: async function(obj) {r2=-1} }); while(r2==0){ await sleep(100) //console.log(r) } console.log(r2) if(r2==-1){ return del_msg(type, offset) }; console.log(r2[(query_type.indexOf(type))].count) if(r2[(query_type.indexOf(type))].count!=0){ del_msg(type, offset+200) }else{ $("#notices").removeClass('c-popup--show') bconf('提示', '清理信息完成', '关闭', '确定') return 1 } }; if(window.location.href.includes('message')){ var query_type=[ 'COMMENT_REPLY', 'LIKE_FORK', 'SYSTEM' ]; (async function(){ //alert('') while($('.r-message--nav_cont').length==0){ await sleep(100) } await sleep(500) $('.r-message--nav_cont').append(`<div id="clean_msg" class="r-message--nav_item"><img src="https://cdn-community.codemao.cn/47/community/d2ViXzMwMDFfODgwODU4MF8wXzE3MDc1ODczNTc3MTJfY2UwODcxNzk.png" style="height:24px;margin:23px 5px 23px 0px;display:inline_block;vertical-align:top">已读所有<span></span></div>`) $('#clean_msg').click(function(){ if($('.r-message--cur_nav').text()=='评论与回复'){ del_msg(query_type[0], 0, '评论与回复') }else if($('.r-message--cur_nav').text()=='赞与被购买'){ del_msg(query_type[1], 0, '赞与被购买') }else if($('.r-message--cur_nav').text()=='系统消息'){ del_msg(query_type[2], 0, '系统消息') } }) })(); } function fws_tree(fws_d){ console.log(fws_d) let proc_data = '' proc_data += `<div class="fws_text${fws_d.is_published?' fws_publ':(fws_d.is_deleted?' fws_dele':'')}" onclick="${fws_d.is_published?('window.open(\''+fws_d.id+'\')'):('bconf(\'提示\', \'作品未发布\', \'关闭\', \'确定\')')}">${fws_d.name+'('+fws_d.author.nickname+')'}</div>` if(fws_d.children.length>0){ proc_data += `<div class="fws_list">` for(let i=0; i<fws_d.children.length; i++){ proc_data += fws_tree(fws_d.children[i]) } proc_data += `</div>` } return proc_data } async function get_fws(id, dialog=0){ let r=0 $.ajax({ type: "GET", url: `https://api.codemao.cn/tiger/work/tree/${id}`, async: true, //binary: true, xhrFields: { withCredentials: true, }, success: function (obj) { r=obj }, error: function (res){ r=null }, }); while(r==0){ await sleep(100) } if(!r){ if(dialog){ baler('错误', 'API接口回调数据异常', '确定') } return -1 } fws=r console.log(fws) let r2=0 $.ajax({ type: "GET", url: `https://api.codemao.cn/creation-tools/v1/works/${r.id}`, async: true, binary: true, xhrFields: { withCredentials: true, }, success: function (obj) { r2=obj }, error: function (res){ r2=-1 }, }); while(r2==0){ await sleep(100) } fw_info=r2 console.log(fw_info) return r2 } if(window.location.href.includes('work/')){ var fw_info=0 var fws=0; (async function(){ let view_forks while($('.r-work-c-work_interaction--labels_container').length==0){ await sleep(100) } await sleep(500) view_forks=document.querySelectorAll('.r-work-c-work_interaction--label') //console.log(view_forks) let view_fork for(let i=0; i<view_forks.length; i++){ view_fork=view_forks[i]; console.log('for '+i) console.log(view_fork) if(view_fork.innerHTML=='再创作'){ //view_fork=view_forks[i]; console.log('select') break }else{ view_fork=0 } } if(view_fork){ view_fork.classList.add('view_fork') view_fork.innerHTML=`<img src='https://cdn-community.codemao.cn/47/community/d2ViXzMwMDFfODgwODU4MF81NTAzNzFfMTcwNzMzNjU0NTQxM19iZjA5MzZlMw.png' style='height: 28px; margin-top: -3px; margin-left: -4px;'>查看原作品`; await get_fws(window.location.href.split("/")[4]) if(fw_info!=-1){ view_fork.innerHTML=`<img src='https://cdn-community.codemao.cn/47/community/d2ViXzMwMDFfODgwODU4MF81NTAzNzFfMTcwNzMzNjU0NTQxM19iZjA5MzZlMw.png' style='height: 28px; margin-top: -3px; margin-left: -4px;'>${fw_info.user_info.nickname}` } console.log(view_fork) view_fork.onclick=async function(){ if(fw_info!=-1){ if(await baler('原作品', ` <div class="event_target data_report" style="width: 450px !important"><div class="c-work_item--work_item" onclick="window.open('/work/${fw_info.id}')" style="width:450px;margin:0px"><div class="c-work_item--work_cover" style="background-image: url(${fw_info.preview});"></div><div class="c-work_item--work_detail"><p class="c-work_item--name">${fw_info.work_name}</p><p class="c-work_item--datas"><span class="c-work_item--data_span"><i class="c-work_item--icon_view"></i>${fw_info.view_times}</span><span class="c-work_item--data_span"><i class="c-work_item--icon_prise"></i>${fw_info.praise_times}</span></p><p class="c-work_item--author"><img src="${fw_info.user_info.avatar}" alt="" class="c-work_item--author_head"><span class="c-work_item--author_name" onclick="window.open('/user/${fw_info.user_info.id}')">${fw_info.user_info.nickname}</span></p></div></div></div> `, '再创作族谱')==2){ baler('再创作族谱', fws_tree(fws), '确定') } }else{ await get_fws(window.location.href.split("/")[4], 1) } } }else{ try{ await get_fws(window.location.href.split("/")[4]); $('.r-work-c-work_interaction--labels_container').append(`<span class="r-work-c-work_interaction--label" id="view_fork"><img src='https://cdn-community.codemao.cn/47/community/d2ViXzMwMDFfODgwODU4MF81NTAzNzFfMTcwNzMzNjU0NTQxM19iZjA5MzZlMw.png' style='height: 28px; margin-top: -3px; margin-left: -4px;'>再创作族谱</span>`) $('#view_fork').click(async function(){ if(fws){ baler('再创作族谱', fws_tree(fws), '确定') }else{ await get_fws(window.location.href.split("/")[4], 1) } }) console.log('not_fork')}catch(e){console.error(e)} } })(); } let dang_elem_count = 0 setInterval(function(){ let dangers = $('iframe, embed') if(dangers){ //console.log(dangers) for(let i=0; i<dangers.length; i++){ let danger = dangers[i] //console.log(danger) if(danger.id!='react-tinymce-0_ifr'&&danger.id!='player_cover'){//不是评论区的富文本编辑器也不是作品播放器 danger.before('[由实时防护拦截]'); danger.remove(); console.log('removed'); console.log(danger) dang_elem_count++ console.log(dang_elem_count) $('#confirm').remove() bconf('实时防护', `拦截了${dang_elem_count}个元素`, '关闭', '确定') } } } //$('iframe').remove() //$('embed').remove() },1) if(window.location.href.includes('community')||window.location.href.includes('wiki/forum')){ window.o_open = window.open window.open = async function(url){ console.log('opening '+url) if ((url.includes("community") || url.includes("wiki/forum")) && (parseInt(url.split("/")[2]) || parseInt(url.split("/")[3]))) { let id = ""; if (url.includes("community")) { id = url.split("/")[2]; } else { id = url.split("/")[3]; } // console.log(id); $.ajax({ type: "GET", url: `https://api.codemao.cn/web/forums/posts/${id}/details`, contentType: "application/json;charset=UTF-8", async: true, xhrFields: { withCredentials: true, }, success: async function (obj) { if((obj.content).includes('iframe')||(obj.content).includes('embed')){ if((await bconf('此帖子可能存在风险!', '可能包括但不限于盗号等', '继续(不推荐)', '关闭'))==1){window.o_open(url)} }else{ window.o_open(url) } }, error: function (res){ bconf('获取帖子信息失败', '请检查网络链接', '关闭', '确定') console.log(res) }, }); } else { // console.log("catched go"); return window.o_open(url); } //alert(url) //bconf() } } create_css() $('.c-navigator--navigator').ready(function(){ setInterval(function(){ $('.c-navigator--navigator').attr('style', ''); $('.c-navigator--navigator').attr('style', 'width: '+window.innerWidth+'px !important;'); //console.log($('.c-navigator--navigator').width()) }, 500) }) window.bconf = async function(header='提示', content='content', cancel='取消', confirm='确认'){ $('.c-dialog--dialog_wrap').after('<div class="c-dialog--dialog_wrap" id="confirm"><div class="c-dialog--dialog_cover"></div><div class="c-dialog--content_box"><div></div></div></div>') $('#confirm').html(`<div class="c-dialog--dialog_cover"></div><div class="c-dialog--content_box"><div class="c-dialog-c-confirm_box_center--dialog"><div class="c-dialog-c-confirm_box_center--title">${header}</div><div class="c-dialog-c-confirm_box_center--content">${content}</div><div class="c-dialog-c-confirm_box_center--btns"><a class="c-dialog-c-confirm_box_center--cancel">${cancel}</a><a class="c-dialog-c-confirm_box_center--confirm">${confirm}</a></div></div></div>`) document.querySelector('#confirm').offsetHeight $('#confirm').addClass('c-dialog--visiable').addClass('c-dialog--show') dialog_r = 0 $('#confirm .c-dialog--content_box .c-dialog-c-confirm_box_center--btns .c-dialog-c-confirm_box_center--confirm').click(function(){dialog_r=2}) $('#confirm .c-dialog--content_box .c-dialog-c-confirm_box_center--btns .c-dialog-c-confirm_box_center--cancel').click(function(){dialog_r=1}) while(dialog_r==0){ await sleep(100) //console.log(dialog_r) } $('#confirm').removeClass('c-dialog--visiable') await sleep(300) $('#confirm').remove() return dialog_r } window.baler = async function(header='提示', content='content', confirm='确认'){ $('.r-work--comment_container .c-model_box--dialog_cover').after(`<div class="c-model_box--content_wrap" id="balert"><div class="c-model_box--content_box"><div class="c-model_box--title"><span>${header}</span></div><a class="c-model_box--close c-model_box--bind_phone_close"><i></i></a><div class="r-work-c-comment_area-c-report_comment--container"><div class="r-work-c-comment_area-c-report_comment--label_group">${content}</div></div><div class="r-work-c-comment_area-c-report_comment--bottom_options"><a class="r-work-c-comment_area-c-report_comment--option">${confirm}</a></div></div></div>`) document.querySelector('#balert').offsetHeight $('.r-work-c-comment_area--comment_container .c-model_box--dialog_wrap').addClass('c-model_box--show').addClass('c-model_box--visiable') dialog_r = 0 $('#balert .c-model_box--content_box .c-model_box--close').click(function(){dialog_r=1}) $('#balert .c-model_box--content_box .r-work-c-comment_area-c-report_comment--bottom_options .r-work-c-comment_area-c-report_comment--option').click(function(){dialog_r=2}) while(dialog_r==0){ await sleep(100) //console.log(dialog_r) } $('.r-work-c-comment_area--comment_container .c-model_box--dialog_wrap').removeClass('c-model_box--visiable').removeClass('c-model_box--show') await sleep(300) $('#balert').remove() return dialog_r } function create_css() { $("head").append(` <style> /*主题色*/ .c-navigator--navigator, .c-navigator--header-content, .r-community--send_btn, .r-community-r-detail--send_btn, .r-community-r-detail-c-comment_reply--reply_send a, .r-community-r-detail--add_reply, .c-pagination--btn.c-pagination--page-container .c-pagination--activePage, .r-community--forum_filter .r-community--filter_tab.r-community--active span, .line, .r-discover-c-tagList--select, .r-message--nav_item.r-message--cur_nav:after, .r-work-c-comment_area--comment_btn, .r-work-c-comment_area-c-comment_reply--reply_send a, .c-dialog-c-confirm_box_center--confirm, .view_fork, .r-work-c-comment_area-c-report_comment--item_point i, .r-work-c-comment_area-c-report_comment--option, .r-community-r-detail-c-report_comment--item_point i, .r-community-r-detail-c-report_comment--option{ background-color: rgb(41, 126, 255) !important; } /*主题色边框*/ .c-pagination--btn.c-pagination--page-container .c-pagination--activePage, .r-community-r-detail-c-comment_reply--reply_editor:focus, .r-community-r-detail-c-comment_reply--reply_btn:hover, .r-community--filter_tab, .r-community--forum_filter .r-community--filter_tab.r-community--active span, .r-discover-c-tagList--select, .r-discover-c-tagList--sort_item:hover, .r-work-c-comment_area-c-comment_editor--editor:focus, .r-work-c-comment_area-c-comment_reply--reply_editor:focus, .r-work-c-comment_area-c-comment_reply--reply_send a, .c-dialog-c-confirm_box_center--confirm, .c-dialog-c-confirm_box_center--cancel:hover, .r-work-c-comment_area-c-report_comment--label_item:hover .r-work-c-comment_area-c-report_comment--item_point, .r-work-c-comment_area-c-report_comment--select, .r-community-r-detail-c-report_comment--label_item:hover .r-community-r-detail-c-report_comment--item_point, .r-community-r-detail-c-report_comment--select, #view_fork:hover{ border-color: rgb(41, 126, 255) !important; } /*主题色文本*/ .r-community--active, .r-community--forum_filter, .r-community--filter_tab:hover, .r-community-r-detail-c-comment_reply--reply_btn:hover, .loading_container, .c-post_list--has_reply, .r-discover--active, .r-discover--switch-box li:hover, .r-discover-c-tagList--sort_item:not(.r-discover-c-tagList--select):hover, .r-discover-c-banner--item p:hover, .r-message--cur_nav, .r-message--nav_item:hover, .r-message-c-comments--work_name, .r-message-c-buy--work_name, .r-message-c-system_message--work_name, .r-work-c-comment_area-c-comment_item--active, .r-work-c-comment_area-c-comment_item--active i, .r-work-c-comment_area-c-comment_item--active span, .r-work-c-comment_area-c-comment_reply--active, .r-work-c-comment_area-c-comment_reply--active i, .r-work-c-comment_area-c-comment_reply--active span, .r-community-r-detail-c-comment_item--active, .r-community-r-detail-c-comment_item--active i, .r-community-r-detail-c-comment_item--active span, .r-community-r-detail-c-comment_reply--active, .r-community-r-detail-c-comment_reply--active i, .r-community-r-detail-c-comment_reply--active span, .c-post_list--post_title h3:hover, .c-post_list--post_header span:hover, .r-community-r-detail--author_link, .r-community-r-detail-c-comment_item--author_link, .r-community-r-detail-c-comment_reply--author_link, .c-dialog-c-confirm_box_center--cancel:hover, #view_fork:hover{ color: rgb(41, 126, 255) !important; } /*高亮色*/ .c-navigator--selected, .c-navigator--header-content .c-navigator--nav_wrap .c-navigator--item:hover, .c-navigator--message_wrap:hover, .c-navigator--avatar_wrap:hover, .r-community--send_btn:hover, .view_fork:hover{ background-color: #1b70f2 !important; } /*高亮色2*/ .c-post_list--has_reply{ background-color: rgb(219, 234, 255) !important; } /*白色*/ .view_fork{ color: white !important; } /*黑色*/ .c-model_box--close i{ color: black !important; } /*创作标签*/ .c-navigator--ide_link{ background-color: rgb(66, 214, 101) !important; } /*再创作标签*/ /*.view_fork{ background-color: #FFBB10 !important }*/ /*fork_work_card*/ .fws_list { font-size: 20px; min-height: 20px; margin: 0px 0px 0px 20px; border-left: #aaaaaa 2px solid } .fws_text { font-size: 15px; height: 15px; line-height: 15px; margin: 2.5px 0px 2.5px 20px; overflow: hidden; } .fws_text:hover{ color: rgb(41, 126, 255); } .fws_publ{ border-left:rgb(66, 214, 101) 20px solid; padding-left: 2px; margin: 2.5px 0px 2.5px -2px; } .fws_dele{ border-left:#aaaaaa 20px solid; padding-left: 2px; margin: 2.5px 0px 2.5px -2px; } /*kn公测*/ .c-navigator--kn_wrap{ background-color: rgb(41, 169, 255) !important; } /*kn:hover*/ .c-navigator--kn_wrap:hover{ background-color: rgb(27, 156, 242) !important; } /*弹窗*/ .c-popup--msg_cont{ background-color: rgba(255, 255, 255, 0.6) !important; color: black !important; box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); backdrop-filter: blur(10px); border-radius: 10px !important; } /*弹窗2背景*/ .c-dialog--show, .c-model_box--show .c-model_box--content_wrap{ background-color: rgba(0, 0, 0, 0.1) !important; color: black !important; backdrop-filter: blur(10px); border-radius: 10px !important; width: 100% !important; } /*圆角+阴影*/ .r-community--bulletin_container, .r-community--notic_container, .r-community--content_container, .r-community--search_container, .r-community-r-detail-c-comment_reply--reply_container, .r-work--work_detail_container, .r-work-c-author_info--author_info_card, .r-work-c-work_info--container, .r-work-c-work_container--work_list, .r-work-c-comment_area-c-comment_reply--reply_container, .r-user-c-slide-panel--top, .r-user-c-slide-panel--middle, .r-user-c-button-panel--bottom, .r-user-c-body--body, .c-dialog--content_box, .r-discover--work-item, .c-model_box--content_box{ border-radius: 10px !important; box-shadow: 0 0 20px rgba(0, 0, 0, 0.3) !important; overflow: hidden; transition: 0.3s all !important; } /*仅圆角*/ .c-navigator--header-content .c-navigator--nav_wrap .c-navigator--item:not(.c-navigator--selected):hover, .c-navigator--message_wrap:hover, .c-navigator--avatar_wrap:hover, .c-navigator--ide_link:hover{ border-radius: 10px !important; } /*上方圆角*/ .r-work-c-author_info--author_info_card{ border-radius: 10px 10px 0 0 !important; } /*下方圆角*/ .c-navigator--navigator, .r-work-c-work_info--container, .c-navigator--dropdown, .c-navigator--dropdown-wrap, .c-navigator--drop_down .c-navigator--cont{ border-radius: 0 0 10px 10px !important; } /*仅阴影*/ .c-navigator--dropdown, .c-navigator--dropdown-wrap, .c-navigator--drop_down .c-navigator--cont{ box-shadow: 0 0 20px rgba(0, 0, 0, 0.3) !important; } /*标题修复*/ .c-model_box--content_wrap, .r-community--container{ /*overflow: hidden; */ } .r-community--middle_content_container{ /*padding-left: 20px !important; padding-right: 20px !important; */ } .r-community--search_container{ /*margin-right: 20px !important;*/ } .c-navigator--navigator{ /*position: !important;*/ /*left: auto !important; right: auto !important; */ /*width: 100vw !important;*/ } body{ /*width: 1500px;*/ } /*外边框*/ .r-community-r-detail-c-comment_item--comment_item{ } /*动画时间*/ .c-post_list--post_body:hover, .c-navigator--message_wrap, .c-navigator--avatar_wrap, .c-navigator--ide_link, .c-dialog--dialog_wrap, .c-model_box--dialog_wrap, .c-model_box--dialog_wrap .c-model_box--dialog_cover, .c-model_box--dialog_wrap .c-model_box--content_wrap, .view_fork, #view_fork{ transition: 0.3s !important; } /*下拉菜单*/ .c-navigator--second_nav .c-navigator--dropdown{ width: 120px !important; } /*防沉迷背景*/ .c-virtual_player--toast_container{ backdrop-filter: blur(0px) !important; } /*kn样式*/ .ant-layout-header, .Sidebar_wrapper__kaX81, .ScreenBar_active__ebRM1{ background-color: rgb(41, 126, 255) !important; background-image: none !important; } .ant-input, .FileManagement_fileManagerWrapper__g14oG:hover, .Setting_settingWrapper__LHc0B:hover, .FileManagement_active__fs9l6, .Setting_active__O61te{ background-color: #1b70f2 !important; } .ant-btn/* .IconFont_wrapper__FPeRA svg use*/{ /*display: none;*/ width: 16.75px !important; padding: 0px !important; border: none !important; } .ant-btn .IconFont_wrapper__FPeRA svg use{ display: none; width: 0px; } .FileManagement_fileManagerWrapper__g14oG i svg, .Setting_settingWrapper__LHc0B i svg{ color: white !important; } /*.pc_imageContainerWrapper__2A3rK, .pc_imageWrapper__YT3Sz, .SpriteList_item__dq-hN, .SpriteList_wrapper__Yvi-q{ background-color: #8db8f9 !important; }*/ </style> `) }