RAP2接口文档注释纵向粘贴

// ==UserScript==
// @name         RAP2纵向粘贴
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        https://rap2.amarcredit/repository/editor?id=*
// @icon         data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAELElEQVR4Xu2aTVIaQRTH/w8UGTfJDeINwg2Cu8BGOEHwBOouYqqCVRGzCzmB5ASSDbgTTxA9geYGZkMjxnmpBoYaiWBP9/QMAqyssvvNe795n91DWPAfLbj9sAIgW+HX6z1xDqJMKICZLzspZ7NdodtQ5PmEhA4gdOM9ZS1BCBWANeMtQggNgHXjLUEIBUBkxluAYAwgcuNDhmAMIFfunBJRIezsrCKPmRut6npRZe2kNUYA8mVxAkLJRAHjvYx6s+ps68rRBjATxo/CQR+CFoCZMt4QQmAAM2m8AYRAAN5/EtkE8ykz2qDEBRNf6sZemPuIKQN23xEh6xIVz744bVX5GgBw7hfOQJsYbQmldexcqD7YZF1uX/SNZUKWgKxflkvYjBTAuCEeEFDisnm09tPEUG9v/uBui/GQBSgzbvC4/NgB+BVqHjmBPGwSrPyBYFWQSwBxh8DSA3wEliGwzAHLJLisAqrla9q6ZRl86X3A+49ig5JUIOZXWh5BqKjsY8YfQjLbrKaUZ5RAMToYhh7PAtMU88pg7qC7C+YdIr4CaEvFGI01v8HJQhDj5TMiAiDqBHwA+BZMewyUiPBOw8gJW/iqs+pkdS5OogFQFtdE2Bhpz+gfYTFQI4JeWAyFMfCjdeRoH8tZByDjP5HE9f9TI9fEqnPo9ESFiHZ0vIFBe62jdE1nr7fHOoDc/l2BEu7pU0rKU12RcrbTf7uZBHMNoLcqxshkB06UWsdrDZX109bYB1Du1Ka+Yd+d3zBZVqaHBV+BV0pBk90kCNYB5MudX8/fEsvkuLIpjepftNyL+lPVghkXIpUu6CS7+AAoNzGDCtGsOnWp7LDkyr/fDBOmUbKLBYA8nQnSN/SVZFSaVefQUzhfFrIJuvHAmMb8+H6rIQDGIQifAyvNqHdS6b0wXT0WD5Axq93wWPogIloPCPzq/+sWRsnRWNQEAVZDQOYActEw6/b4lt3kdhg1/ykGVgHIYShf7mVAf2VZU2pyJr5ppt1mNf09bE+wDkAqLGu70+tKTzAbgAyvwmPxAP9DcwfeVGjwHkNOjpF4wGMI3V0CfzNAAGbcEJLFMNrhyAFIw+WABHLrpskx6E1w7CHgV2CQHB/kNNdvdbV/jG2TLjEWD/CMHQ4+bfMKEdEnMrpngs+93TCSo7yWF6vpYtD2OVYPeBwSoqI1N/iFMF+6LhXPvjo3z0H3/j8zAKRC+bIomZ4TvvjvA2RyZDy0dSvEiwfgdY7r90IrOc4FgFH7fN+tDe4T1H9zA8AzuX8iFOBQZe4AeMkRhBMVP5hLAAMIaslxbgFICINbJm5M6xznGoCvQjx5byD/P/cAvDyQm3DjtDAAJiVHqwBUsnDUa8aT48IB8CqEd/C6kABGnWOv2+AEKtY+l4/avXWeJw9ZgpwJBBqHdRSa9T3/ANL7/1+NirRZAAAAAElFTkSuQmCC
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // Your code here...
         const setValue=(es,json,i)=>{
                if(Object.keys(json).length<1){
                    console.log("数据已使用完");
                    return;
                }
                if(i>=es.length){
                    console.log("字段已遍历完");
                    return;
                }
                let key=es[i].children[0].children[1].children[0].value || "";
                es[i].children[0].children[6].children[0].focus();
                if(key.length>0&&json[key.trim()]!=null){
                    es[i].children[0].children[6].children[0].value=json[key.trim()];
                    es[i].children[0].children[6].children[0].onkeyup=(event)=>{
                        if(event.code === "Space"){
                            event.target.onkeyup=null;
                            setValue(es,json,++i)
                        }
                    }
                    console.log("获取到key="+key+",设置值="+json[key.trim()]);
                    delete json[key.trim()]
                }else{
                    console.log("获取到key="+key+",没找到内容,当前位置"+i);
                    setValue(es,json,++i)
                }
            }
            const getJSONObject=(string)=>{
                let lines = string.trim().split("\n");
                let json={};
                lines.forEach(e=>{
                    let a2=e.trim().split("\t");
                    json[a2[0].trim()]=a2[1];
                })
                return json;
            }

            const paste=(event)=>{
                event.preventDefault();
                let text="";
                if (!event || !event.clipboardData) return;
                let pText = event.clipboardData.getData('text/plain');
                if (pText) {//有文本内容的时候才是true   注意:空字符串''是false
                    text=pText;
                } else {
                    console.log("没有在剪切板里找到数据");
                }
                let json = getJSONObject(text.trim());
                let nowElement=event.target;
                let row=nowElement.parentElement.parentElement.parentElement;
                let list=nowElement.parentElement.parentElement.parentElement.parentElement.children;
                let index=0;
                for(let i=0;i<list.length;i++){
                    if(row==list[i]){
                        index=i;
                        break;
                    }
                }
                setValue(list,json,index);
            }
            //超常模式
            const cheat=()=>{
                let desc=document.getElementsByClassName("td payload desc");
                for(let a=0;a<desc.length;a++){
                    desc[a].addEventListener('paste',paste);
                }
            }

            //正常模式
            const cancel=()=>{
                let desc=document.getElementsByClassName("td payload desc");
                for(let a=0;a<desc.length;a++){
                    desc[a].removeEventListener('paste',paste);
                }
            }
            let button=document.createElement("button");
            button.className="MuiButtonBase-root MuiButton-root MuiButton-contained";
            button.innerText="正常模式";
            button.style.cssText="position: fixed;z-index: 10000;top: 10px;right: 50px;";
            button.onclick=(event)=>{
                if(event.target.innerText==="正常模式"){
                    event.target.innerText="超常模式";
                    cheat();
                }else{
                    event.target.innerText="正常模式";
                    cancel();
                }
            }
            document.body.appendChild(button);


})();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值