tdesign-vue-next
Version:
TDesign Component for vue-next
1 lines • 5.08 kB
Source Map (JSON)
{"version":3,"file":"index.mjs","sources":["../../../../components/image-viewer/utils/index.ts"],"sourcesContent":["import { isString } from 'lodash-es';\nimport { isArray } from 'lodash-es';\n\nimport { TdImageViewerProps, ImageInfo } from '../type';\n\nexport const downloadFile = function (imgSrc: string) {\n const image = new Image();\n // fix #2935\n // 当链接携带了参数时,需处理掉参数再取图片名称,否则扩展名会与参数链接导致原扩展名失效\n // 例如:img.png?sign=xxx 不处理参数会被转成 img.png_sign=xxx\n const name = imgSrc?.split?.('?')?.[0]?.split?.('#')?.[0]?.split?.('/').pop() || Math.random().toString(32).slice(2);\n\n image.setAttribute('crossOrigin', 'anonymous');\n\n image.onload = () => {\n const canvas = document.createElement('canvas');\n canvas.width = image.width;\n canvas.height = image.height;\n\n const context = canvas.getContext('2d');\n context.drawImage(image, 0, 0, image.width, image.height);\n canvas.toBlob((blob) => {\n const url = URL.createObjectURL(blob);\n const a = document.createElement('a');\n a.download = name;\n a.href = url;\n a.click();\n a.remove();\n URL.revokeObjectURL(url);\n });\n };\n image.src = imgSrc;\n};\n\nconst isImageInfo = (image: string | File | ImageInfo): image is ImageInfo => {\n return !!image && !isString(image) && !(image instanceof File);\n};\n\nexport const formatImages = (images: TdImageViewerProps['images']): ImageInfo[] => {\n if (!isArray(images)) return [];\n return images.map((item) => {\n if (isImageInfo(item)) {\n return {\n download: true,\n thumbnail: item.mainImage,\n ...item,\n };\n }\n return {\n mainImage: item,\n thumbnail: item,\n download: true,\n };\n });\n};\n\nexport const getOverlay = (props: TdImageViewerProps) => {\n if (props.showOverlay !== undefined) {\n return props.showOverlay;\n }\n return props.mode === 'modal';\n};\n"],"names":["downloadFile","imgSrc","_imgSrc$split","_imgSrc$split$split","_imgSrc$split$split$s","image","Image","name","split","call","pop","Math","random","toString","slice","setAttribute","onload","canvas","document","createElement","width","height","context","getContext","drawImage","toBlob","blob","url","URL","createObjectURL","a","download","href","click","remove","revokeObjectURL","src","isImageInfo","isString","File","formatImages","images","isArray","map","item","_objectSpread","thumbnail","mainImage","getOverlay","props","showOverlay","mode"],"mappings":";;;;;;;;;;;;IAKaA,YAAA,GAAe,SAAfA,YAAAA,CAAyBC,MAAgB,EAAA;AAAA,EAAA,IAAAC,aAAA,EAAAC,mBAAA,EAAAC,qBAAA,CAAA;AAC9C,EAAA,IAAAC,KAAA,GAAQ,IAAIC,KAAM,EAAA,CAAA;EAIlB,IAAAC,IAAA,GAAO,CAAAN,mBAAAA,sCAAAA,OAAQO,KAAQ,MAAAN,IAAAA,IAAAA,aAAA,gBAAAA,aAAA,GAAhBA,aAAA,CAAAO,IAAA,CAAAR,QAAgB,GAAG,4DAAnBC,aAAA,CAAuB,CAAI,CAAA,MAAA,IAAA,IAAAA,aAAA,KAAA,KAAA,CAAA,IAAA,CAAAC,mBAAA,GAA3BD,aAAA,CAA2BM,KAAA,MAAAL,IAAAA,IAAAA,mBAAA,gBAAAA,mBAAA,GAA3BA,mBAAA,CAAAM,IAAA,CAAAP,aAAA,EAAmC,GAAG,CAAA,MAAAC,IAAAA,IAAAA,mBAAA,gBAAAA,mBAAA,GAAtCA,mBAAA,CAA0C,CAAI,CAAA,cAAAA,mBAAA,KAAA,KAAA,CAAA,IAAA,CAAAC,qBAAA,GAA9CD,mBAAA,CAA8CK,KAAA,MAAA,IAAA,IAAAJ,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAA9CA,qBAAA,CAAAK,IAAA,CAAAN,mBAAA,EAAsD,GAAG,CAAE,CAAAO,GAAA,OAASC,IAAK,CAAAC,MAAA,GAASC,QAAS,CAAA,EAAE,CAAE,CAAAC,KAAA,CAAM,CAAC,CAAA,CAAA;AAE7GT,EAAAA,KAAA,CAAAU,YAAA,CAAa,eAAe,WAAW,CAAA,CAAA;EAE7CV,KAAA,CAAMW,SAAS,YAAM;AACb,IAAA,IAAAC,MAAA,GAASC,QAAS,CAAAC,aAAA,CAAc,QAAQ,CAAA,CAAA;AAC9CF,IAAAA,MAAA,CAAOG,QAAQf,KAAM,CAAAe,KAAA,CAAA;AACrBH,IAAAA,MAAA,CAAOI,SAAShB,KAAM,CAAAgB,MAAA,CAAA;AAEhB,IAAA,IAAAC,OAAA,GAAUL,MAAO,CAAAM,UAAA,CAAW,IAAI,CAAA,CAAA;AACtCD,IAAAA,OAAA,CAAQE,UAAUnB,KAAO,EAAA,CAAA,EAAG,GAAGA,KAAM,CAAAe,KAAA,EAAOf,MAAMgB,MAAM,CAAA,CAAA;AACjDJ,IAAAA,MAAA,CAAAQ,MAAA,CAAO,UAACC,IAAS,EAAA;AAChB,MAAA,IAAAC,GAAA,GAAMC,GAAI,CAAAC,eAAA,CAAgBH,IAAI,CAAA,CAAA;AAC9B,MAAA,IAAAI,CAAA,GAAIZ,QAAS,CAAAC,aAAA,CAAc,GAAG,CAAA,CAAA;MACpCW,CAAA,CAAEC,QAAW,GAAAxB,IAAA,CAAA;MACbuB,CAAA,CAAEE,IAAO,GAAAL,GAAA,CAAA;MACTG,CAAA,CAAEG,KAAM,EAAA,CAAA;MACRH,CAAA,CAAEI,MAAO,EAAA,CAAA;AACTN,MAAAA,GAAA,CAAIO,gBAAgBR,GAAG,CAAA,CAAA;AACzB,KAAC,CAAA,CAAA;GACH,CAAA;EACAtB,KAAA,CAAM+B,GAAM,GAAAnC,MAAA,CAAA;AACd,EAAA;AAEA,IAAMoC,WAAA,GAAc,SAAdA,WAAAA,CAAehC,KAAyD,EAAA;AACrE,EAAA,OAAA,CAAC,CAACA,KAAS,IAAA,CAACiC,SAASjC,KAAK,CAAA,IAAK,EAAEA,KAAiB,YAAAkC,IAAA,CAAA,CAAA;AAC3D,CAAA,CAAA;IAEaC,YAAA,GAAe,SAAfA,YAAAA,CAAgBC,MAAsD,EAAA;AAC7E,EAAA,IAAA,CAACC,QAAQD,MAAM,CAAA,EAAG,OAAO,EAAC,CAAA;AACvB,EAAA,OAAAA,MAAA,CAAOE,GAAI,CAAA,UAACC,IAAS,EAAA;AACtB,IAAA,IAAAP,WAAA,CAAYO,IAAI,CAAG,EAAA;AACd,MAAA,OAAAC,aAAA,CAAA;AACLd,QAAAA,QAAU,EAAA,IAAA;QACVe,WAAWF,IAAK,CAAAG,SAAAA;AAAA,OAAA,EACbH,IAAA,CAAA,CAAA;AAEP,KAAA;IACO,OAAA;AACLG,MAAAA,SAAW,EAAAH,IAAA;AACXE,MAAAA,SAAW,EAAAF,IAAA;AACXb,MAAAA,QAAU,EAAA,IAAA;KACZ,CAAA;AACF,GAAC,CAAA,CAAA;AACH,EAAA;IAEaiB,UAAA,GAAa,SAAbA,UAAAA,CAAcC,KAA8B,EAAA;AACnD,EAAA,IAAAA,KAAA,CAAMC,gBAAgB,KAAW,CAAA,EAAA;IACnC,OAAOD,KAAM,CAAAC,WAAA,CAAA;AACf,GAAA;AACA,EAAA,OAAOD,MAAME,IAAS,KAAA,OAAA,CAAA;AACxB;;;;"}