main.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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. CONDITION_MAP,
  30. getConditionText
  31. } from '@/utils/constants.js'
  32. Vue.filter('conditionText', getConditionText)
  33. Vue.prototype.$conditionMap = CONDITION_MAP
  34. import {
  35. copyByUniappApi
  36. } from '@/utils/uniapp-api.js';
  37. Vue.prototype.$copyByUniappApi = copyByUniappApi
  38. // 引入环境变量
  39. import ENV_CONFIG from '@/.env.js'
  40. Vue.prototype.$env = ENV_CONFIG[process.env.ENV_TYPE];
  41. // 引入vuex
  42. import store from './store/index.js'
  43. Vue.prototype.$store = store
  44. const app = new Vue({
  45. ...store,
  46. ...App
  47. });
  48. // 以下内容需要在 new Vue() 之后引入注册,因为外部JS文件需要引用vue的实例,即this对象
  49. // 基于uview-ui的http配置
  50. import { installHttpConfig } from '@/api/config.js';
  51. Vue.use(installHttpConfig, app);
  52. // http接口API全局
  53. import { installApiModules } from '@/api';
  54. Vue.use(installApiModules, app);
  55. app.$mount();