<template>
  <view v-if="showSplash" class="splash-screen">
    <!-- 富文本內容 -->
    <view class="splash-content">
      <image
        :src="splashContent"
        mode="scaleToFill"
        class="splash-image"
      />
    </view>
    
    <!-- 跳過按鈕 -->
    <view class="skip-button" >
      <text class="skip-text">跳過  ({{ countdown }}s)</text>
    </view>
    <!-- 定位英語文字和中文文字到左下角 -->
    <view class="text-container">
      <text class="english-text">
        {{ configParamContent('creen_en') }}
      </text>
      <text class="chinese-text">
        {{ configParamContent('creen_zh') }}
      </text>
    </view>
  </view>
</template>

<script>
// import config from '../../mixins/config.js'

export default {
  name: 'SplashScreen',
  // mixins: [config],
  props: {
    // 顯示時長（秒）
    duration: {
      type: Number,
      default: 5
    }
  },
  data() {
    return {
      showSplash: false,
      countdown: 5,
      timer: null,
      splashContent: ''
    }
  },
  computed: {
    image() {
      return this.configParamContent('creen_image') || uni.getStorageSync('screen_image')
    }
  },
  mounted() {
    this.initSplash()
    
    uni.hideTabBar()
  },
  beforeDestroy() {
    this.clearTimer()
  },
  methods: {
    // 初始化開動頁面
    async initSplash() {
      try {
        // 獲取富文本內容
      this.splashContent = this.image
        
        // 如果有內容才顯示
        if (this.splashContent) {
          this.countdown = this.duration
          this.showSplash = true
          this.startCountdown()
        }
      } catch (error) {
        console.error('獲取開動頁面內容失敗:', error)
      }
    },
    
    // 開始倒計時
    startCountdown() {
      this.timer = setInterval(() => {
        this.countdown--
        if (this.countdown <= 0) {
          this.closeSplash()
        }
      }, 1000)
    },
    
    // 關閉開動頁面
    closeSplash() {
      this.showSplash = false
      uni.showTabBar({
        animation: true
      })
      this.clearTimer()
      this.$emit('close')
    },
    
    // 清除計時器
    clearTimer() {
      if (this.timer) {
        clearInterval(this.timer)
        this.timer = null
      }
    }
  }
}
</script>

<style lang="scss" scoped>
.splash-screen {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: #fff;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  .splash-image{
    width: 100%;
    height: 100%;
  }
}

.splash-content {
  flex: 1;
  width: 100%;
  height: 100%;
  overflow: hidden;
  
  // 富文本樣式
  :deep(rich-text) {
    width: 100%;
    height: 100%;
    display: block;
    img{
      width: 100%;
    height: 100%;
    }
  }
}

.skip-button {
  position: absolute;
  top: 100rpx;
  left: 40rpx;
  background-color: #0000004D;

  border-radius: 100rpx;
  width: 148rpx ;
  height: 60rpx;
  text-align: center;
  z-index: 10000;
  
  
  .skip-text {
    font-size: 24rpx;
    line-height: 60rpx;
    color: #fff;
  }
}

// 文字容器定位到左下角
.text-container {
  position: absolute;
  bottom: 80rpx;
  left: 40rpx;
  z-index: 10001;
  display: flex;
  flex-direction: column;
  gap: 8rpx;
}

// 英文文字样式
.english-text {
  font-family: PingFang SC;
  font-weight: 600;
  font-size: 32rpx; // 16px转换为rpx
  line-height: 48rpx; // 24px转换为rpx
  letter-spacing: 0;
  color: #FFFFFF;
  background: transparent;
}

// 中文文字样式
.chinese-text {
  font-family: PingFang SC;
  // font-weight: 600;
  font-size: 32rpx; // 16px转换为rpx
  line-height: 48rpx; // 24px转换为rpx
  letter-spacing: 0;
  color: #FFFFFF;
  background: transparent;
}

// 確保覆蓋 tabbar
.splash-screen {
  // 覆蓋所有內容，包括 tabbar
  position: fixed !important;
  z-index: 9999 !important;
}
</style>