Skip to content

setClipboardData 拦截器

setClipboardData 拦截器用于处理剪贴板权限授权,特别针对抖音小程序的剪贴板权限处理进行了优化。

功能描述

该拦截器主要用于处理抖音小程序剪贴板权限授权问题,当用户拒绝授权时,会引导用户去设置页面完成授权。支持以下功能:

  • 自动检测剪贴板权限授权状态
  • 处理用户拒绝授权的情况
  • 引导用户到设置页面完成授权
  • 提供友好的授权提示界面

平台支持

平台支持情况备注
APP-PLUS✅ 支持全平台支持
MP-TOUTIAO✅ 支持抖音小程序特殊处理
MP✅ 支持其他小程序平台
H5✅ 支持浏览器环境下的剪贴板操作

使用方法

typescript
import { setClipboardDataInterceptor } from "uni-toolkit/interceptors";

// 在应用入口处安装拦截器
app.use(setClipboardDataInterceptor);

// 正常调用uni.setClipboardData,拦截器会自动处理权限
uni.setClipboardData({
  data: "要复制的内容",
  success: () => {
    console.log("复制成功");
  },
  fail: (err) => {
    console.error("复制失败", err);
  }
});

特殊处理

抖音小程序

在抖音小程序中,当用户拒绝剪贴板权限授权时,拦截器会:

  1. 检测到权限拒绝错误(auth deny
  2. 显示授权提醒弹窗
  3. 提供两个选项:
    • "去设置":跳转到设置页面
    • "取消":取消操作
  4. 在设置页面完成授权后,显示成功提示

其他平台

在其他平台中,拦截器会保持原有行为,不做特殊处理。

注意事项

  • 拦截器仅在抖音小程序中进行特殊处理
  • 用户授权成功后需要重新执行复制操作
  • 拦截器会自动处理授权流程,开发者无需额外编写代码
  • 授权提醒文案可以根据实际需求进行自定义修改

基于 MIT 许可发布