1 |
- import{x as e,y as o,z as r,h as i,i as a,a as t,c as d,w as s,b as n,n as l,g as h,C as u,q as g,j as m,aS as c}from"./index-65a0752a.js";import{_ as p}from"./u-icon.086befcc.js";import{_ as y}from"./u-transition.4a1deb0f.js";import{_ as w}from"./_plugin-vue_export-helper.1b428a4d.js";const f={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}}};const b=w({name:"u--image",mixins:[o,f,r],components:{uvImage:w({name:"u-image",mixins:[o,r,f],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=this.$u.addUnit(this.width),e.height=this.$u.addUnit(this.height),e.borderRadius="circle"==this.shape?"10000px":uni.$u.addUnit(this.radius),e.overflow=this.radius>0?"hidden":"visible",uni.$u.deepMerge(e,uni.$u.addStyle(this.customStyle))}},mounted(){this.show=!0},emits:["click","error","load"],methods:{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,o,r,c,w,f){const b=g,$=i(a("u-icon"),p),L=m,S=i(a("u-transition"),y);return t(),d(S,{mode:"fade",show:w.show,duration:e.fade?1e3:0},{default:s((()=>[n(L,{class:"u-image",onClick:f.onClick,style:l([f.wrapStyle,w.backgroundStyle])},{default:s((()=>[w.isError?h("v-if",!0):(t(),d(b,{key:0,src:e.src,mode:e.mode,onError:f.onErrorHandler,onLoad:f.onLoadHandler,"show-menu-by-longpress":e.showMenuByLongpress,"lazy-load":e.lazyLoad,class:"u-image__image",style:l({borderRadius:"circle"==e.shape?"10000px":e.$u.addUnit(e.radius),width:e.$u.addUnit(e.width),height:e.$u.addUnit(e.height)})},null,8,["src","mode","onError","onLoad","show-menu-by-longpress","lazy-load","style"])),e.showLoading&&w.loading?(t(),d(L,{key:1,class:"u-image__loading",style:l({borderRadius:"circle"==e.shape?"50%":e.$u.addUnit(e.radius),backgroundColor:this.bgColor,width:e.$u.addUnit(e.width),height:e.$u.addUnit(e.height)})},{default:s((()=>[u(e.$slots,"loading",{},(()=>[n($,{name:e.loadingIcon,width:e.width,height:e.height},null,8,["name","width","height"])]),!0)])),_:3},8,["style"])):h("v-if",!0),e.showError&&w.isError&&!w.loading?(t(),d(L,{key:2,class:"u-image__error",style:l({borderRadius:"circle"==e.shape?"50%":e.$u.addUnit(e.radius),width:e.$u.addUnit(e.width),height:e.$u.addUnit(e.height)})},{default:s((()=>[u(e.$slots,"error",{},(()=>[n($,{name:e.errorIcon,width:e.width,height:e.height},null,8,["name","width","height"])]),!0)])),_:3},8,["style"])):h("v-if",!0)])),_:3},8,["onClick","style"])])),_:3},8,["show","duration"])}],["__scopeId","data-v-466b6710"]])},emits:["click","error","load"]},[["render",function(e,o,r,i,a,n){const l=c("uvImage");return t(),d(l,{src:e.src,mode:e.mode,width:e.width,height:e.height,shape:e.shape,radius:e.radius,lazyLoad:e.lazyLoad,showMenuByLongpress:e.showMenuByLongpress,loadingIcon:e.loadingIcon,errorIcon:e.errorIcon,showLoading:e.showLoading,showError:e.showError,fade:e.fade,webp:e.webp,duration:e.duration,bgColor:e.bgColor,customStyle:e.customStyle,onClick:o[0]||(o[0]=o=>e.$emit("click")),onError:o[1]||(o[1]=o=>e.$emit("error")),onLoad:o[2]||(o[2]=o=>e.$emit("load"))},{loading:s((()=>[u(e.$slots,"loading")])),error:s((()=>[u(e.$slots,"error")])),_:3},8,["src","mode","width","height","shape","radius","lazyLoad","showMenuByLongpress","loadingIcon","errorIcon","showLoading","showError","fade","webp","duration","bgColor","customStyle"])}]]);export{b as _};
|