seal.js 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. import request from '@/utils/request'
  2. import { FORM_URL } from '@/api/baseUrl'
  3. import axios from 'axios'
  4. const BASE_URL = process.env.VUE_APP_BASE_URL
  5. /**
  6. * ca电子签章接口
  7. * @param {*} params
  8. */
  9. export const goSeal = params => {
  10. return request({
  11. url: FORM_URL() + '/sys/esspdf/fileSign',
  12. method: 'post',
  13. isLoading: true,
  14. data: params
  15. })
  16. }
  17. /**
  18. * word 转 pdf
  19. * @param {*} params
  20. */
  21. export const wordToPdf = params => {
  22. return request({
  23. url: FORM_URL() + '/sys/esspdf/wordToPdf',
  24. method: 'post',
  25. isLoading: true,
  26. data: params
  27. })
  28. }
  29. /**
  30. * 关键字盖章
  31. * @param {*} data
  32. */
  33. export const sealByKeywords = data => {
  34. return request({
  35. url: FORM_URL() + '/sys/esspdf/fileSignByKeyWord',
  36. method: 'post',
  37. isLoading: true,
  38. data
  39. })
  40. }
  41. /**
  42. * 转pdf并签章
  43. * @param {*} params
  44. */
  45. export const docxToPdfAndSign = params => {
  46. return request({
  47. url: FORM_URL() + '/sys/esspdf/onlyOfficeToPdfAndSign',
  48. method: 'post',
  49. isLoading: true,
  50. params
  51. })
  52. }
  53. export const onlyOfficeToPdf = params => {
  54. return request({
  55. url: FORM_URL() + '/sys/esspdf/onlyOfficeToPdf',
  56. method: 'post',
  57. isLoading: true,
  58. params
  59. })
  60. }
  61. /* 自动微签:脚本对文件盖章 */
  62. export function seal (url, fileType, type) {
  63. const Base64 = require('js-base64').Base64
  64. const data = {
  65. 'signKey': 'V1FTMjAyMTEyMjFkOTVjNWM=',
  66. 'signSecret': 'YWQwMmY3ZjQ4ZDJmMmYwNDA=',
  67. 'sealUser': 'YWRtaW4=',
  68. 'password': 'MTIzNA==',
  69. // "ruleName": "6aqR57yd56ug6KeE5YiZLOmmlumhteeblueroA==",
  70. 'ruleName': type,
  71. 'provideSigFile': Base64.encode(url),
  72. 'fileKey': Base64.encode(generateUUID() + '.' + fileType)
  73. }
  74. return axios({
  75. url: `${BASE_URL}doSeal/`,
  76. method: 'post',
  77. data: data
  78. })
  79. }
  80. /* 手动微签:脚本对文件进行手动盖章-预处理 */
  81. export function sealPre (url, fileKey) {
  82. const Base64 = require('js-base64').Base64
  83. const data = {
  84. 'signKey': 'V1FTMjAyMTEyMjFkOTVjNWM=',
  85. 'signSecret': 'YWQwMmY3ZjQ4ZDJmMmYwNDA=',
  86. 'sealUser': 'YWRtaW4=',
  87. 'password': 'MTIzNA==',
  88. 'provideSigFile': Base64.encode(url),
  89. // "getSigFile": Base64.encode(this.$form.$getSigFile),
  90. 'getSigFile': Base64.encode(`${BASE_URL}#/sealCompleted`),
  91. 'fileKey': Base64.encode(fileKey)
  92. }
  93. return axios({
  94. url: `${BASE_URL}preprocess/`,
  95. method: 'post',
  96. data: data
  97. })
  98. }
  99. /* 手动微签:脚本对文件进行手动盖章-手动签章页面的url */
  100. export function getSigPageUrl (sigFile) {
  101. const sigUrl = 'http://120.77.249.241:9999/manualSig/manualSigPage/?signKey=V1FTMjAyMTEyMjFkOTVjNWM=&signSecret=YWQwMmY3ZjQ4ZDJmMmYwNDA=&sigFile=' + sigFile
  102. return sigUrl
  103. }
  104. export function generateUUID () {
  105. var d = new Date().getTime()
  106. var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
  107. var r = (d + Math.random() * 16) % 16 | 0
  108. d = Math.floor(d / 16)
  109. return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16)
  110. })
  111. return uuid
  112. }