@aplus-frontend/ui
Version:
2 lines (1 loc) • 2.67 kB
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),y=require("@aplus-frontend/antdv"),_=require("@ant-design/icons-vue"),n=require("./hooks/useOss.js");require("../../config-provider/index.js");const I=require("./style/index.js"),M=require("./imgs/admin-fallback.jpg.js"),A=require("./imgs/user-fallback.jpg.js"),B=require("lodash-unified"),S=require("../../config-provider/hooks/use-namespace.js"),c=require("../../config-provider/hooks/use-global-config.js"),U=require("../../config-provider/hooks/use-locale.js"),F=e.defineComponent({__name:"ApImage",props:{getOssAccess:{},width:{},height:{},alt:{},fallback:{},src:{},fileName:{},uiMode:{},preview:{type:[Boolean,Object],default:!0}},setup(f){const{b:l}=S.useNamespace("ap-image"),u=I.default("ap-image"),r=f,i={aplus:A.default,admin:M.default},p=c.useGlobalConfig("apImage",{uiMode:"aplus"}),m=c.useGlobalConfig("apUpload"),d=c.useGlobalConfig("downloadCenterTriggerConfig"),g=e.computed(()=>r.uiMode||p.value?.uiMode),{t:b,lang:v}=U.useLocale(),k=e.computed(()=>r.getOssAccess||m.value?.getOssAccess),C=e.computed(()=>i[g.value]||i.aplus),h=e.computed(()=>r?.fallback||C.value),s=e.ref("");n.injectLocaleToOss(b,v),e.watchEffect(async()=>{if(!r?.src){s.value="";return}if(!r.src?.startsWith("Frontend-Upload")){s.value=r.src;return}try{const a=await n.getOssInstance(k.value),o=await n.getSignatureUrl({oss:a,fileName:r.src});o&&(s.value=o)}catch{s.value=""}});async function w(){if(!r?.src)return;const a=r.src,o=r.fileName??r.src;if(!r.src?.startsWith("Frontend-Upload")){q(a,o);return}if(d.value?.trigger){let t=[{objectName:a,fileName:o}];await d.value?.trigger(t)}}const q=(a,o)=>{const t=document.createElement("a");t.href=a,t.rel="noopener noreferrer",t.setAttribute("download",o),document.body.appendChild(t),t.click(),document.body.removeChild(t)};return(a,o)=>(e.openBlock(),e.createBlock(e.unref(y.Image),e.mergeProps({class:[e.unref(l)(),e.unref(u)]},{...e.unref(B.omit)(r,["src","getOssAccess"]),fallback:h.value,src:s.value}),{toolbarRender:e.withCtx(t=>[e.renderSlot(a.$slots,"toolbarRender",e.normalizeProps(e.guardReactiveProps({...t})),()=>[e.createElementVNode("div",{class:e.normalizeClass([e.unref(l)("toolbar"),e.unref(u)])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.originalNodes,(O,N)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(O),e.mergeProps({ref_for:!0},r,{key:N}),null,16))),128)),e.createElementVNode("div",{class:"ant-image-preview-operations-operation",onClick:w},[e.createVNode(e.unref(_.DownloadOutlined))])],2)])]),_:3},16,["class"]))}});exports.default=F;