uni-app项目中设置系统剪辑版内容API

84 阅读1分钟

uni.setClipboardData 是 uni-app 框架提供的用于设置系统剪贴板内容的 API。它封装了各端(H5、小程序、App)的剪贴板功能

官方定义

uni.setClipboardData({
  data: '',        // 必填,要复制的文本
  success: () => {},   // 成功回调
  fail: () => {},      // 失败回调
  complete: () => {}   // 完成回调(成功失败都会执行)
})

参数详解

参数名类型必填说明
dataString要复制到剪贴板的文本内容
successFunction复制成功时触发
failFunction复制失败时触发
completeFunction无论成功失败都会执行

使用示例

uni.setClipboardData({
  data: 'Hello uni-app!',
  success: () => {
    console.log('复制成功');
    uni.showToast({
      title: '已复制到剪贴板',
      icon: 'success'
    });
  },
  fail: () => {
    console.log('复制失败');
  }
});

平台差异说明

平台支持情况备注
H5通过 document.execCommand('copy') 实现,需要用户交互触发(如点击事件)
微信小程序支持,需用户触发(如点击按钮)
支付宝/字节/百度小程序支持,逻辑类似
App(iOS/Android)支持,原生能力封装

注意事项

  1. 必须由用户行为触发(如点击按钮),不能放在 onLoad 或定时器中自动执行。
  2. H5 端受浏览器限制,部分浏览器可能拦截非用户触发的剪贴板操作。
  3. data 必须是字符串,不能是对象或数字。
  4. 无权限提示:部分平台(如微信小程序)不会主动提示用户“已复制”,建议手动用 uni.showToast 提示。

配套 API:读取剪贴板

uni.getClipboardData({
  success: (res) => {
    console.log('剪贴板内容:', res.data);
  }
});