<script setup>
import { RouterView } from 'vue-router'
import { ref, onMounted, onUnmounted, nextTick } from 'vue'
import Confirm from '@/plugins/confirm'
import axios from 'axios'

const openCheckVersion = true // 开启检测版本
const timer = ref(null)
const setIntervalTime = 3000 // 300000 五分钟

function open () {
  if (timer.value) clearInterval(timer.value)
  timer.value = setInterval(() => { checkVersion() }, setIntervalTime)
}
onMounted(() => {
  nextTick(() => {
    console.log('baseurl:', import.meta.env?.VITE_BASE_URL, 'version:', import.meta.env?.VITE_VERSION, process?.env?.NODE_ENV) // 打印
    const process_ENV = process?.env?.NODE_ENV || ''
    if ((process_ENV === 'production' || process_ENV === 'development') && openCheckVersion) {
      open()
    }
  })
})
onUnmounted(() => {
  if (timer.value) clearInterval(timer.value)
})

let ConfirmDone = false
// 检查版本号
const checkVersion = () => {
  const baseUrl = import.meta.env.VITE_BASE_URL || ''
  const version = import.meta.env?.VITE_VERSION || ''
  const tenantId = import.meta.env?.VITE_TENANTCODE || ''
  // 
  if (!baseUrl || !version || !tenantId) return
  axios.get(`${baseUrl}/app-api/menduner/system/get/version`, {
    headers: { ['tenant-id']: tenantId },
    cache: 'no-store' // 禁用缓存
  }).then((res) => {
    if (res?.data?.data === version) {
      return
    }
    if (ConfirmDone) {
      return
    }
    ConfirmDone = true
    Confirm('系统提示', '发现新版本，将立即刷新页面', { hideCancelBtn: true }).then(() => {
      window.location.reload()
    })
  }).catch(err => {
    console.log('checkVersion-err', err)
  })
}
</script>

<template>
  <v-app>
    <RouterView />
  </v-app>
</template>

<style scoped>
</style>
