智慧树互动分Helper

让你愉快的水问答分

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         智慧树互动分Helper
// @namespace   无名
// @version      1.1.4
// @description  让你愉快的水问答分
// @author       洛白
// @match        https://qah5.zhihuishu.com/*
// @connect      cx.icodef.com
// @connect      v.api.aa1.cn
// @run-at       document-end
// @grant        unsafeWindow
// @grant        GM_xmlhttpRequest
// @grant        GM_setClipboard
// @grant        GM_setValue
// @grant        GM_getValue
// @license      MIT
// @connect    hike-ai-course.zhihuishu.com
// @connect    *

// ==/UserScript==
const input = document.createEvent("HTMLEvents");
input.initEvent("input", true, false);
const e = document.createEvent("MouseEvents");
e.initEvent("click", true, true);
var _self = unsafeWindow;
var url = location.pathname;
var $ = _self.jQuery;
var xhr = _self.XMLHttpRequest;
var json1 = {};
var Ans = '';
var l = 0;
let ComentsArray = [];
var Data = 0;
var text = 0;
var USE = 0;//Data 是否赋值
let answer=["我认为","我觉得","我认为主要有以下几点","就一般普遍性而言","应该是可以的把","从我个人而言,我更加偏向于","以我拙见,我认为有以下几个理由:"]
_self.XMLHttpRequest = function () {//先设置请求
    var ajax = new xhr();
    ajax.onload = function (e) {
        Ans = ''
        console.log(this.responseURL);
        if (this.status != 200 || !this.responseURL.match(/getAnswerInInfoOrderByTime/)) return;
        var obj = JSON.parse(this.responseText);
        var conments = obj.rt.answerInfos;
        l = conments.length;
        for (var i = 0; i < conments.length; i++) {
            ComentsArray.push(conments[i].answerContent);
        }
        GM_xmlhttpRequest({
            headers: { "Content-Type": "application/json;charset=UTF-8" },
            method: 'POST',
            url: 'http://127.0.0.1:5000/print',
            dataType: "json",
            data: JSON.stringify(obj.rt.answerInfos),
            onload: function (xhr) {
                console.log('ok');
                console.log(xhr.response);
                var dataAt = xhr.response.replace(/(\r\n)|(\n)/g, '\\n');
                Data = JSON.parse(dataAt);
                USE = 1;
                dataStr = dataAt;
                var ans = "",ans1="";
                var IdSentence = "DivSentence";
                var IdWord = "DivWord";
                var IdAnswer = "DivAnswer";
                for (var i = 0; i < Data.sentence.length; i++) {
                    IdSentence += i.toString();
                    ans += '<div id=';
                    ans += IdSentence + " >";
                    ans += "【"+Data.sentence[i][0] + "  " + (Data.sentence[i][1]).toString()+"】";
                    ans += '</div>\n';
                    IdSentence = "DivSentence";
                }
                ans += '<h2 text-align: center;>词语</h2>\n'
                for (var i = 0; i < Data.word.length; i++) {
                    IdWord += i.toString();
                    ans += '<div id=';
                    ans += IdWord + " >";
                    ans += "【"+Data.word[i][0] + "  " + (Data.word[i][1]).toString()+"】";
                    ans += '</div>\n';
                    IdWord = "DivWord";
                }
                for (var i = 0; i < answer.length; i++) {
                    IdAnswer += i.toString();
                    ans1 += '<div id=';
                    ans1 += IdAnswer + " >";
                    ans1 += "【"+answer[i]+"】";
                    ans1 += '</div>\n';
                    IdAnswer = "DivAnswer";
                }
                ans1+="</div>"
                text = document.querySelector('textarea');//获取输入框
                $(
                    '<div style="border: 4px dashed rgb(217 75 75); width: 330px; height:750px;position: fixed; top: 0; left: 0; z-index: 99999; background-color: rgb(0 0 0 / 70%);color:rgb(255 255 255);overflow-y: auto;">' +
                    '<span style="font-size: 20px;"></span>' +
                    '<div style="font-size: medium;"><h2 text-align: center;>句子</h2> ' + ans +
                    '</div>'
                ).appendTo('body');
                $(
                    '<div style="border: 4px dashed rgb(217 75 75); width: 330px;height:750px; position: fixed; top: 0; right: 0; z-index: 99999; background-color:rgb(0 0 0 / 70%);color:rgb(255 255 255);overflow-y: auto;">' +
                    '<span style="font-size: medium;"></span>' +
                    '<div style="font-size: medium;"><h2 text-align: center;>常用水词</h2>' + ans1 +
                    '</div>'
                ).appendTo('body');
                //$('body {-webkit-user-select: true;-moz-user-select: true;-ms-user-select: true;user-select: true;}').appendTo('head');
                if(Data.sentence[Data.sentence.length - 1][0]!=null)
              { text.value = Data.sentence[Data.sentence.length - 1][0];}
                //console.log(Data.word.length);
                for (var i1 = 0; i1 < Data.sentence.length; i1++) {
                    //   console.log(type(i1));
                    (function (i1) {
                        $("#DivSentence" + i1.toString()).on("click", function () {
                           // console.log(i1.toString());
                           text.innerText = Data.sentence[i1][0];
                           text.value = Data.sentence[i1][0];
                        });
                    })(i1)
                }
                for (var i2 = 0; i2 < Data.word.length; i2++) {
                    console.log($("#DivWord" + i2.toString()));
                   (function (i2) {
                        $("#DivWord" + i2.toString()).on("click", function () {
                           text.innerText =text.value+ Data.word[i2][0];
                           text.value =text.value+ Data.word[i2][0];
                        });
                    })(i2)
                }
                for (var i2 = 0; i2 < answer.length; i2++) {
                    console.log($("#DivAnswer" + i2.toString()));
                   (function (i2) {
                        $("#DivAnswer" + i2.toString()).on("click", function () {
                           text.innerText =answer[i2]+text.value;
                           text.value =answer[i2]+text.value;
                        });
                    })(i2)
                }
                text.value = Data.sentence[Data.sentence.length - 1][0];
            }
        });
        console.log("======================ANS=====================");

        $('#app > div > div.my-answer-btn.tool-show').click();
        setTimeout(detail, 100);
        console.log("======================ANS=====================");

        //     $(
        //      '<div style="border: 2px dashed rgb(0, 85, 68); width: 330px; position: fixed; top: 0; left: 0; z-index: 99999; background-color: rgba(70, 196, 38, 0.6); overflow: auto;">' +
        //   '<span style="font-size: medium;"></span>' +
        //   '<div style="font-size: medium;">答案:+'+Ans+'</div>'
        // ).appendTo('body');
    };
    return ajax;
};

async function detail() {
    const btn = document.querySelector('.my-answer-btn');//我来回答
    if (btn == null) return//如果没有回答按钮
    btn.dispatchEvent(e)//向一个指定的事件目标派发一个事件,  并以合适的顺序同步调用目标元素相关的事件处理函数。标准事件处理规则(包括事件捕获和可选的冒泡过程)同样适用于通过手动的使用dispatchEvent()方法派发的事件。
    setTimeout(() => {
        const text = document.querySelector('textarea')//获取输入框
        if (USE) { }


        const dialog = document.querySelector('.header-title')
        if (!text) return;
        text.oncut = "return true"
        text.onpaste = "return true"
        text.oncopy = "return true"
        // Participles();
        text.dispatchEvent(input)
        const btn = document.querySelector('div.up-btn.set-btn')
        if (btn == null) return
        $('#app > div > div.questionDialog > div > div > div.el-dialog__body > div > div.dialog-bottom.clearfix > div').click();
        console.log(btn);
        btn.click();
        //dialog.innerHTML += Render()
        //  binding()
    }, 200)
    setTimeout(function () {
    }, 1000);
}