Blame view

components/common/tui-clipboard/tui-clipboard.js 1.22 KB
46b6767c   刘淇   init 提交到库
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
  /**
   * 复制文本 兼容H5
   * 来自 ThorUI  www.thorui.cn/doc
   * @author echo.
   * @version 1.7.1
   **/
  // #ifdef H5
  import ClipboardJS from "./clipboard.min.js"
  // #endif
  
  const thorui = {
  	/**
  	 * data 需要复制的数据
  	 * callback 回调
  	 * e 当用户点击后需要先请求接口再进行复制时,需要传入此参数,或者将异步请求转为同步 H5端)
  	 * **/
  	getClipboardData: function(data,callback,e) {
  		// #ifdef APP-PLUS || MP
  		uni.setClipboardData({
  			data: data,
  			success(res) {
  				("function" == typeof callback) && callback(true)
  			},
  			fail(res) {
  				("function" == typeof callback) && callback(false)
  			}
  		})
  		// #endif
  
  		// #ifdef H5
  		let event = window.event || e || {}
  		let clipboard = new ClipboardJS("", {
  			text: () => data
  		})
  		clipboard.on('success', (e) => {
  			("function" == typeof callback) && callback(true)
  			clipboard.off('success')
  			clipboard.off('error')
  			clipboard.destroy()
  		});
  		clipboard.on('error', (e) => {
  			("function" == typeof callback) && callback(false)
  			clipboard.off('success')
  			clipboard.off('error')
  			clipboard.destroy()
  		});
  		clipboard.onClick(event)
  		// #endif
  	}
  };
  
  export default {
  	getClipboardData: thorui.getClipboardData
  };