niucloud-admin/niucloud/public/wap/assets/u-image.9550a236.js
全栈小学生 98b1289ede up
2026-01-13 09:17:40 +08:00

2 lines
3.4 KiB
JavaScript

import{a7 as e,a8 as a,a9 as i,ad as o,ax as t,ae as r,k as d,l as s,o as n,c as l,w as h,e as g,j as u,i as m,a4 as c,R as p,m as y}from"./index-9beb7d4b.js";import{_ as w}from"./u-icon.cf85e4a8.js";import{_ as f}from"./u-transition.280d6a46.js";import{_ as b}from"./_plugin-vue_export-helper.1b428a4d.js";const _=b({name:"u-image",mixins:[a,i,{props:{src:{type:String,default:()=>e.image.src},mode:{type:String,default:()=>e.image.mode},width:{type:[String,Number],default:()=>e.image.width},height:{type:[String,Number],default:()=>e.image.height},shape:{type:String,default:()=>e.image.shape},radius:{type:[String,Number],default:()=>e.image.radius},lazyLoad:{type:Boolean,default:()=>e.image.lazyLoad},showMenuByLongpress:{type:Boolean,default:()=>e.image.showMenuByLongpress},loadingIcon:{type:String,default:()=>e.image.loadingIcon},errorIcon:{type:String,default:()=>e.image.errorIcon},showLoading:{type:Boolean,default:()=>e.image.showLoading},showError:{type:Boolean,default:()=>e.image.showError},fade:{type:Boolean,default:()=>e.image.fade},webp:{type:Boolean,default:()=>e.image.webp},duration:{type:[String,Number],default:()=>e.image.duration},bgColor:{type:String,default:()=>e.image.bgColor}}}],data(){return{isError:!1,loading:!0,opacity:1,durationTime:this.duration,backgroundStyle:{},show:!1}},watch:{src:{immediate:!0,handler(e){e?(this.isError=!1,this.loading=!0):this.isError=!0}}},computed:{wrapStyle(){let e={};return e.width=o(this.width),e.height=o(this.height),e.borderRadius="circle"==this.shape?"10000px":o(this.radius),e.overflow=this.radius>0?"hidden":"visible",t(e,r(this.customStyle))}},mounted(){this.show=!0},emits:["click","error","load"],methods:{addUnit:o,onClick(){this.$emit("click")},onErrorHandler(e){this.loading=!1,this.isError=!0,this.$emit("error",e)},onLoadHandler(e){this.loading=!1,this.isError=!1,this.$emit("load",e),this.removeBgColor()},removeBgColor(){this.backgroundStyle={backgroundColor:"transparent"}}}},[["render",function(e,a,i,o,t,r){const b=p,_=d(s("u-icon"),w),S=y,k=d(s("u-transition"),f);return n(),l(k,{mode:"fade",show:t.show,duration:e.fade?1e3:0},{default:h(()=>[g(S,{class:"u-image",onClick:r.onClick,style:u([r.wrapStyle,t.backgroundStyle])},{default:h(()=>[t.isError?m("v-if",!0):(n(),l(b,{key:0,src:e.src,mode:e.mode,onError:r.onErrorHandler,onLoad:r.onLoadHandler,"show-menu-by-longpress":e.showMenuByLongpress,"lazy-load":e.lazyLoad,class:"u-image__image",style:u({borderRadius:"circle"==e.shape?"10000px":r.addUnit(e.radius),width:r.addUnit(e.width),height:r.addUnit(e.height)})},null,8,["src","mode","onError","onLoad","show-menu-by-longpress","lazy-load","style"])),e.showLoading&&t.loading?(n(),l(S,{key:1,class:"u-image__loading",style:u({borderRadius:"circle"==e.shape?"50%":r.addUnit(e.radius),backgroundColor:this.bgColor,width:r.addUnit(e.width),height:r.addUnit(e.height)})},{default:h(()=>[c(e.$slots,"loading",{},()=>[g(_,{name:e.loadingIcon,width:e.width,height:e.height},null,8,["name","width","height"])],!0)]),_:3},8,["style"])):m("v-if",!0),e.showError&&t.isError&&!t.loading?(n(),l(S,{key:2,class:"u-image__error",style:u({borderRadius:"circle"==e.shape?"50%":r.addUnit(e.radius),width:r.addUnit(e.width),height:r.addUnit(e.height)})},{default:h(()=>[c(e.$slots,"error",{},()=>[g(_,{name:e.errorIcon,width:e.width,height:e.height},null,8,["name","width","height"])],!0)]),_:3},8,["style"])):m("v-if",!0)]),_:3},8,["onClick","style"])]),_:3},8,["show","duration"])}],["__scopeId","data-v-febc2405"]]);export{_};