Skip to content

Commit

Permalink
feat: exam paper reverse
Browse files Browse the repository at this point in the history
  • Loading branch information
Xu22Web committed Feb 14, 2023
1 parent 24d63d5 commit c42517f
Show file tree
Hide file tree
Showing 12 changed files with 83 additions and 66 deletions.
2 changes: 1 addition & 1 deletion cache.json

Large diffs are not rendered by default.

11 changes: 7 additions & 4 deletions src/component/Panel.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,19 +52,22 @@ function Panel({ login }: { login: boolean }) {
const examLabels = [
{
title: '随机作答',
tip: '无答案时, 随机选择或者填入答案, 不保证正确!',
tip: '无答案时, 随机选择或者填入答案, 不保证正确',
type: SettingType.RANDOM_EXAM,
},
{
title: '专项逆序',
tip: '专项答题时, 逆序作答',
type: SettingType.PAPER_REVERSE,
},
];
// 推送设置标签
const pushLabels = [
{
title: '远程推送',
tip: '利用 pushplus 推送, 将登录二维码直接推送到微信公众号',
type: SettingType.REMOTE_PUSH,
handler(){

}
handler() {},
},
];
// 处理设置变化
Expand Down
7 changes: 1 addition & 6 deletions src/config/task.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
/* task·配置 */
/**
* @description 专项答题开启逆序答题: false: 顺序答题; true: 逆序答题
*/
const examPaperReverse = true;
/**
* @description 单次最大新闻数
*/
Expand All @@ -25,10 +21,9 @@ const autoRefreshQRCodeInterval = 100000;
const muted = true;

export {
examPaperReverse,
maxNewsNum,
maxVideoNum,
maxRefreshCount,
autoRefreshQRCodeInterval,
muted
muted,
};
2 changes: 1 addition & 1 deletion src/config/version.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/**
* @description 版本号
*/
const version = '1.5.5';
const version = '1.5.7';

export { version };
11 changes: 6 additions & 5 deletions src/controller/exam.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { getAnswer, saveAnswer } from '../api/answer';
import { getExamPaper } from '../api/data';
import { examPaperReverse } from '../config/task';
import URL_CONFIG from '../config/url';
import { mainStore } from '../store';
import { SettingType, TaskType } from '../types';
Expand Down Expand Up @@ -791,9 +790,11 @@ async function findExamPaper() {
log('正在寻找未完成的专项练习...');
// 获取总页数
const total = await initExam();
// 专项逆序
const paperReverse = mainStore.settings[SettingType.PAPER_REVERSE];
// 当前页数
let current = examPaperReverse ? total : 1;
if (examPaperReverse) {
let current = paperReverse ? total : 1;
if (paperReverse) {
log('专项练习, 开启逆序模式, 从最早的题目开始答题');
} else {
log('专项练习, 开启顺序模式, 从最近的题目开始答题');
Expand All @@ -805,7 +806,7 @@ async function findExamPaper() {
if (data) {
// 获取专项练习的列表
const examPapers = data.list;
if (examPaperReverse) {
if (paperReverse) {
// 若开启逆序答题, 则反转专项练习列表
examPapers.reverse();
}
Expand All @@ -817,7 +818,7 @@ async function findExamPaper() {
}
}
// 增加页码 (若开启逆序翻页, 则减少页码)
current += examPaperReverse ? -1 : 1;
current += paperReverse ? -1 : 1;
// 等待
await sleep(3000);
} else {
Expand Down
26 changes: 14 additions & 12 deletions src/controller/frame.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@ import { generateMix } from '../utils/random';
async function openFrame(url: string, title?: string) {
const conn = $$('.egg_frame_wrap')[0];
if (conn) {
// 标题
const frameTitle = $$('.egg_frame_title', conn)[0];
// 窗口
const frame = $$<HTMLIFrameElement>('.egg_frame', conn)[0];
// id
Expand Down Expand Up @@ -41,17 +39,17 @@ async function openFrame(url: string, title?: string) {
function closeFrame() {
const conn = $$('.egg_frame_wrap')[0];
const frameBtn = $$('.egg_frame_show_btn')[0];
mainStore.frameShow.value = false;
if (conn && frameBtn) {
// 标题
const frameTitle = $$('.egg_frame_title', conn)[0];
// 窗口
const frame = $$<HTMLIFrameElement>('.egg_frame', conn)[0];
// 窗口显示
mainStore.frameShow.value = false;
// 关闭
mainStore.closed = true;
// 标题
mainStore.frameTile.value = '';
frame.src = '';
// src
frame.src = 'about:blank';
}
}

Expand All @@ -61,14 +59,18 @@ function closeFrame() {
* @returns
*/
function waitFrameClose(id: string) {
// 监听关闭
window.addEventListener('message', (msg: MessageEvent) => {
const { data } = msg;
if (data.id === id && data.closed) {
// 关闭窗口
closeFrame();
}
});
return new Promise((resolve) => {
window.addEventListener('message', (msg: MessageEvent) => {
const { data } = msg;
if (data.id === id && data.closed) {
resolve(true);
}
});
// 关闭
setInterval(() => {
// 窗口关闭
if (mainStore.closed) {
resolve(true);
}
Expand Down
66 changes: 38 additions & 28 deletions src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,9 @@ window.addEventListener('load', async () => {
const videos = await $_('video', undefined, 10000);
// 视频
const video = videos[0];
const pauseBtn = $$('.prism-play-btn')[0];
if (video && pauseBtn) {
// 播放按键
const playBtn = $$('.prism-play-btn')[0];
if (video && playBtn) {
// 设置是否静音
video.muted = muted;
log('正在尝试播放视频...');
Expand All @@ -95,7 +96,7 @@ window.addEventListener('load', async () => {
video.play();
if (video.paused) {
// 尝试点击播放按钮播放
pauseBtn.click();
playBtn.click();
}
}
// 已经播放
Expand Down Expand Up @@ -529,7 +530,7 @@ async function start() {
/**
* @description 版本号
*/
const version = '1.5.5';
const version = '1.5.7';


/**
Expand Down Expand Up @@ -598,10 +599,6 @@ const URL_CONFIG = {


/* task·配置 */
/**
* @description 专项答题开启逆序答题: false: 顺序答题; true: 逆序答题
*/
const examPaperReverse = true;
/**
* @description 单次最大新闻数
*/
Expand Down Expand Up @@ -990,7 +987,8 @@ var SettingType;
SettingType[SettingType["SILENT_RUN"] = 6] = "SILENT_RUN";
SettingType[SettingType["SCHEDULE_RUN"] = 7] = "SCHEDULE_RUN";
SettingType[SettingType["RANDOM_EXAM"] = 8] = "RANDOM_EXAM";
SettingType[SettingType["REMOTE_PUSH"] = 9] = "REMOTE_PUSH";
SettingType[SettingType["PAPER_REVERSE"] = 9] = "PAPER_REVERSE";
SettingType[SettingType["REMOTE_PUSH"] = 10] = "REMOTE_PUSH";
})(SettingType || (SettingType = {}));
/**
* @description 进度类型
Expand Down Expand Up @@ -2285,6 +2283,9 @@ function isNow({ hour, minute }) {


/* 变量 */
/**
* @description 默认设置
*/
const defaultSettings = [
true,
true,
Expand All @@ -2296,6 +2297,7 @@ const defaultSettings = [
false,
false,
false,
false,
];
const mainStore = {
tasks: [
Expand Down Expand Up @@ -2972,18 +2974,22 @@ function Panel({ login }) {
const examLabels = [
{
title: '随机作答',
tip: '无答案时, 随机选择或者填入答案, 不保证正确!',
tip: '无答案时, 随机选择或者填入答案, 不保证正确',
type: SettingType.RANDOM_EXAM,
},
{
title: '专项逆序',
tip: '专项答题时, 逆序作答',
type: SettingType.PAPER_REVERSE,
},
];
// 推送设置标签
const pushLabels = [
{
title: '远程推送',
tip: '利用 pushplus 推送, 将登录二维码直接推送到微信公众号',
type: SettingType.REMOTE_PUSH,
handler() {
}
handler() { },
},
];
// 处理设置变化
Expand Down Expand Up @@ -3333,8 +3339,6 @@ function createTip(text, delay = 2, callback) {
async function openFrame(url, title) {
const conn = $$('.egg_frame_wrap')[0];
if (conn) {
// 标题
const frameTitle = $$('.egg_frame_title', conn)[0];
// 窗口
const frame = $$('.egg_frame', conn)[0];
// id
Expand All @@ -3361,17 +3365,17 @@ async function openFrame(url, title) {
function closeFrame() {
const conn = $$('.egg_frame_wrap')[0];
const frameBtn = $$('.egg_frame_show_btn')[0];
mainStore.frameShow.value = false;
if (conn && frameBtn) {
// 标题
const frameTitle = $$('.egg_frame_title', conn)[0];
// 窗口
const frame = $$('.egg_frame', conn)[0];
// 窗口显示
mainStore.frameShow.value = false;
// 关闭
mainStore.closed = true;
// 标题
mainStore.frameTile.value = '';
frame.src = '';
// src
frame.src = 'about:blank';
}
}
/**
Expand All @@ -3380,14 +3384,18 @@ function closeFrame() {
* @returns
*/
function waitFrameClose(id) {
// 监听关闭
window.addEventListener('message', (msg) => {
const { data } = msg;
if (data.id === id && data.closed) {
// 关闭窗口
closeFrame();
}
});
return new Promise((resolve) => {
window.addEventListener('message', (msg) => {
const { data } = msg;
if (data.id === id && data.closed) {
resolve(true);
}
});
// 关闭
setInterval(() => {
// 窗口关闭
if (mainStore.closed) {
resolve(true);
}
Expand Down Expand Up @@ -4730,9 +4738,11 @@ async function findExamPaper() {
log('正在寻找未完成的专项练习...');
// 获取总页数
const total = await initExam();
// 专项逆序
const paperReverse = mainStore.settings[SettingType.PAPER_REVERSE];
// 当前页数
let current = examPaperReverse ? total : 1;
if (examPaperReverse) {
let current = paperReverse ? total : 1;
if (paperReverse) {
log('专项练习, 开启逆序模式, 从最早的题目开始答题');
}
else {
Expand All @@ -4745,7 +4755,7 @@ async function findExamPaper() {
if (data) {
// 获取专项练习的列表
const examPapers = data.list;
if (examPaperReverse) {
if (paperReverse) {
// 若开启逆序答题, 则反转专项练习列表
examPapers.reverse();
}
Expand All @@ -4757,7 +4767,7 @@ async function findExamPaper() {
}
}
// 增加页码 (若开启逆序翻页, 则减少页码)
current += examPaperReverse ? -1 : 1;
current += paperReverse ? -1 : 1;
// 等待
await sleep(3000);
}
Expand Down
2 changes: 1 addition & 1 deletion src/index.min.js

Large diffs are not rendered by default.

11 changes: 6 additions & 5 deletions src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ import { ProgressType, SettingType, TaskType } from './types';
import { hasMobile, studyPauseLock } from './utils/utils';
import { getHighlightHTML, getProgressHTML, pushModal } from './utils/push';
import { log } from './utils/log';
import { $$, $_, createElementNode, createTextNode } from './utils/element';
import { watchEffectRef } from './utils/composition';
import { $$, $_, createElementNode } from './utils/element';
import {} from './utils/composition';
import {} from './utils/random';
import {} from './utils/time';
import { defaultSettings, mainStore } from './store';
Expand Down Expand Up @@ -128,8 +128,9 @@ window.addEventListener('load', async () => {
const videos = await $_('video', undefined, 10000);
// 视频
const video = <HTMLVideoElement | undefined>videos[0];
const pauseBtn = $$('.prism-play-btn')[0];
if (video && pauseBtn) {
// 播放按键
const playBtn = $$('.prism-play-btn')[0];
if (video && playBtn) {
// 设置是否静音
video.muted = muted;
log('正在尝试播放视频...');
Expand All @@ -147,7 +148,7 @@ window.addEventListener('load', async () => {
video.play();
if (video.paused) {
// 尝试点击播放按钮播放
pauseBtn.click();
playBtn.click();
}
}
// 已经播放
Expand Down
4 changes: 4 additions & 0 deletions src/store/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ import {
import { getCookie } from '../utils/utils';
import { Ref, ref } from '../utils/composition';

/**
* @description 默认设置
*/
const defaultSettings: Settings = [
true,
true,
Expand All @@ -22,6 +25,7 @@ const defaultSettings: Settings = [
false,
false,
false,
false,
];

const mainStore: {
Expand Down
2 changes: 2 additions & 0 deletions src/types/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ enum SettingType {
SILENT_RUN,
SCHEDULE_RUN,
RANDOM_EXAM,
PAPER_REVERSE,
REMOTE_PUSH,
}

Expand All @@ -54,6 +55,7 @@ type Settings = [
boolean,
boolean,
boolean,
boolean,
boolean
];

Expand Down
Loading

0 comments on commit c42517f

Please sign in to comment.