main.js 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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 {
  17. Button,
  18. Image,
  19. Dialog,
  20. NavBar,
  21. Tabbar,
  22. TabbarItem,
  23. Tabs,
  24. Tab,
  25. Grid,
  26. GridItem,
  27. Icon,
  28. List,
  29. Cell,
  30. CellGroup,
  31. Swipe,
  32. SwipeItem,
  33. DropdownMenu,
  34. DropdownItem,
  35. Progress,
  36. Skeleton,
  37. Tag
  38. } from "vant";
  39. window.$_http = axios;
  40. // event Bus 用于无关系组件间的通信。
  41. Vue.prototype.$bus = new Vue();
  42. Vue.prototype.$_http = axios;
  43. Vue.prototype.$_API = API;
  44. Vue.use(common);
  45. Vue.component("VanButton", Button);
  46. Vue.component("VanImage", Image);
  47. Vue.component("VanDialog", Dialog);
  48. Vue.component("VanNavBar", NavBar);
  49. Vue.component("VanTabbar", Tabbar);
  50. Vue.component("VanTabbarItem", TabbarItem);
  51. Vue.component("VanTabs", Tabs);
  52. Vue.component("VanTab", Tab);
  53. Vue.component("VanGrid", Grid);
  54. Vue.component("VanGridItem", GridItem);
  55. Vue.component("VanIcon", Icon);
  56. Vue.component("VanList", List);
  57. Vue.component("VanCell", Cell);
  58. Vue.component("VanSwipe", Swipe);
  59. Vue.component("VanSwipeItem", SwipeItem);
  60. Vue.component("VanDropdownMenu", DropdownMenu);
  61. Vue.component("VanDropdownItem", DropdownItem);
  62. Vue.component("VanProgress", Progress);
  63. Vue.component("VanCellGroup", CellGroup);
  64. Vue.component("VanSkeleton", Skeleton);
  65. Vue.component("VanTag", Tag);
  66. Object.entries(filters).forEach(([key, value]) => {
  67. Vue.filter(key, value);
  68. });
  69. router.beforeEach(async (to, from, next) => {
  70. console.warn(to.name, to);
  71. try {
  72. } catch (error) {
  73. console.error(error);
  74. }
  75. next();
  76. });
  77. new Vue({
  78. router,
  79. store,
  80. render: h => h(App)
  81. }).$mount("#app");