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

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>