uni-app 获取通讯录
时间: 2024-10-29 10:05:33 浏览: 33
使用uni-app搭建的企业OA app
5星 · 资源好评率100%
在uni-app中,你可以使用`uni.contacts` API来获取手机通讯录。下面是一个示例展示了如何在mounted生命周期钩子中获取联系人信息[^1]:
```javascript
mounted() {
// 如果在APP-PLUS环境下(如微信小程序)
//#ifdef APP-PLUS
let phoneNum = uni.contacts.ADDRESSBOOK_PHONE; // 获取电话簿
uni.contacts.getAddressBook(
phoneNum,
(addressbook) => {
addressbook.find(["displayName", "phoneNumbers"], (contacts) => {
console.log("Contacts:", JSON.stringify(contacts)); // 输出:处理后的联系人数据
}, () => {
console.log('获取通信录失败');
}, { multiple: true });
},
(e) => {
console.error("Get address book failed:", e.message);
}
);
//#endif
}
```
当你获取到联系人数据后,可能需要进一步处理以便展示。比如,将昵称和号码合并成一个新的数组结构[^2]。这通常涉及到遍历联系人数组,提取所需字段:
```javascript
// 假设 contacts 是从上一步获取的数据
const formattedContacts = [];
for (let contact of contacts) {
const nickname = contact.displayName;
const phoneNumber = contact.phoneNumbers[0].value; // 注意,这里假设只有一个电话号码
formattedContacts.push({ nickname, phoneNumber });
}
// 然后可以遍历formattedContacts并显示
formattedContacts.forEach((contact) => {
console.log(`昵称: ${contact.nickname}, 号码: ${contact.phoneNumber}`);
});
```
阅读全文