minix-template
Version:
minix template
130 lines (120 loc) • 2.84 kB
JavaScript
/*
* @Description:
* @Autor: tangsj
* @Date: 2022-04-27 15:31:32
* @LastEditTime: 2022-05-24 19:42:49
*/
const bridgeModule = miniXs.requireModule('bridgeModule')
const globalEvent = miniXs.requireModule('globalEvent')
export function commandInterfaceWrapper(
params,
callback,
failCallback
){
return new Promise((resolve, reject) => {
if (!params) {
reject('params can not be empty in native bridge module')
}
bridgeModule.commandInterface(
JSON.stringify(params),
function (res) {
// prompt.showToast({
// message: '开始测试接口21',
// duration: 200,
// })
callback && callback(res)
resolve(res)
},
function (err) {
// prompt.showToast({
// message: '开始测试接口22',
// duration: 200,
// })
failCallback && failCallback(err)
resolve(err)
}
)
})
}
export function globalEventModuleWrapper(apiName, params, callback) {
if (globalEvent && globalEvent[apiName]) {
globalEvent[apiName](params, (res) => {
prompt.showToast({
message: '开始测试2',
duration: 200,
})
callback && callback(res)
})
} else {
// globalEvent 不支持 当前的方法
const errMsg = `globalEvent 缺少 ${apiName}`
callback &&
callback({
status: -1,
message: errMsg,
})
}
}
export function customCommandInterface(params = isRequired('params'), options = {}) {
let { subModuleName = 'commandInterface' } = options
return new Promise((resolve, reject) => {
console.log('params', params, subModuleName)
bridgeModule[subModuleName](
params,
resp => {
try {
resp = JSON.parse(resp)
} catch (error) {
// error
}
resolve(resp)
},
err => {
reject(err)
}
)
})
}
export function aiSpeechModuleWrapper(apiName, params = {}) {
return new Promise((resolve, reject) => {
if (aiSpeechModule) {
aiSpeechModule[apiName](
params,
resp => {
resolve(tryParseJson(resp))
},
err => {
reject(tryParseJson(err))
}
)
}
})
}
export function bridgeModuleWrapper(apiName, params = {}) {
return new Promise((resolve, reject) => {
if (bridgeModule) {
bridgeModule[apiName](
params,
res =>{
resolve(tryParseJson(res))
},
err =>{
reject(tryParseJson(err))
}
)
}else {
const errMsg = `current version bridgeModule has not ${apiName} interface`
reject({
status: -1,
message: errMsg,
})
}
})
}
function tryParseJson(source) {
try {
return JSON.parse(source)
} catch (error) {
return source
}
}