Skip to content

Commit

Permalink
feat: 新增超星支持域名 edu.cn , 修复多个视频播放时,播放完成继续播放的BUG
Browse files Browse the repository at this point in the history
  • Loading branch information
enncy committed Apr 5, 2022
1 parent 628e2a9 commit 959cc9b
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 36 deletions.
1 change: 1 addition & 0 deletions packages/core/src/common/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import { logger } from "../logger";

const supports = [
["**chaoxing.com**", "cx"],
["**edu.cn**", "cx"],
["**zhihuishu.com**", "zhs"],
];

Expand Down
41 changes: 19 additions & 22 deletions packages/core/src/cx/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ import { workOrExam } from "./work";

/** 需切换版本的 url 页面 */
const updateURLs = [
"**chaoxing.com**mooc2=0**",
"**chaoxing.com/mycourse/studentcourse**",
"**chaoxing.com/work/getAllWork**",
"**chaoxing.com/work/doHomeWorkNew**",
"**mooc1.chaoxing.com/exam/test?courseId**",
`**mooc2=0**`,
`**/mycourse/studentcourse**`,
`**/work/getAllWork**`,
`**/work/doHomeWorkNew**`,
`**/exam/test?courseId**`,
];

export const CXScript = defineScript({
Expand Down Expand Up @@ -48,7 +48,7 @@ export const CXScript = defineScript({
},
{
name: "任务切换脚本",
url: "**chaoxing.com/mycourse/studentstudy**",
url: "**/mycourse/studentstudy**",
onload() {
const { restudy } = OCS.setting.cx.video;

Expand Down Expand Up @@ -92,7 +92,7 @@ export const CXScript = defineScript({
},
{
name: "学习脚本",
url: "**chaoxing.com/knowledge/cards**",
url: "**/knowledge/cards**",
async onload(setting = OCS.setting.cx.video) {
await sleep(5000);
await study(setting);
Expand All @@ -113,15 +113,15 @@ export const CXScript = defineScript({
},
{
name: "作业脚本",
url: "**chaoxing.com/mooc2/work/dowork**",
url: "**/mooc2/work/dowork**",
async onload(setting = OCS.setting.cx.work) {
await sleep(5000);
await workOrExam(setting, false);
},
},
{
name: "整卷预览脚本",
url: "**chaoxing.com/exam/test/reVersionTestStartNew**",
url: "**/exam/test/reVersionTestStartNew**",
async onload() {
alert("即将自动切换到整卷预览。。。");
await sleep(3000);
Expand All @@ -131,7 +131,7 @@ export const CXScript = defineScript({
},
{
name: "考试脚本",
url: "**chaoxing.com/mooc2/exam/preview**",
url: "**/mooc2/exam/preview**",
async onload(setting = OCS.setting.cx.exam) {
await sleep(5000);
await workOrExam(setting, true);
Expand All @@ -141,37 +141,34 @@ export const CXScript = defineScript({
panels: [
{
name: "版本切换助手",
url: updateURLs,
url: updateURLs.flat(),

el: () => createNote(`必须切换到最新版本才能使用此脚本`, "3秒后将自动切换..."),
},
{
name: "超星助手",
url: "**chaoxing.com/space/index**",
url: "**/space/index**",

el: () => createNote("提示您:", "请点击任意的课程进入。"),
},
{
name: "学习助手",
url: "**chaoxing.com/mycourse/**pageHeader=1**",

url: "**/mycourse/**pageHeader=1**",
el: () => createNote("提示您:", "请点击任意的章节进入学习。"),
},
{
name: "作业助手",
url: "**chaoxing.com/mycourse/**pageHeader=8**",

url: "**/mycourse/**pageHeader=8**",
el: () => createNote("提示您:", "请点击任意的作业进入。"),
},
{
name: "考试助手",
url: "**chaoxing.com/mycourse/**pageHeader=9**",

url: "**/mycourse/**pageHeader=9**",
el: () => createNote("提示您:", "请点击任意的考试进入。"),
},
{
name: "学习助手",
url: "**chaoxing.com/mycourse/studentstudy**",
url: "**/mycourse/studentstudy**",

el: () => createNote("进入设置面板可以调整学习设置", "5秒后将自动开始..."),
children: [
Expand All @@ -185,7 +182,7 @@ export const CXScript = defineScript({
},
{
name: "作业助手",
url: "**chaoxing.com/mooc2/work/dowork**",
url: "**/mooc2/work/dowork**",
el: () => createNote("进入设置面板可以调整作业设置", "5秒后将自动开始..."),
children: [
{
Expand All @@ -198,7 +195,7 @@ export const CXScript = defineScript({
},
{
name: "考试助手",
url: "**chaoxing.com/mooc2/exam/preview**",
url: "**/mooc2/exam/preview**",
el: () => createNote("进入设置面板可以调整考试设置", "5秒后将自动开始..."),
children: [
{
Expand All @@ -215,7 +212,7 @@ export const CXScript = defineScript({
},
{
name: "考试助手",
url: "**chaoxing.com/exam/test/reVersionTestStartNew**",
url: "**/exam/test/reVersionTestStartNew**",
el: () => createNote("注意! 即将切换到整卷预览页面, 然后才可以自动考试!"),
},
],
Expand Down
32 changes: 18 additions & 14 deletions packages/core/src/cx/study.ts
Original file line number Diff line number Diff line change
Expand Up @@ -99,20 +99,24 @@ function mediaTask(setting: ScriptSettings["cx"]["video"], media: HTMLMediaEleme
media.muted = mute;
media.play();
media.playbackRate = playbackRate;
media.addEventListener(
"pause",
debounce(function () {
var isPlaying =
media.currentTime > 0 &&
!media.paused &&
!media.ended &&
media.readyState > media.HAVE_CURRENT_DATA;

if (!isPlaying) {
media.play();
}
}, 1000)
);

var playFunction = debounce(function () {
var isPlaying =
media.currentTime > 0 &&
!media.paused &&
!media.ended &&
media.readyState > media.HAVE_CURRENT_DATA;

if (!isPlaying) {
media.play();
} else {
logger("info", "视频播放完毕");
// @ts-ignore
media.removeEventListener("pause", playFunction);
}
}, 1000);

media.addEventListener("pause", playFunction);

media.addEventListener("ended", () => resolve());
}
Expand Down

0 comments on commit 959cc9b

Please sign in to comment.