// ==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 *
// @downloadURL https://update.greasyfork.icu/scripts/452668/%E6%99%BA%E6%85%A7%E6%A0%91%E4%BA%92%E5%8A%A8%E5%88%86Helper.user.js
// @updateURL https://update.greasyfork.icu/scripts/452668/%E6%99%BA%E6%85%A7%E6%A0%91%E4%BA%92%E5%8A%A8%E5%88%86Helper.meta.js
// ==/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 += '
\n';
IdSentence = "DivSentence";
}
ans += '
词语
\n'
for (var i = 0; i < Data.word.length; i++) {
IdWord += i.toString();
ans += '
\n';
IdWord = "DivWord";
}
for (var i = 0; i < answer.length; i++) {
IdAnswer += i.toString();
ans1 += '
\n';
IdAnswer = "DivAnswer";
}
ans1+="
"
text = document.querySelector('textarea');//获取输入框
$(
'
' +
'
' +
'
句子
' + ans +
''
).appendTo('body');
$(
'
' +
'
' +
'
常用水词
' + ans1 +
''
).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=====================");
// $(
// '
' +
// '
' +
// '
答案:+'+Ans+'
'
// ).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);
}