mtl-js-sdk
Version:
124 lines (117 loc) • 3.59 kB
TypeScript
import Mobile from "./plugins/mobile";
import WebDebugger from "./plugins/web-debugger";
import Umshare from "./plugins/umshare";
import BarcodeScanner from "./plugins/barcode-scanner";
export interface Result {
code: number,
message?: string,
data?: any
}
export interface Args {
/** 成功回调 */
success: (data: any) => void,
/** 失败回调 */
fail: (result: Result) => void,
/** 完成回调 */
complete?: (result: Result) => void,
}
type ParameterType<T> = {
[P in keyof T]: T[P];
} & Args;
export interface MTLCore {
loadPlugin(plugin: any): void,
navigateTo(args: Args): void,
redirectTo(args: Args): void,
navigateBack(args: Args): void,
/** 拍照或从手机相册中选图接口 */
chooseImage(o: ParameterType<{
/** 选择图片数量,默认9 */
count: number,
/** 可以指定来源是相册还是相机,默认二者都有 ["album", "camera"] */
sourceType: string[]
}>): void,
previewImage(args: Args): void,
uploadImage(args: Args): void,
downloadImage(args: Args): void,
getLocalImgSrc(args: Args): void,
getLocalImgData(args: Args): void,
scanQRCode(o: ParameterType<{
/** 可以指定来源是相册还是相机,默认二者都有 ["album", "camera"] */
scanType?: string[],
/** 默认为0,扫描结果由端上处理,1则直接返回扫描结果 */
needResult?: number,
/** 默认为1。1:单次扫描,n多次扫描(微信只支持单扫 */
type?: number
}>): void,
closeScanQRCode(args: Args): void,
generateQRCode(args: Args): void,
getNetworkType(args: Args): void,
translateVoice(args: Args): void,
startRecord(args: Args): void,
stopRecord(args: Args): void,
onVoiceRecordEnd(args: Args): void,
playVoice(args: Args): void,
stopVoice(args: Args): void,
pauseVoice(args: Args): void,
onVoicePlayEnd(args: Args): void,
uploadVoice(args: Args): void,
downloadVoice(args: Args): void,
openLocation(args: Args): void,
getLocation(args: Args): void,
initFace(args: Args): void,
faceRegister(args: Args): void,
faceVerify(args: Args): void,
scanInvoice(o: ParameterType<{
/** 路径 */
url?: string,
/** apicode */
appCode?: string | number
}>): void,
recognizeInvoice(args: Args): void,
scanIDCard(o: ParameterType<{
/** 路径 */
url?: string,
/** apicode */
appCode?: string | number,
side?: string
}>): void,
recognizeIDCard(args: Args): void,
scanBankCard(o: ParameterType<{
/** 路径 */
url?: string,
/** apicode */
appCode?: string | number
}>): void,
recognizeBankCard(args: Args): void,
initSpeech(args: Args): void,
openSpeechPage(args: Args): void,
startSpeechSyn(args: Args): void,
stopSpeechSyn(args: Args): void,
startSpeechRecog(args: Args): void,
stopSpeechRecog(args: Args): void,
releaseSpeech(args: Args): void,
cancelAITask(args: Args): void,
request(args: Args): void,
setStorage(args: Args): void,
getStorage(args: Args): void,
removeStorage(args: Args): void,
clearStorage(args: Args): void,
confirm(args: Args): void,
canBack(args: Args): void,
back(args: Args): void,
deleteWebCache(args: Args): void,
openWebview(args: Args): void,
getDeviceModel(args: Args): void,
getVendor(args: Args): void,
dail(args: Args): void,
getOSVersion(args: Args): void,
uploadFile(args: Args): void,
downFile(args: Args): void,
getAppInfo(args: Args): void,
}
export interface MTL extends MTLCore {
mobile: Mobile,
webDebugger: WebDebugger,
umshare: Umshare,
barcodeScanner: BarcodeScanner,
}