floder_REMOTE_1600.ts 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import { params } from '@/env'
  2. import { FLODER_LIST } from './constant'
  3. import { addUnsetResErrorURLS,axios } from './instance'
  4. import {namespace} from '@/env'
  5. export interface Floder {
  6. filesId: number,
  7. caseId: string,
  8. filesTypeId: number,
  9. filesTitle: string,
  10. filesUrl: string,
  11. }
  12. export type Floders = Floder[]
  13. addUnsetResErrorURLS(`${namespace}/caseInquest/downDocx`, `${namespace}/caseExtractDetail/downDocx`, `${namespace}/caseImg/getFfmpegImage`)
  14. export const fetchFloders = async () => {
  15. const floders = await axios.get<Floders>(FLODER_LIST, { params: { caseId: params.caseId } })
  16. const otherFloders = [{
  17. filesId: 88,
  18. filesTypeId: 100,
  19. filesTitle: '勘验笔录',
  20. ex: `${namespace}/caseInquest/info`,
  21. bex: `${namespace}/caseInquest/downDocx`
  22. }, {
  23. filesId: 89,
  24. filesTypeId: 100,
  25. filesTitle: '提取清单',
  26. ex: `${namespace}/caseExtractDetail/info`,
  27. bex: `${namespace}/caseExtractDetail/downDocx`
  28. }, ]
  29. const res = await axios.get(`${namespace}/caseImg/getFfmpegImage`, {params: {caseId: params.caseId}})
  30. if (res.data.data.length) {
  31. res.data.data.forEach((item:any, ndx: any) => {
  32. floders.push({
  33. filesId: 100 + ndx,
  34. filesTypeId: -1,
  35. filesTitle: '照片制卷图',
  36. caseId: params.caseId.toString(),
  37. filesUrl: item.imgUrl
  38. })
  39. })
  40. }
  41. await Promise.all(otherFloders.map(async of => {
  42. const kybl = await axios.get(of.ex, { params: { caseId: params.caseId } })
  43. if (kybl) {
  44. const data = await axios.get(of.bex, { params: { caseId: params.caseId }, responseType: 'blob' })
  45. const blob = data.data
  46. floders.push({
  47. ...of,
  48. caseId: params.caseId.toString(),
  49. filesUrl: URL.createObjectURL(blob)
  50. })
  51. }
  52. }))
  53. return floders
  54. }