UNPKG

coolink-ts

Version:

Coocaa Coolink APP JavaScript library base on Thresh-lib.

89 lines (78 loc) 2.26 kB
import Bridge from '../manager/BridgeManager' import { BridgeParams } from '../types/type' import { CoolinkRetCode, CoolinkStartActionParams, CoolinkVibrateDeviceParams, CoolinkCommonReceiverParams, CoolinkStartWechatAppletParam, } from './type' import mpWeb from './MpWeb'; class SystemModule { private static instance: SystemModule; public static getModule(): SystemModule { if (this.instance == null) { this.instance = new SystemModule() } return SystemModule.instance } public exitCurrPage() : Promise<CoolinkRetCode> { let bridgeParams : BridgeParams = { module: 'system', method: 'exitCurrPage', params: { } }; return mpWeb.callNative(bridgeParams); } public startAction(params: CoolinkStartActionParams) : Promise<CoolinkRetCode> { let bridgeParams : BridgeParams = { module: 'system', method: 'startAction', params: { ...params } }; return mpWeb.callNative(bridgeParams); } public vibrateDevice(params: CoolinkVibrateDeviceParams) : Promise<CoolinkRetCode> { let bridgeParams : BridgeParams = { module: 'system', method: 'vibrateDevice', params: { ...params } }; return mpWeb.callNative(bridgeParams); } public playKeySound() : Promise<CoolinkRetCode> { let bridgeParams : BridgeParams = { module: 'system', method: 'playKeySound', params: { } }; return mpWeb.callNative(bridgeParams); } public registerDeviceShake(obj: CoolinkCommonReceiverParams) : void { let bridgeParams : BridgeParams = { module: 'system', method: 'registerDeviceShake', params: { methodName: 'onDeviceShake', } }; mpWeb.callNativeWithPersistentCallBack(bridgeParams, 'onDeviceShake', obj.callback); } public startWechatApplet(params: CoolinkStartWechatAppletParam) : Promise<CoolinkRetCode> { let bridgeParams : BridgeParams = { module: 'system', method: 'startWechatApplet', params: { ...params } }; return mpWeb.callNative(bridgeParams); } } export default SystemModule;