diff --git a/nezha-fronted/package.json b/nezha-fronted/package.json index 899b8d381..694d3a655 100644 --- a/nezha-fronted/package.json +++ b/nezha-fronted/package.json @@ -10,8 +10,11 @@ "build": "node build/build.js" }, "dependencies": { + "axios": "^0.19.0", "element-ui": "^2.13.0", "vue": "^2.5.2", + "vue-i18n": "^8.15.1", + "vue-infinite-scroll": "^2.0.2", "vue-router": "^3.0.1" }, "devDependencies": { diff --git a/nezha-fronted/src/components/common/Header.vue b/nezha-fronted/src/components/common/Header.vue deleted file mode 100644 index 8651f1127..000000000 --- a/nezha-fronted/src/components/common/Header.vue +++ /dev/null @@ -1,61 +0,0 @@ - - - - - \ No newline at end of file diff --git a/nezha-fronted/src/components/common/header.vue b/nezha-fronted/src/components/common/header.vue new file mode 100644 index 000000000..2cb1d47bd --- /dev/null +++ b/nezha-fronted/src/components/common/header.vue @@ -0,0 +1,164 @@ + + + + + + + \ No newline at end of file diff --git a/nezha-fronted/src/components/common/i18n.js b/nezha-fronted/src/components/common/i18n.js new file mode 100644 index 000000000..3c4055a1a --- /dev/null +++ b/nezha-fronted/src/components/common/i18n.js @@ -0,0 +1,13 @@ +import Vue from 'vue' +import locale from 'element-ui/lib/locale'; +import VueI18n from 'vue-i18n' +import messages from './language' +Vue.use(VueI18n) +//从localStorage获取语言选择。 +const i18n = new VueI18n({ + locale: localStorage.language || 'en', //初始未选择默认 en 英文 + messages, +}) +locale.i18n((key, value) => i18n.t(key, value)) //兼容element + +export default i18n \ No newline at end of file diff --git a/nezha-fronted/src/components/common/language/cn.js b/nezha-fronted/src/components/common/language/cn.js new file mode 100644 index 000000000..4fbb605a6 --- /dev/null +++ b/nezha-fronted/src/components/common/language/cn.js @@ -0,0 +1,11 @@ +import zhLocale from 'element-ui/lib/locale/lang/zh-CN' //引入element语言包 +const cn = { + overall:{ + dashboard:'仪表盘', + project:'工程', + asset:'资产' + }, + ...zhLocale +} + +export default cn; \ No newline at end of file diff --git a/nezha-fronted/src/components/common/language/en.js b/nezha-fronted/src/components/common/language/en.js new file mode 100644 index 000000000..e49395420 --- /dev/null +++ b/nezha-fronted/src/components/common/language/en.js @@ -0,0 +1,11 @@ +import enLocale from 'element-ui/lib/locale/lang/en' //引入element语言包 +const en = { + overall:{ + dashboard:'dashboard', + project:'project', + asset:'asset' + }, + ...enLocale +} + +export default en; \ No newline at end of file diff --git a/nezha-fronted/src/components/common/language/index.js b/nezha-fronted/src/components/common/language/index.js new file mode 100644 index 000000000..af8721a34 --- /dev/null +++ b/nezha-fronted/src/components/common/language/index.js @@ -0,0 +1,6 @@ +import en from './en'; +import cn from './cn'; +export default { + en: en, + cn: cn +} \ No newline at end of file diff --git a/nezha-fronted/src/main.js b/nezha-fronted/src/main.js index 7c87af429..589dd2b04 100644 --- a/nezha-fronted/src/main.js +++ b/nezha-fronted/src/main.js @@ -1,24 +1,33 @@ -// The Vue build version to load with the `import` command -// (runtime-only or standalone) has been set in webpack.base.conf with an alias. - import "./assets/css/main.css"; import 'element-ui/lib/theme-chalk/index.css'; import ElementUI from 'element-ui'; -import vueiInfinite from 'vue-infinite-scroll' +import i18n from './components/common/i18n' import Vue from 'vue' import App from './App' import router from './router' +import axios from 'axios'; +import { post, get, patch, put, del } from './components/common/js/http.js' + +import Pagination from "./components/common/pagination"; //引入全局分页组件 +Vue.component("Pagination", Pagination); + +Vue.prototype.$axios = axios +Vue.prototype.$post = post; +Vue.prototype.$get = get; +Vue.prototype.$patch = patch; +Vue.prototype.$put = put; +Vue.prototype.$delete = del; Vue.config.productionTip = false Vue.use(ElementUI) -Vue.use(vueiInfinite) /* eslint-disable no-new */ new Vue({ el: '#app', router, + i18n, components: { App }, template: '' })