diff --git a/gen-version.js b/gen-version.js new file mode 100644 index 0000000..9a35a98 --- /dev/null +++ b/gen-version.js @@ -0,0 +1,6 @@ +const fs = require('fs') +const path = require('path') + +const version = Date.now() +const versionModule = `export const version = "${version}"` +fs.writeFileSync(path.resolve(__dirname, 'src/version.js'), versionModule) diff --git a/package.json b/package.json index 0fb8e3f..5d5d9be 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,7 @@ "version": "0.1.0", "private": true, "scripts": { + "prebuild": "node gen-version.js", "dev": "vite", "build": "vite build", "lint": "vite lint" diff --git a/src/main.ts b/src/main.ts index 581c520..4ad81d7 100644 --- a/src/main.ts +++ b/src/main.ts @@ -4,9 +4,19 @@ import router from './router' import { GetSelfAccount } from './api/account' import { GetNotifactions } from './data/notifactions' +let currentVersion +import('@/version.js').then((versionModule) => { + currentVersion = versionModule.version + const savedVersion = localStorage.getItem('Version') + + if (currentVersion && savedVersion && savedVersion !== currentVersion) { + alert('新的版本更新, 请按 Ctrl+F5 强制刷新页面') + } + + localStorage.setItem('Version', currentVersion) +}) + createApp(App).use(router).mount('#app') GetSelfAccount() GetNotifactions() - - diff --git a/vite.config.ts b/vite.config.ts index 524c798..440050b 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -5,6 +5,8 @@ import path from 'path' import svgLoader from 'vite-svg-loader' import mkcert from 'vite-plugin-mkcert' +const Timestamp = new Date().getTime() + export default defineConfig({ plugins: [vue(), svgLoader()], resolve: {