main.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import Vue from "vue";
  2. import App from "./App.vue";
  3. import store from "./store/index";
  4. // 路由
  5. import router from "./router";
  6. import axios from "@/utils/axios";
  7. import common from "@/utils/common";
  8. import API from "@/api";
  9. // 共通filters
  10. import * as filters from "./filters";
  11. // 设置字体大小
  12. import "@/utils/rem";
  13. import "@/common/permission";
  14. // 全局css
  15. import "@/styles/index.scss";
  16. import { Button, Image, Dialog, NavBar, Tabbar, TabbarItem, Tabs, Tab, Grid, GridItem, Icon, List, Cell } from "vant";
  17. window.$_http = axios;
  18. // event Bus 用于无关系组件间的通信。
  19. Vue.prototype.$bus = new Vue();
  20. Vue.prototype.$_http = axios;
  21. Vue.prototype.$_API = API;
  22. Vue.use(common)
  23. Vue.component("VanButton", Button);
  24. Vue.component("VanImage", Image);
  25. Vue.component("VanDialog", Dialog);
  26. Vue.component("VanNavBar", NavBar);
  27. Vue.component("VanTabbar", Tabbar);
  28. Vue.component("VanTabbarItem", TabbarItem);
  29. Vue.component("VanTabs", Tabs);
  30. Vue.component("VanTab", Tab);
  31. Vue.component("VanGrid", Grid);
  32. Vue.component("VanGridItem", GridItem);
  33. Vue.component("VanIcon", Icon);
  34. Vue.component("VanList", List);
  35. Vue.component("VanCell", Cell);
  36. Object.entries(filters).forEach(([key, value]) => {
  37. Vue.filter(key, value);
  38. });
  39. router.beforeEach(async (to, from, next) => {
  40. console.warn(to.name, to);
  41. try {
  42. } catch (error) {
  43. console.error(error);
  44. }
  45. next();
  46. });
  47. new Vue({
  48. router,
  49. store,
  50. render: h => h(App)
  51. }).$mount("#app");