common.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. // 通用工具类,定义通用函数及常用接口
  2. import { encryptByAes } from '@/utils/encrypt'
  3. import { preview } from '@/business/platform/form/utils/custom/preview'
  4. import request from '@/business/platform/form/utils/custom/joinCURD'
  5. import pinyin4js from 'pinyin4js'
  6. import { snapshoot } from '@/api/platform/file/attachment'
  7. import { getNextIdByAlias } from '@/api/platform/system/identity'
  8. import { save as sendMsg } from '@/api/platform/message/innerMessage'
  9. import { bpmTaskSave } from '@/api/platform/bpmn/bpmTask'
  10. import { onlyOfficeToPdf } from '@/api/platform/form/seal'
  11. // base64解码
  12. const decode = str => decodeURIComponent(window.atob(str).split('').map(c => `%${`00${c.charCodeAt(0).toString(16)}`.slice(-2)}`).join(''))
  13. // 下载
  14. export const download = (o, name) => {
  15. if (!(o instanceof Blob)) {
  16. return
  17. }
  18. if (window.navigator.msSaveBlob) {
  19. window.navigator.msSaveBlob(o, name)
  20. } else {
  21. const URL = window.URL || window.webkitURL || window
  22. const e = document.createElementNS('http://www.w3.org/1999/xhtml', 'a')
  23. e.href = URL.createObjectURL(o)
  24. e.download = name
  25. if (document.all) {
  26. e.click()
  27. } else {
  28. const ev = document.createEvent('MouseEvents')
  29. ev.initMouseEvent('click', true, false, window, 0, 0, 0, 0, false, false, false, false, 0, null)
  30. e.dispatchEvent(ev)
  31. }
  32. }
  33. }
  34. // 获取当前时间
  35. export const getNow = length => {
  36. return new Date(new Date().getTime() + 28800000).toJSON().slice(0, length).replace('T', ' ')
  37. }
  38. export default {
  39. preview,
  40. request,
  41. pinyin4js,
  42. snapshoot,
  43. getNextIdByAlias,
  44. decode,
  45. encryptByAes,
  46. download,
  47. sendMsg,
  48. bpmTaskSave,
  49. getNow,
  50. onlyOfficeToPdf
  51. }