From 453e41b052242f6d4539e75acababe87fb7ae550 Mon Sep 17 00:00:00 2001 From: MaysWind Date: Sat, 31 Oct 2020 19:12:29 +0800 Subject: [PATCH] add version in login page --- package-lock.json | 6 ++++++ package.json | 1 + src/lib/version.js | 7 +++++++ src/mobile-main.js | 2 ++ src/views/mobile/Login.vue | 12 ++++++++++++ vue.config.js | 13 ++++++++++++- 6 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 src/lib/version.js diff --git a/package-lock.json b/package-lock.json index 1528e9f5..8cb2bb70 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5669,6 +5669,12 @@ "assert-plus": "^1.0.0" } }, + "git-revision-webpack-plugin": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/git-revision-webpack-plugin/-/git-revision-webpack-plugin-3.0.6.tgz", + "integrity": "sha512-vW/9dBahGbpKPcccy3xKkHgdWoH/cAPPc3lQw+3edl7b4j29JfNGVrja0a1d8ZoRe4nTN8GCPrF9aBErDnzx5Q==", + "dev": true + }, "glob": { "version": "7.1.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", diff --git a/package.json b/package.json index 8511ed96..f6b57136 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,7 @@ "babel-plugin-component": "^1.1.1", "eslint": "^6.7.2", "eslint-plugin-vue": "^6.2.2", + "git-revision-webpack-plugin": "^3.0.6", "vue-template-compiler": "^2.6.11" }, "eslintConfig": { diff --git a/src/lib/version.js b/src/lib/version.js new file mode 100644 index 00000000..ca06c849 --- /dev/null +++ b/src/lib/version.js @@ -0,0 +1,7 @@ +export default { + getVersion: () => { + let version = process.env.VERSION || 'unknown'; + let commitHash = process.env.COMMIT_HASH || 'unknown'; + return `${version}-${commitHash.substr(0, Math.min(10, commitHash.length))}`; + } +}; diff --git a/src/mobile-main.js b/src/mobile-main.js index 612ab1a1..6f772ef5 100644 --- a/src/mobile-main.js +++ b/src/mobile-main.js @@ -12,6 +12,7 @@ import 'framework7/css/framework7.bundle.css'; import 'framework7-icons'; import { getAllLanguages, getLanguage, getDefaultLanguage, getI18nOptions, getLocalizedError } from './lib/i18n.js'; +import version from './lib/version.js'; import settings from './lib/settings.js'; import services from './lib/services.js'; import userstate from './lib/userstate.js'; @@ -24,6 +25,7 @@ Framework7.use(Framework7Vue); const i18n = new VueI18n(getI18nOptions()); +Vue.prototype.$version = version.getVersion; Vue.prototype.$settings = settings; Vue.prototype.$getDefaultLanguage = getDefaultLanguage; Vue.prototype.$getAllLanguages = getAllLanguages; diff --git a/src/views/mobile/Login.vue b/src/views/mobile/Login.vue index a046fc85..eedfcde0 100644 --- a/src/views/mobile/Login.vue +++ b/src/views/mobile/Login.vue @@ -31,6 +31,15 @@ + + + Powered by + lab  + {{ version }} + + + + { + const gitRevisionPlugin = new GitRevisionPlugin(); + definitions[0]['process.env']['VERSION'] = JSON.stringify(pkgFile.version); + definitions[0]['process.env']['COMMIT_HASH'] = JSON.stringify(gitRevisionPlugin.commithash()); + + return definitions; + }); }, devServer: { host: '0.0.0.0',