| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 | <template>	<view class="grace-full-loading" v-if="graceFullLoading" @tap.stop="" @touchmove.stop.prevent="" 	:style="{		backgroundColor:background, left:graceFullLoading?'0px':'-1000px',		opacity:graceFullLoading?1:0}">		<image class="grace-full-loading-image" ref="loadingLogos" :src="logoUrl" mode="widthFix" :style="{width:size, height:size}"></image>		<text class="grace-full-loading-text" :style="{color:textColor, fontSize:fontSize}">{{text}}</text>	</view></template><script>var animation = weex.requireModule('animation');export default {	name: "graceFullLoading",	props: {		graceFullLoading: {			type    : Boolean,			default : false		},		logoUrl : {			type    : String,			default : ""		},		text : {			type    : String,			default : "Loading ..."		},		fontSize : {			type    : String,			default : "22rpx"		},		textColor : {			type    : String,			default : "#999999"		},		size : {			type    : String,			default : "138rpx"		},		background : {			type    : String,			default : 'rgba(255,255,255,1)'		}	},	updated : function(){		setTimeout(()=>{			var loadingLogos = this.$refs.loadingLogos;			this.animation1(loadingLogos);		}, 200);	},	methods: {		animation1 : function(loadingLogos){			if(!this.graceFullLoading){return ;}			var _self = this;			animation.transition(loadingLogos, {				styles: { opacity:0.3},				duration: 1000, 				timingFunction: 'linear',				needLayout:false,				delay: 0 			}, function (){				_self.animation2(loadingLogos);			});		},		animation2 : function(loadingLogos){			if(!this.graceFullLoading){return ;}			var _self = this;			animation.transition(loadingLogos, {				styles: { opacity: 1},				duration: 1000, 				timingFunction: 'linear',				needLayout:false,				delay: 0 				}, function (){_self.animation1(loadingLogos);}			);		}	}}</script><style scoped>.grace-full-loading{width:750rpx; justify-content:center; align-items:center; background-color:rgba(255,255,255,0.9); position:fixed; top:0; bottom:0;}.grace-full-loading-image{width:150rpx; height:150rpx; border-radius:150rpx;}.grace-full-loading-text{line-height:50rpx; font-size:22rpx; margin-top:10rpx; text-align:center;}</style>
 |