coolink-ts
Version:
Coocaa Coolink APP JavaScript library base on Thresh-lib.
89 lines (78 loc) • 2.26 kB
text/typescript
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;