uni-app 微信小程序存入通讯录后不会自动关闭存入页面
uni-app 微信小程序存入通讯录后不会自动关闭存入页面
操作步骤:
- 流程1小程序端存入通讯录–》 不管成功还是失败-》关闭小程序-》打开拨打电话-》显示未存储的附件页面,所有ios都会
预期结果:
- 流程1小程序端存入通讯录–》 不管成功还是失败-》关闭小程序-》打开拨打电话-》显示未存储的附件页面,所有ios都会
实际结果:
- 流程1小程序端存入通讯录–》 不管成功还是失败-》关闭小程序-》打开拨打电话-》显示未存储的附件页面,所有ios都会
bug描述:
- 微信小程序端存入通讯录后iOS、不会自动关闭弹窗 , 流程1小程序端存入通讯录–》 不管成功还是失败-》关闭小程序-》打开拨打电话-》显示未存储的附件页面,所有ios都会
信息类别 | 信息内容 |
---|---|
产品分类 | uniapp/小程序/微信 |
PC开发环境 | Windows |
PC开发环境版本 | 7 |
HBuilderX类型 | 正式 |
HBuilderX版本 | 4.34 |
第三方工具版本 | 最新 |
基础库版本 | 最新 |
项目创建方式 | HBuilderX |
1 回复
在处理 uni-app 开发微信小程序时,若遇到存入通讯录后不会自动关闭存入页面的问题,可以通过编程逻辑来实现这一需求。下面是一个基本的示例代码,展示如何在用户成功添加联系人后自动关闭当前页面。
示例代码
- 页面逻辑(假设为
addContact.vue
)
<template>
<view>
<button @click="addToContacts">添加到通讯录</button>
</view>
</template>
<script>
export default {
methods: {
addToContacts() {
wx.addPhoneContact({
phoneNumber: '12345678901', // 替换为实际电话号码
firstName: '张三',
lastName: '李四',
remark: '朋友',
success: (res) => {
console.log('添加成功', res);
this.closePage();
},
fail: (err) => {
console.error('添加失败', err);
wx.showToast({
title: '添加失败',
icon: 'none'
});
}
});
},
closePage() {
// 关闭当前页面,返回上一页
uni.navigateBack({
delta: 1
});
}
}
}
</script>
<style>
/* 添加样式(如有需要) */
</style>
-
注意事项
- 确保
phoneNumber
字段是有效的手机号码。 wx.addPhoneContact
是微信小程序提供的 API,用于向用户的手机通讯录中添加联系人。- 在
success
回调中,调用this.closePage()
方法实现页面关闭。 uni.navigateBack({ delta: 1 })
表示关闭当前页面并返回上一页,delta
参数可以调整返回层级。
- 确保
-
权限处理
- 在
app.json
或pages.json
中配置所需权限。 - 确保在微信小程序管理后台的“设置”->“权限管理”中开启了通讯录权限。
- 在
-
调试与测试
- 使用微信开发者工具进行调试,检查控制台输出和 API 调用结果。
- 在真机上测试,确保功能在不同设备和版本上表现一致。
通过上述代码,当用户点击“添加到通讯录”按钮并成功添加联系人后,页面将自动关闭并返回上一页。如果添加失败,则显示相应的提示信息。这样处理可以有效提升用户体验,避免用户手动关闭页面。