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

本文介绍了在微信小程序中使用uni.setClipboardData遇到的‘apiscopeisnotdeclared’错误,原因是自2023年9月15日起,需在小程序后台配置剪贴板权限。详细步骤包括在微信公众平台设置用户隐私协议,获取审核通过后方可正常使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值