超星慕课小工具
首页
  • 简介
  • 打包版浏览器(小白看我)
  • FireFox 扩展
  • Chrome 扩展
  • Tampermonkey 脚本
  • 常见问题【使用必看】
  • 功能说明
  • 配置说明
开发文档
免责声明
  • 简体中文
  • English
GitHub
首页
  • 简介
  • 打包版浏览器(小白看我)
  • FireFox 扩展
  • Chrome 扩展
  • Tampermonkey 脚本
  • 常见问题【使用必看】
  • 功能说明
  • 配置说明
开发文档
免责声明
  • 简体中文
  • English
GitHub
  • 开发文档

    • 开始
    • 系统组件
    • 平台开发
    • 题库和答题功能
    • 通用工具

为了方便开发,抽象了平台的流程,只需要专注于功能的实现

开始

创建新的平台应该遵循现有规则,在mooc文件夹下创建以平台为命名规则的文件夹

且有文件mooc/[platform]/platform.ts,实现MoocFactory接口的类,用于通过页面信息来创建对应的具体Mooc对象,如果不符合规则返回null,对应构建实例(mooc/[platform]/platform.ts)生命周期

需要在/build/cxmooc-tools/manifest.json文件和/src/config.ts中添加对应的URL规则

如果你需要开发油猴脚本,那么你需要在/src/tampermonkey目录中添加对应的油猴文件,且在webpack.tampermonkey.js和internal/pack-crx.ts:43中添加对应配置,具体请参考现有平台

实现Mooc接口

具体请看已有平台

接口定义

// 事件
export type MoocEvent = "complete" | "reload" | "error" | "taskComplete";

// 单个Mooc任务,可能会被抛弃
export interface Mooc {
    Init(): any
}

// Mooc任务集,未来更倾向于使用此接口
export interface MoocTaskSet extends Mooc, IEventListener<MoocEvent> {
    // 初始化
    Init(): Promise<any>

    // 停止
    Stop(): Promise<any>

    // 返回下一个任务点
    Next(): Promise<Task>

    // 设置任务点位置
    SetTaskPointer(index: number): void;
}
在 GitHub 上编辑此页
Last Updated: 2020/11/8 11:52
Contributors: CodFrm
Prev
系统组件
Next
题库和答题功能