olympus-r-17plugins
Version:
A plugin of Olympus for 17zuoye.
193 lines (192 loc) • 5.35 kB
TypeScript
import Shell17, { PayOrderParams, PlayerVideoParams } from "./Shell17";
/**
* @author Raykid
* @email initial_r@qq.com
* @create date 2017-10-25
* @modify date 2017-10-25
*
*
*/
export default class Shell17Mobile extends Shell17 {
constructor();
/** 下面为了防止一起作业外壳报错而特意加的全局转发方法 */
private initExternalNeedFuncs;
/*************************** 下面是本地存储接口 ***************************/
/**
* 获取本地存储
*
* @param {string} key 要获取值的键
* @returns {string} 获取的值
* @memberof Shell17Mobile
*/
localStorageGet(key: string): Promise<any>;
/**
* 设置本地存储
*
* @param {string} key 要设置的键
* @param {string} value 要设置的值
* @memberof Shell17Mobile
*/
localStorageSet(key: string, value: string): void;
/**
* 移除本地存储
*
* @param {string} key 要移除的键
* @memberof Shell17Mobile
*/
localStorageRemove(key: string): void;
/**
* 清空本地存储
*
* @memberof Shell17Mobile
*/
localStorageClear(): void;
/*************************** 下面是音频接口 ***************************/
protected initAudio(): void;
/**
* 开始下载音频
*
* @param {string} url 音频地址
* @memberof Shell17Mobile
*/
loadAudio(url: string): void;
/**
* 开始播放音频
*
* @param {string} url 音频地址
* @memberof Shell17Mobile
*/
playAudio(url: string): void;
/**
* 暂停播放音频
*
* @param {string} url 音频地址
* @memberof Shell17Mobile
*/
pauseAudio(url: string): void;
/**
* 音频跳转到指定位置
*
* @param {string} url 音频地址
* @param {number} time 跳转位置(毫秒)
* @memberof Shell17Mobile
*/
seekAudio(url: string, time: number): void;
/**
* 停止播放音频
*
* @param {string} url 音频地址
* @memberof Shell17Mobile
*/
stopAudio(url: string): void;
/*************************** 下面是视频接口 ***************************/
playerVideo(params: PlayerVideoParams): void;
/*************************** 下面是一起作业移动版专属接口 ***************************/
/**
* 移动端壳扩展方法
* @param funcName
* @param paramsList
*/
callExternal(funcName: string, ...paramsList: any[]): Promise<any>;
/**
* 获取初始化信息
* @param refresh
*/
getInitParams(refresh?: boolean): Promise<any>;
innerJump(name: string): void;
homeworkHTMLLoaded(): void;
/**
* 更新标题栏
* @param titile 文本内容
* @param txtColor 文字颜色代码(6位hex string,如"ffff00")
* @param bgColor 背景颜色代码(hex string)
*/
updateTitle(titile: 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;
startRecord(params: any): void;
stopRecord(params: any): void;
startPlayback(params: any): void;
stopPlayback(params: any): void;
/**
* 显示toast弹窗
* @param msg 显示的信息,默认""
*/
showToast(msg: string): void;
/**
* 设置音频音量大小
* @param url 音频地址
* @param volume 音量大小(0.0-1.0)
*/
setAudioVolume(url: string, volume: number): void;
/**
* 设置webview顶部栏信息
* @param params
*/
setTopBarInfo(params?: {
show: boolean;
rightText: string;
rightTextColor: string;
nextAction: string;
rightImage: string;
needCallBack: boolean;
needCart: boolean;
}): void;
}
export interface PhotoData {
id: string;
url: string;
thumb_url: string;
success: boolean;
errCode: number;
errMsg: string;
}
export interface RecordData {
id: string;
url: string;
duration: number;
success: boolean;
errCode: number;
errMsg: string;
}