uniapp小程序中通过uni.setClipboardData实现复制功能,以及uni.setClipboardData无效的原因和解决方案

小程序 0

1、uni.setClipboardData的使用方法

              uni.setClipboardData({					data: '需要复制的内容',					success: function() {						console.log('success');						uni.showToast({							title: '复制成功',							icon: 'success',							duration: 2000						});					},					fail:(error)=> {						console.log('失败',error);						uni.showToast({							title: '复制失败',							icon: 'none'						});					}							})

2、发现复制没有用,打印error内容为:“setClipboardData:fail api scope is not declared in the privacy agreement”,这个错误信息表示你在使用setClipboardData API时,没有在微信小程序的隐私协议中声明你需要使用剪贴板的权限。

3、通过翻阅文档得知从2023年9月15日开始,微信小程序更新了隐私协议的规则,你需要在微信小程序的后台配置用户隐私保护指引,并且通过审核,才能使用剪贴板。

4、如何设置隐私协议

  • 登录微信公众平台,找到设置菜单,选择服务内容声明-> 用户隐私协议保护指引;
  • 增加信息类型的列表中,选择剪贴板,然后填写你使用剪贴板的用途;
  • 确定并生成协议,然后提交审核; 
  • 请注意,更新好隐私协议后,需要等待一段时间(大约5分钟)才能生效;
  • 如果协议审核通过后还是没用,可以将开发工具缓存清除,再重跑一下就可以了

5、协议通过后,调取uni.setClipboardData会出现弹窗,同意则可以成功使用uni.setClipboardData

也许您对下面的内容还感兴趣: