您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
方便使用一亩三分地
- // ==UserScript==
- // @name 1p3a_script
- // @namespace https://github.com/eagleoflqj/p1a3_script
- // @version 0.7.0.74
- // @description 方便使用一亩三分地
- // @author Liumeo
- // @match https://www.1point3acres.com/bbs/*
- // @grant GM_setValue
- // @grant GM_getValue
- // @grant GM_deleteValue
- // @require https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js
- // @require https://cdn.bootcss.com/jquery-cookie/1.4.1/jquery.cookie.js
- // @require https://gf.qytechs.cn/scripts/387976-1p3a-qa/code/1p3a_qa.js?version=743574
- // ==/UserScript==
- (function () {
- 'use strict';
- const jq = jQuery.noConflict();
- const waitUntilElementLoaded = function (element, retryTimes = 20) { // 异步等待元素出现并返回
- return new Promise((resolve, reject) => {
- const check = (ttl) => {
- const e = jq(element);
- if (!e.length && ttl) { // 未加载且未超时
- setTimeout(check, 1000, ttl - 1);
- } else {
- resolve(e); // 已加载或超时,返回jQuery对象
- }
- };
- check(retryTimes);
- });
- };
- (() => {
- const search_ids = ['planyr', 'planterm', 'planmajor', 'plandegree', 'planfin', 'result', 'country']; // 过滤下拉菜单id
- const replaceCookie = (c) => jq.cookie(c) && (GM_setValue(c, jq.cookie(c)) || 1) && jq.removeCookie(c); // 替换cookie为本地存储
- replaceCookie('searchoption');
- search_ids.forEach(replaceCookie);
- })();
- // 针对不同页面的操作
- const url = window.location.href;
- if (url === 'https://www.1point3acres.com/bbs/' || url.search('forum.php') > 0) { // 可签到、答题的页面
- // 自动签到
- const sign = jq('.wp a:contains("签到领奖")')[0];
- sign && sign.onclick && (sign.onclick() || 1) &&
- (async () => { // 点击签到领奖
- const qiandao = await waitUntilElementLoaded('#qiandao');
- if (!qiandao.length) {
- return;
- }
- const faces = qiandao.find('.qdsmilea>li'); // 所有表情
- const selected_face = faces[Math.floor(Math.random() * faces.length)]; // 随机选择表情
- selected_face.onclick();
- const todaysay = qiandao.find('#todaysay'); // 文字框
- todaysay.val('今天把论坛帖子介绍给好基友了~'); // 快速签到的第一句
- const button = qiandao.find('button')[0];
- button.onclick();
- })(); // 保证签到对话框加载
- // 签到后自动答题
- const dayquestion = jq('#um img[src*=ahome_dayquestion]').parent()[0];
- !sign && dayquestion && dayquestion.onclick && (dayquestion.onclick() || 1) &&
- (async () => {
- const fwin_pop = await waitUntilElementLoaded('#fwin_pop form');
- const question = fwin_pop.find('font:contains(【题目】)').text().slice(5);
- const prompt = '尚未收录此题答案。如果您知道答案,请将\n"\n' + question + '\n{您的答案}\n"\n以issue形式提交至https://github.com/eagleoflqj/p1a3_script/issues';
- const answer = QA[question];
- if (!answer) { // 题库不含此题
- console.log(prompt);
- return;
- }
- // 自动回答
- const option_list = [];
- const answer_list = typeof answer === 'string' ? [answer] : answer;
- // 答案和选项取交集
- fwin_pop.find('.qs_option').toArray()
- .forEach(option => answer_list
- .filter(answer => option.textContent.trim() === answer)
- .forEach(() => option_list.push(option)));
- if (!option_list.length) {
- console.log(prompt);
- return;
- }
- if (option_list.length > 1) {
- alert('[Warning] 多个选项与题库答案匹配');
- return;
- }
- option_list[0].onclick();
- jq('#seccodeverify_SA00')[0].focus();
- const button = fwin_pop.find('button')[0];
- // button.click(); // 提交答案
- console.log(question + '\n答案为:' + answer);
- })(); // 保证答题对话框加载
- }
- if (url.search('thread') > 0) { // 详情页
- // 自动查看学校、三维
- const elements = jq('.typeoption a:contains(点击查看)');
- elements.toArray().forEach(element => element.onclick());
- } else if (url.search('forum-82-1') > 0 || url.search('forum.php\\?mod=forumdisplay&fid=82') > 0) { // 结果汇报列表页
- // 按上次的筛选条件过滤录取结果
- const search_ids = ['planyr', 'planterm', 'planmajor', 'plandegree', 'planfin', 'result', 'country']; // 过滤下拉菜单id
- const search_button = jq('#searhsort > div.ptm.cl > button'); // 搜索按钮
- if (GM_getValue('searchoption')) { // 上次过滤了
- search_ids.forEach(id => jq('#' + id).val(GM_getValue(id)));// 自动填充下拉菜单
- if (url.search('filter') < 0) { // 当前页面没有过滤
- search_button.click(); // 自动过滤
- return;
- }
- }
- search_button.click(() => { // 如果不全是默认值,记下当前选项
- search_ids.some(id => jq('#' + id).val() !== '0') && GM_setValue('searchoption', 1);
- GM_getValue('searchoption') && search_ids.forEach(id => GM_setValue(id, jq('#' + id).val()));
- });
- // 添加重置按钮
- const reset_button = jq('<button type="button" class="pn pnc"><em>重置</em></button>');
- reset_button.click(() => { // 重置、清存储
- GM_deleteValue('searchoption');
- search_ids.forEach(id => {
- jq('#' + id).val('0');
- GM_deleteValue(id);
- });
- });
- search_button.after(reset_button);
- // 折叠占空间的提示
- const img = jq('#forum_rules_82_img')[0];
- img && img.src.search('collapsed_no') > 0 && img.onclick();
- }
- })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址