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: ''
})