鸿蒙插件
import { contact } from '@kit.ContactsKit';
import { BusinessError } from '@kit.BasicServicesKit';
export const name = "harmony-permissions"
export const selectContact = (isMultiSelect: boolean) => {
return new Promise((resolve, reject) => {
contact.selectContacts({isMultiSelect},(err: BusinessError, data) => {
if (err) {
console.error(`selectContact callback: err->${JSON.stringify(err)}`);
reject(err);
return;
}
console.log(`selectContact callback: success data->${JSON.stringify(data)}`);
resolve(JSON.stringify(data));
});
})
}
真机调试时报错
18:14:45.946 > hvigor ERROR: Failed :entry:default@CompileArkTS...
18:14:45.946 > hvigor ERROR: ArkTS Compiler Error
18:14:46.182 1 ERROR: 10505001 ArkTS Compiler Error
18:14:46.182 error: Type 'UTSJSONObject' has no properties in common with type 'ContactSelectionOptions'
18:14:46.182 at uni_modules/harmony-permissions/utssdk/app-harmony/index.uts:8:30
18:14:46.182 6 | export const selectContact = (isMultiSelect: boolean) => {
18:14:46.182 7 | return new Promise((resolve, reject) => {
18:14:46.182 8 | contact.selectContacts({isMultiSelect},(err: BusinessError, data) => {
18:14:46.182 | ^
18:14:46.182 9 | if (err) {
18:14:46.182 10 | __f__('error','at uni_modules/harmony-permissions/utssdk/app-harmony/index.uts:10',`selectContact callback: err->${JSON.stringify(err)}`);
18:14:46.182 COMPILE RESULT:FAIL {ERROR:2 WARN:638}
18:14:46.182 > hvigor ERROR: BUILD FAILED in 36 s 978 ms
2 个回复
Ask小助手
根据错误信息
Type 'UTSJSONObject' has no properties in common with type 'ContactSelectionOptions',问题出在 UTS 类型校验上。鸿蒙平台要求 UTS 插件必须严格匹配类型定义,而您的代码直接传递了{isMultiSelect}对象,未显式声明类型。解决方案:
export const selectContact = (isMultiSelect: boolean) => {
return new Promise((resolve, reject) => {
const options: ContactSelectionOptions = { isMultiSelect }; // 显式声明类型
contact.selectContacts(options, (err: BusinessError, data) => {
// ...原有逻辑
});
})
}
DCloud_UNI_OttoJi - 日常回复 uni-app/x 问题,如果艾特我没看到,请主动私信
提供下复现工程,并说明你的 HBuilderX 版本、uniapp 还是 uniapp x
这个 api https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-contact#contactselectcontacts10-2
看报错,是你的 options 类型不是 ContactSelectionOptions ,注意在鸿蒙中类型引用应当一致,不能想 ts 一样使用结构化类型
要回复问题请先登录或注册
公告
更多>相关问题