clipboard.thorui.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /**
  2. * 复制文本 兼容H5
  3. * 来自 ThorUI www.thorui.cn | 文档地址: www.donarui.com
  4. * @author echo.
  5. * @version 1.0.0
  6. **/
  7. // #ifdef H5
  8. import ClipboardJS from "@/components/utils/clipboard.min.js"
  9. // #endif
  10. const thorui = {
  11. getClipboardData: function(data, callback) {
  12. // #ifdef APP-PLUS || MP
  13. uni.setClipboardData({
  14. data: data,
  15. success(res) {
  16. uni.getClipboardData({
  17. success(res) {
  18. ("function" == typeof callback) && callback(true)
  19. },
  20. fail(res) {
  21. ("function" == typeof callback) && callback(false)
  22. }
  23. })
  24. },
  25. fail(res) {
  26. ("function" == typeof callback) && callback(false)
  27. }
  28. })
  29. // #endif
  30. // #ifdef H5
  31. let event = window.event || {}
  32. let clipboard = new ClipboardJS("", {
  33. text: () => data
  34. })
  35. clipboard.on('success', (e) => {
  36. ("function" == typeof callback) && callback(true)
  37. clipboard.off('success')
  38. clipboard.off('error')
  39. clipboard.destroy()
  40. });
  41. clipboard.on('error', (e) => {
  42. ("function" == typeof callback) && callback(false)
  43. clipboard.off('success')
  44. clipboard.off('error')
  45. clipboard.destroy()
  46. });
  47. clipboard.onClick(event)
  48. // #endif
  49. }
  50. };
  51. module.exports = {
  52. getClipboardData: thorui.getClipboardData
  53. };