floder.ts 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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. // debugger
  17. const otherFloders = [{
  18. filesId: 88,
  19. filesTypeId: 3,
  20. filesTitle: '勘验笔录',
  21. ex: `${namespace}/caseInquest/info`,
  22. bex: `${namespace}/caseInquest/downDocx`
  23. }, {
  24. filesId: 89,
  25. filesTypeId: 4,
  26. filesTitle: '提取清单',
  27. ex: `${namespace}/caseExtractDetail/info`,
  28. bex: `${namespace}/caseExtractDetail/downDocx`
  29. },]
  30. const res = await axios.get(`${namespace}/caseImg/getFfmpegImage`, { params: { caseId: params.caseId } })
  31. if (res.data.data.length) {
  32. res.data.data.forEach((item: any, ndx: any) => {
  33. floders.push({
  34. filesId: 100 + ndx,
  35. filesTypeId: 2,
  36. filesTitle: '照片制卷图',
  37. caseId: params.caseId.toString(),
  38. filesUrl: item.imgUrl
  39. })
  40. })
  41. }
  42. await Promise.all(otherFloders.map(async of => {
  43. const kybl = await axios.get(of.ex, { params: { caseId: params.caseId } })
  44. if (kybl) {
  45. const data = await axios.get(of.bex, { params: { caseId: params.caseId }, responseType: 'blob' })
  46. const blob = data.data
  47. floders.push({
  48. ...of,
  49. caseId: params.caseId.toString(),
  50. filesUrl: URL.createObjectURL(blob)
  51. })
  52. }
  53. }))
  54. console.log('last-floders', floders)
  55. return floders
  56. }