UNPKG

olympus-r-17plugins

Version:

A plugin of Olympus for 17zuoye.

272 lines (271 loc) 7.12 kB
import Shell from "olympus-r/engine/env/Shell"; export default class Shell17 extends Shell { readonly type: string; readonly platform: Platform; readonly clientType: ClientType; /** * 初始化一起作业外壳 * * @memberof Shell17 */ initShell17(): void; /** * 调用外壳通过window.external传递进来的接口 * * @param {string} funcName 接口名 * @param {...any[]} paramsList 参数列表 * @returns {*} */ callExternal(funcName: string, ...paramsList: any[]): Promise<any>; protected _initParams: any; getInitParams(refresh?: boolean): Promise<any>; protected mergeInitParams(result: any): any; innerJump(name: string): void; homeworkHTMLLoaded(): void; updateTitle(str: string, txtColor?: number, bgColor?: number): void; redirectToLogin(from?: string): void; openFairylandPage(params: { url: string; name: string; useNewCore?: string; orientation?: string; fullScreen?: boolean; page_viewable?: boolean; initParams?: { [key: string]: string; }; }): void; pageQueueNew(params: { url: string; name: string; useNewCore?: string; orientation?: string; initParams?: { [key: string]: string; }; }): void; pageQueueBack(params: { name?: string; index?: number; step?: number; url?: string; initParams?: { [key: string]: string; }; }): void; pageQueueRefresh(params?: { url?: string; initParams?: { [key: string]: string; }; }): void; pageQueueQuit(params?: Object): void; disMissView(): void; showlog(msg: string): void; log_b(data: { [name: string]: any; }): void; payOrder(params: PayOrderParams): void; /** * 触发外壳事件 * * @param {string} type 事件类型 * @param {...any[]} args 事件参数列表 * @memberof Shell17 */ trigger(type: string, ...args: any[]): void; /** * 添加外壳监听 * * @param {string} type 监听类型 * @param {(...args:any[])=>void} handler 处理函数 * @param {boolean} [once=false] 是否一次性监听 * @memberof Shell17 */ bindTrigger(type: string, handler: (...args: any[]) => void, once?: boolean): void; /** * 移除外壳监听 * * @param {string} type 监听类型 * @param {(...args:any[])=>void} handler 处理函数 * @memberof Shell17 */ unbindTrigger(type: string, handler: (...args: any[]) => void): void; hasGPU(callback: (status: GPUStatus) => void): void; startRecord(params: any): void; stopRecord(params: any): void; startPlayback(params: any): void; stopPlayback(params: any): void; /*************************** 下面是本地存储接口 ***************************/ /** * 获取本地存储 * * @param {string} key 要获取值的键 * @returns {string} 获取的值 * @memberof Shell */ localStorageGet(key: string): any; /** * 设置本地存储 * * @param {string} key 要设置的键 * @param {string} value 要设置的值 * @memberof Shell */ localStorageSet(key: string, value: string): void; /** * 移除本地存储 * * @param {string} key 要移除的键 * @memberof Shell */ localStorageRemove(key: string): void; /** * 清空本地存储 * * @memberof Shell */ localStorageClear(): void; /*************************** 下面是音频接口 ***************************/ protected initAudio(): void; /** * 开始下载音频 * * @param {string} url 音频地址 * @memberof Shell17 */ loadAudio(url: string): void; /** * 开始播放音频 * * @param {string} url 音频地址 * @memberof Shell17 */ playAudio(url: string): void; /** * 暂停播放音频 * * @param {string} url 音频地址 * @memberof Shell17 */ pauseAudio(url: string): void; /** * 音频跳转到指定位置 * * @param {string} url 音频地址 * @param {number} time 跳转位置(毫秒) * @memberof Shell17 */ seekAudio(url: string, time: number): void; /** * 停止播放音频 * * @param {string} url 音频地址 * @memberof Shell17 */ stopAudio(url: string): void; /*************************** 下面是视频接口 ***************************/ playerVideo(params: PlayerVideoParams): void; } export interface PlayerVideoParams { /** * 视频地址(多个cdn线路) * * @type {string[]} * @memberof PlayerVideoParams */ urlList: string[]; /** * 整个题目的ID * * @type {string} * @memberof PlayerVideoParams */ id?: string; /** * 当视频通过ip播放时需要在header中加host * * @type {string} * @memberof PlayerVideoParams */ header?: string; /** * 视频标题 * * @type {string} * @memberof PlayerVideoParams */ title?: string; /** * 视频图片 * * @type {string} * @memberof PlayerVideoParams */ placeholderImageUrl?: string; /** * 是否保存播放进度 默认true * * @type {boolean} * @memberof PlayerVideoParams */ isSavePlayProgress?: boolean; /** * 配音模式 1:播放原始视频 2:开始配音播放 3:播放预览视频 * * @type {number} * @memberof PlayerVideoParams */ voiceDubbingType?: number; /** * 是否全屏 * * @type {boolean} * @memberof PlayerVideoParams */ fullScreen?: boolean; /** * 视频的背景音 * * @type {string} * @memberof PlayerVideoParams */ backMusicUrl?: string; } export interface PayOrderParams { /** 支付类型 1代表微信支付 2代表支付宝支付 */ orderType: number; /** 支付需要的参数 */ data: any; /** 支付回调的方法名 */ handler: string; } export interface PayOrderHandlerParams { /** 支付类型 1代表微信支付 2代表支付宝支付 */ orderType: number; /** 具体查看各个支付平台的code */ code: number; /** 说明 */ msg: string; } /** * GPU开启状态 */ export declare enum GPUStatus { AUTO = 0, OPEN = 1, CLOSE = 2 } export declare enum Platform { WEB = 0, IOS17 = 1, Android17 = 2, WXApp = 3 } export declare enum ClientType { UNKNOWN = 0, STUDENT = 1, TEACHER = 2, PARENT = 3, YUNKETANG = 4 }