olympus-r-17plugins
Version:
A plugin of Olympus for 17zuoye.
272 lines (271 loc) • 7.12 kB
TypeScript
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
}