主要代码如下:
是可以实现添加联系人的时候保存头像的,但是图片非常的模糊。我保存的原图是非常清晰的,并且在系统的通讯录里面,保存的图片也是模糊的,也就是说通过这种方式保存的头像是模糊的,这个代码的底层实现是不是有问题?请把文档补充清楚,不然这种垃圾api还不如不用,直接用navtive.js。
chooseAvatar() {
uni.chooseImage({
count: 1,
sizeType: ["original"], // 使用原图,避免压缩导致模糊
sourceType: ["album", "camera"],
success: (res) => {
this.avatar = res.tempFilePaths[0];
console.log("chooseAvatar res:", res);
},
});
},
plus.contacts.getAddressBook(
plus.contacts.ADDRESSBOOK_PHONE,
(addressbook) => {
var contact = addressbook.create();
contact.displayName = this.name;
contact.phoneNumbers = [
{ type: "mobile", value: this.phone, preferred: true },
];
// 添加头像
contact.photos = [
{ type: "url", value: this.avatar, preferred: true },
];
contact.save(
() => {
uni.showToast({ title: "添加成功", icon: "success" });
},
(e) => {
uni.showToast({
title: "获取通讯录失败: " + e.message,
icon: "none",
});
}
);
0 个回复