您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
优化云办的编辑器功能
当前为
// ==UserScript== // @name 云办编辑器 // @namespace http://tampermonkey.net/ // @version 0.2.8 // @description 优化云办的编辑器功能 // @require https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js // @require https://cdn.jsdelivr.net/npm/[email protected]/lodash.min.js // @author [email protected] // @include *://172.17.**/* // @include *://172.16.**/* // @include *://192.168.3.**/* // @include *://106.39.185.18:81/* // @include *://pkc.cestc.cn/* // @grant GM_xmlhttpRequest // ==/UserScript== (function () { (function () { // 修改编辑器的默认字体 const style = document.createElement("style"); style.type = "text/css"; style.id = "_wjp_"; const text = document.createTextNode(".ace_editor.ace_editor{font-family: 'Courier New', 'Cascadia Code', Hack, Monaco; font-size: 18px;} #full_screen_watermark_dom{display:none!important;}"); style.appendChild(text); const head = document.getElementsByTagName("head")[0]; head.appendChild(style); })(); (function () { // 点击左右编辑框,自动设置宽度 const PERCENT = 0.6; const WIDE = 100 * PERCENT + '%'; const NARROW = 100 * (1 - PERCENT) + '%'; $(document).on('dblclick', '.splitter-paneL .el-tabs__content', function (e) { e && e.stopPropagation(); const width = parseFloat($(e.currentTarget).closest('.splitter-paneL').attr('style').replace(/[A-Za-z:\s%]/g, '')); if (width > 100 * PERCENT) { return; } $('.splitter-paneL').css('width', WIDE); $('.splitter-pane-resizer').css('left', WIDE); $('.splitter-paneR').css('width', NARROW); }).on('dblclick', '.splitter-paneR .el-tabs__content', function (e) { e && e.stopPropagation(); const width = parseFloat($(e.currentTarget).closest('.splitter-paneR').attr('style').replace(/[A-Za-z:\s%]/g, '')); if (width > 100 * PERCENT) { return; } $('.splitter-paneL').css('width', NARROW); $('.splitter-pane-resizer').css('left', NARROW); $('.splitter-paneR').css('width', WIDE); }); })(); function getQuery(name, url) { const u = url || window.location.search, reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)'), r = u.substr(u.indexOf('\?') + 1).match(reg); return r != null ? r[2] : ''; } (function () { // 给页面增加搜索功能 const dataMap = {}; function fetchData(cb) { let modelCode = getQuery('funcgroupCode'); if (window.location.pathname === '/dev/system/page') { modelCode = 'SYSTEM'; } if (modelCode) { const Token = localStorage.getItem('token'); if (!Token) { return } GM_xmlhttpRequest({ method: 'get', url: '/pkc/page/all/' + modelCode, headers: { 'Content-Type': 'application/json', 'Token': Token, }, params: { // 确保每次请求都是从后端请求,不使用缓存 t: Math.random(), }, onload: function (resp) { if (resp.status === 200 && resp.readyState === 4) { const response = JSON.parse(resp.response); const { code, data, } = response; if (code === '200010000') { if (data && data.length) { data.map(item => { dataMap[item.id] = item; }); } typeof cb === 'function' && cb(data); } } } }); } } setInterval(() => { const len = $('#_wjpSearch_').length; if (!len) { fetchData((data) => { const len = $('#_wjpSearch_').length; if (data && data.length && !len) { $('<div id="_wjpSearch_" class="el-input el-input--medium el-input--suffix" style="width:400px;"><input type="text" autocomplete="off" placeholder="请输入关键字(可搜索组件里面的内容)" class="el-input__inner"></div>').insertBefore('.topOperate>button') } }) } }, 2000); $(document).on('input', '#_wjpSearch_ input', _.debounce(function (e) { let value = $(e.currentTarget).val().trim().toLowerCase(); const $rows = $('#editableTable .el-table__body-wrapper>.el-table__body>tbody>.el-table__row'); for (let i = 0; i < $rows.length; i++) { const $row = $rows.eq(i); const $children = $row.children('td'); // 倒数第二列肯定为ID,取倒数第二列 let id = $children.eq($children.length - 2).text().trim(); const currentData = dataMap[id]; if (!currentData) { continue; } if (value) { let shouldHidden = true; // 先搜索页面里面的内容 let html, css, js; if (currentData.endType == 2) { html = currentData.moveHtml; css = currentData.moveCss; js = currentData.moveJs; } else { html = currentData.pcHtml; css = currentData.pcCss; js = currentData.pcJs; } html = (html || '').toLowerCase(); css = (css || '').toLowerCase(); js = (js || '').toLowerCase(); if (html.indexOf(value) > -1 || css.indexOf(value) > -1 || js.indexOf(value) > -1) { shouldHidden = false; } // 如果页面里面的内容没有,则搜索当前页面 if (shouldHidden) { const $tds = $row.children('td'); for (let j = 0; j < $tds.length; j++) { const text = $tds.eq(j).text().trim().toLowerCase(); if (text.indexOf(value) > -1) { shouldHidden = false; break; } } } if (shouldHidden) { $row.css('display', 'none'); } else { $row.css('display', ''); } } else { $row.css('display', ''); } } }, 600)) .on('click', '.unsave button', function () { // 等待保存成功后,再重新请求 setTimeout(function () { fetchData(); }, 600); }).on('keydown', '#pane-js,#pane-html,#pane-css', _.debounce(function (e) { let keyCode = e.keyCode || e.which || e.charCode; let ctrlKey = e.ctrlKey || e.metaKey; // 监听ctrl+s按键 if (ctrlKey /* && keyCode === 83 */) { // 等待保存成功后,再重新请求 setTimeout(function () { fetchData(); }, 600); } }, 100)); })(); })();