<template>
<view>
	<view class="cu-custom" :style="[{height:CustomBar + 'px'}]">
		<view class="cu-bar fixed" :style="style" :class="[bgImage!=''?'none-bg text-white bg-img':'',bgColor]">
			<view class="action" @tap="BackPage" v-if="isBack">
				<text class="cuIcon-back"></text>
				<slot name="backText"></slot>
			</view>
			<view class="content" :style="[{top:StatusBar + 'px'}]">
				<slot></slot>
			</view>
			<slot name="right"></slot>
		</view>
	</view>
</view>
</template>

<script>
export default {
	data() {
		return {
			StatusBar: this.StatusBar || 0,
			CustomBar: this.CustomBar || 45
		};
	},
	name: 'cu-custom',
	computed: {
		style() {
			var StatusBar= this.StatusBar;
			var CustomBar= this.CustomBar;
			var bgImage = this.bgImage;
			var style = `height:${CustomBar}px;padding-top:${StatusBar}px;`;
			if (this.bgImage) {
				style = `${style}background-image:url(${bgImage});`;
			}
			return style
		}
	},
	props: {
		bgColor: {
			type: String,
			default: ''
		},
		isBack: {
			type: [Boolean, String],
			default: false
		},
		backUrl: {
			type: String,
			default: ''
		},
		bgImage: {
			type: String,
			default: ''
		},
	},
	methods: {
		BackPage() {
			if(this.backUrl != ''){
				return uni.redirectTo({url: this.backUrl})
			}
			if (getCurrentPages().length < 2 && 'undefined' !== typeof __wxConfig) {
				let url = '/' + __wxConfig.pages[0]
				return uni.redirectTo({url})
			}
			uni.navigateBack({
				delta: 1
			});
		}
	}
}
</script>
