main.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import Vue from 'vue';
  2. import App from './App';
  3. Vue.config.productionTip = false;
  4. App.mpType = 'app';
  5. // 引入全局uview-ui
  6. import uView from 'uview-ui';
  7. Vue.use(uView);
  8. // uview-ui对小程序分享的mixin封装
  9. let mpShare = require('uview-ui/libs/mixin/mpShare.js');
  10. Vue.mixin(mpShare);
  11. // 引入全局组件
  12. import Navbar from '@/components/navbar/navbar.vue'
  13. Vue.component('Navbar', Navbar);
  14. import NoData from '@/components/no-data.vue'
  15. Vue.component('NoData', NoData);
  16. import LoadMore from '@/components/loadmore.vue'
  17. Vue.component('LoadMore', LoadMore);
  18. import TitleOperate from '@/components/title-operate.vue';
  19. Vue.component('TitleOperate', TitleOperate);
  20. // 引入全局主题变量
  21. import appTheme from '@/theme.scss';
  22. Vue.prototype.$appTheme = appTheme
  23. // 引入全局工具函数
  24. import {
  25. replaceSale
  26. } from '@/utils/replace.js'
  27. Vue.prototype.$replaceSale = replaceSale
  28. import {
  29. copyByUniappApi
  30. } from '@/utils/uniapp-api.js';
  31. Vue.prototype.$copyByUniappApi = copyByUniappApi
  32. // 引入环境变量
  33. import ENV_CONFIG from '@/.env.js'
  34. Vue.prototype.$env = ENV_CONFIG[process.env.ENV_TYPE];
  35. // 引入vuex
  36. import store from './store/index.js'
  37. Vue.prototype.$store = store
  38. const app = new Vue({
  39. ...store,
  40. ...App
  41. });
  42. // 以下内容需要在 new Vue() 之后引入注册,因为外部JS文件需要引用vue的实例,即this对象
  43. // 基于uview-ui的http配置
  44. import { installHttpConfig } from '@/api/config.js';
  45. Vue.use(installHttpConfig, app);
  46. // http接口API全局
  47. import { installApiModules } from '@/api';
  48. Vue.use(installApiModules, app);
  49. app.$mount();