diff --git a/src/components/BuildVersion.vue b/src/components/BuildVersion.vue
new file mode 100644
index 0000000..fb4b904
--- /dev/null
+++ b/src/components/BuildVersion.vue
@@ -0,0 +1,22 @@
+
+ {{ version }}
+
+
+
+
+
\ No newline at end of file
diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts
new file mode 100644
index 0000000..b8f1d9e
--- /dev/null
+++ b/src/vite-env.d.ts
@@ -0,0 +1,11 @@
+///
+
+declare const __BUILD_VERSION__: string
+
+interface ImportMetaEnv {
+ readonly VITE_APP_TITLE: string
+}
+
+interface ImportMeta {
+ readonly env: ImportMetaEnv
+}
\ No newline at end of file
diff --git a/vite.config.ts b/vite.config.ts
index 64cb2b4..1d1f1ae 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -1,9 +1,17 @@
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { resolve } from 'path'
+import { execSync } from 'child_process'
+
+const gitHash = execSync('git log --format="%h" -1', { encoding: 'utf-8' }).trim()
+const buildTime = new Date().toISOString().slice(0, 19).replace(/[-:T]/g, '')
+const buildVersion = `${buildTime}-${gitHash}`
export default defineConfig({
plugins: [vue()],
+ define: {
+ __BUILD_VERSION__: JSON.stringify(buildVersion)
+ },
resolve: {
alias: {
'@': resolve(__dirname, 'src')