main.js 1.8 KB

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