=0) {
            layer.confirm('发现你可能被问卷星作答次数限制。点击“确定”以尝试绕过该限制。如果没有效果,请尝试更换浏览器、重启路由器(或开关飞行模式)', {
                btn: ['立即清理','取消'], //按钮
                title: 'EasyWJX提示',
            }, function(index){
                deleteAllCookies();
                clearCookie();
                clearStorage();
                layer.close(index)
            }, function(){
                console.log('取消清理cookie');
            });
        }
    }
    // 检查是否需要绕过微信限制
    function checkNeedBypassWechat(){
        if ($(".wxtxt").length >0) {
            layer.confirm('监测到微信限制。是否需要移除限制并查看题目(可以查看题目但无法提交)', {
                btn: ['立即绕过','取消'], //按钮
                title: 'EasyWJX提示',
            }, function(index){
                $("#zhezhao2").remove();
                $("#divContent").removeClass('disabled').removeClass('isblur');
                $("#ctlNext").text('破解后可能无法提交')
                setTimeout(function () {
                    layer.msg('绕过限制后不能提交');
                },500)
                layer.close(index)
            }, function(){
                console.log('取消绕过微信限制');
            });
        }
    }
    // 检测是否需要绕过企业版跳出限制
    function checkNeedBypassEnterprise(interval){
        if ($(".fieldset").css('display') =='none') {
            layer.confirm('监测到疑似问卷星企业版作答限制。是否需要移除限制并继续作答?', {
                btn: ['立即绕过','取消'], //按钮
                title: 'EasyWJX提示',
            }, function(index){
                $('#ValError').css('display','none')
                $('.fieldset').css('display','block')
                layer.close(index)
            }, function(){
                console.log('取消绕过企业版限制');
                clearInterval(interval)
            });
        }
    }
    // 检测是否需要展开分页
    function checkNeedExpandPage() {
        if ($('.fieldset').length>1) {
            layer.confirm('检测到该问卷是分页问卷,请问是否需要自动展开问卷?', {
                btn: ['立即展开','取消'], //按钮
                title: 'EasyWJX提示',
            }, function(index){
                $('.fieldset').css('display','block')
                $('#divSubmit').css('display','block')
                $('#divMultiPage').css('display','none')
                layer.close(index)
            }, function(){
                console.log('取消展开问卷');
            });
        }
    }
    // 将所有在列表中的函数初始化到window全局变量
    function initAllFuncToWindow() {
        if (window.easywjx == undefined) {
            window.easywjx = {}
        }
        // window.easywjx.getToolbox = getToolbox
        for (var i=0; i
            
                
                
            
            
            
                
                
                
            
            
            `+toolbox_ext.join(' ')+`
            
            
                
                
                
                
            
        `
        return toolbox_html
    }
    // 同步Manyinput的内容到真正的input标签
    function syncManyinput() {
        setInterval(function () {
            var all_textCont = document.querySelectorAll('.textCont')
            for (var i=0; i=0) {
                            radios[i].click()
                        }
                    }
                } else {
                    console.log('radio:答案列表中的id和当前获取id不符合,跳过填写')
                }
            }
        }
        input(answer,id) {
            var input = this.ans_ls_html[id].querySelector('.ui-input-text input')
            if (input) {
                if (answer.ques_id==id) {
                    input.value = answer.answer.split('|')[randomNum(0,answer.answer.split('|').length-1)];
                } else {
                    console.log('input:答案列表中的id和当前获取id不符合,跳过填写')
                }
            }
        }
        checkbox(answer,id) {
            var checkbox = this.ans_ls_html[id].querySelectorAll('.ui-checkbox')
            if (checkbox.length!=0){
                if (answer.ques_id==id && answer.kind=='checkbox') {
                    var ans_txt_ls = answer.answer.split('|')
                    for (var i=0; i=0) {
                                checkbox[j].click();
                            }
                        }
                    }
                } else {
                    console.log('checkbox:答案列表中的id和当前获取id不符合,跳过填写')
                }
            }
        }
        manyinput(answer,id,elem) {
            var [ques_ls, original_input_group] = parseManyinputAnswer(this.ans_ls_html[id], elem)
            if (answer.ques_id==id && answer.kind=='manyinput') {
                // 这里开始处理服务器上获取的整体题目,大致思路就是把现有内容replace掉然后就可以拿到两个带括号的答案内容。正确答案后面的括号没有内容,错误答案括号后有正确答案
                var quesandans = answer.answer.split(' 题目ID:')[0];
                for (var ij=0; ij=0){
                                true_ans = ans_res.replace('正确答案: ', '')
                            }
                            // 填入input内,这里可能会产生问题所以加上try
                            try{
                                original_input_group.querySelectorAll('.ui-input-text')[ij].value = true_ans
                                if (elem == '.textCont') {
                                    original_input_group.querySelectorAll('.textCont')[ij].innerText = true_ans //当作多项填空填写
                                } else {
                                    original_input_group.querySelectorAll('.bracket')[ij].querySelector('span .selection span span').innerText = true_ans //当作完形填空填写
                                }
                            }catch{}
                        }
                    }catch{}
                }
            }
        }
    }
    // 填写全部答案
    function writeAllAnswer(answer_ls, writeAnswer_class) {
        var ans_ls_html = document.querySelectorAll('.field.ui-field-contain');
        var writeAnswer = writeAnswer_class
        console.log(answer_ls)
        window.easywjx.answer_ls = answer_ls //test
        for (var i=0; i')
        for (var i=0; i {
            setTimeout(() => {
                resolve()
            }, time * 1000)
        })
    }
    // 通用函数,获取问卷ID
    function getWJID(){
        var localpath = window.location.pathname
        var wj_id = 'none'
        if (localpath.indexOf('/wjx/join')>=0) {
            wj_id = getQueryString('activityid')
        } else {
            wj_id = localpath.replace('vm', '').replace('.aspx', '').replaceAll('/', '')
        }
        return wj_id
    }
    // 通用函数,插入dom
    function insertAfter(newElement,targetElement){
        var parent = targetElement.parentNode;
        if(parent.lastChild == targetElement){
            parent.appendChild(newElement);
        }else{
            parent.insertBefore(newElement,targetElement.nextSibling);
        }
    }
    // 通用函数,转换dom
    function parseDom(arg) {
        var objE = document.createElement("div");
        objE.innerHTML = arg;
        return objE;
    };
    // 通用函数,获取get请求的一个参数
    function getQueryString(name) {
        var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
        var r = window.location.search.substr(1).match(reg);
        if (r != null) return unescape(r[2]); return null;
    }
    //通用函数,复制内容
    function copy_to_clipboard(txt_str){
        const input = document.createElement('input');
        document.body.appendChild(input);
        input.setAttribute('value', txt_str);
        input.select();
        if (document.execCommand('copy')) {
            document.execCommand('copy');
            console.log('复制成功');
            //Alert(500,'复制成功');
        }
        document.body.removeChild(input);
    }
    // 通用函数,清理cookie【方法1,最有效】
    function clearCookie(){
        // 这段代码来自其它脚本,为MIT协议,
        var keys = document.cookie.match(/[^ =;]+(?==)/g);
        if (keys) {
            for (var i = keys.length; i--;) {
                document.cookie = keys[i] + '=0;path=/;expires=' + new Date(0).toUTCString();
                document.cookie = keys[i] + '=0;path=/;domain=' + document.domain + ';expires=' + new Date(0).toUTCString();
                document.cookie = keys[i] + '=0;path=/;domain=ratingdog.cn;expires=' + new Date(0).toUTCString();
            }
        }
        console.log("cookie数据已清除");
        location.reload();
    }
    // 通用函数,清理cookie【方法2】
    function deleteAllCookies() {
        var cookies = document.cookie.split(";");
        console.log(cookies)
        for (var i = 0; i < cookies.length; i++) {
            var cookie = cookies[i];
            var eqPos = cookie.indexOf("=");
            var name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;
            document.cookie = name +"=;";
            //document.cookie = null
        }
        var cookies2 = document.cookie.split(";");
    }
    // 通用函数,清理storage
    function clearStorage() {
        localStorage.clear()
        sessionStorage.clear()
    }
})();