main.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import Vue from 'vue';
  2. import App from './App';
  3. Vue.config.productionTip = false;
  4. App.mpType = 'app';
  5. // 引入全局uView
  6. import uView from 'uview-ui';
  7. Vue.use(uView);
  8. // 此处为演示vuex使用,非uView的功能部分
  9. import store from '@/store';
  10. // 引入uView提供的对vuex的简写法文件
  11. let vuexStore = require('@/store/$u.mixin.js');
  12. Vue.mixin(vuexStore);
  13. // 引入uView对小程序分享的mixin封装
  14. let mpShare = require('uview-ui/libs/mixin/mpShare.js');
  15. Vue.mixin(mpShare);
  16. import * as util from './core/util.js';
  17. import moment from './core/unpkg/moment.js';
  18. import site from './core/site.js';
  19. import $const from './core/constant.js';
  20. import jump from './core/jump.js';
  21. Vue.use({
  22. install(Vue, options) {
  23. // 配置
  24. Vue.prototype.$site = site;
  25. Vue.prototype.$moment = moment;
  26. //
  27. Vue.prototype.$util = util;
  28. // 常量
  29. Vue.prototype.$const = $const;
  30. // 路由
  31. Vue.prototype.$jump = jump;
  32. }
  33. });
  34. const app = new Vue({
  35. store,
  36. ...App
  37. });
  38. // http拦截器,将此部分放在new Vue()和app.$mount()之间,才能App.vue中正常使用
  39. import httpInterceptor from '@/core/http.interceptor.js';
  40. Vue.use(httpInterceptor, app);
  41. // http接口API抽离,免于写url或者一些固定的参数
  42. import httpApi from '@/core/http.api.js';
  43. Vue.use(httpApi, app);
  44. app.$mount();