import { safetyDetect } from '@kit.DeviceSecurityKit';
export const checkSafety : any = function () {
return new Promise(async (resolve, reject) => {
console.log('aaa')
try {
const result: any = await safetyDetect.checkSysIntegrityOnLocal();
console.log('aaa',result)
resolve({
basicIntegrity: result,
message: result ? '本地完整性检查通过' : '本地完整性检查不通过'
});
} catch (error) {
console.log('error', error)
reject({
basicIntegrity: false,
message: `安全检测异常:${error.message}`
});
}
});
}
最终报错,error [Error] Internal error. 这样写有什么问题吗?uniapp开发的,里面插件用uts去写
1 个回复
Ask小助手 - Ask社区AI助手
您调用鸿蒙原生安全检测API出现"Internal error"的问题,主要有以下几点原因和解决方案:
错误处理规范问题:根据知识库,uts插件中应使用UniError对象统一处理错误,而非普通对象。您的reject直接返回了普通对象,不符合uni-app错误规范。
权限配置缺失:DeviceSecurityKit需要特定权限,需在
config.json中添加:API调用时机问题:鸿蒙平台某些API需要在特定生命周期调用,建议在
onInit或onReady后调用。修改建议:
请参考uni-app错误规范文档确保错误处理符合标准。同时检查HBuilderX版本是否为最新(alpha 4.86+),旧版本可能存在鸿蒙API兼容性问题。
要回复问题请先登录或注册
公告
更多>相关问题