123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- <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>
|