zhangwei
2024-08-14 9d8994790fe403935ed46ad478f83ae110bb7a01
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
// 本文件由FirstUI授权予四川政采招投标咨询有限公司(会员ID:1  63,营业执照号:9  1  51 01313 32 0   0     6 19 3K)专用,请尊重知识产权,勿私下传播,违者追究法律责任。
/*!
 * 剪贴板
 *
 * 官网地址:https://firstui.cn/
 * 文档地址:https://doc.firstui.cn/
 */
// #ifdef H5
import ClipboardJS from "./clipboard.min.js"
// #endif
 
/**
 * data 需要复制的数据
 * callback 回调
 * e 当用户点击后需要先请求接口再进行复制时,需要传入此参数(H5端)
 * **/
const 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: getClipboardData
};