main.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import Vue from 'vue'
  2. import App from './App'
  3. import store from './store'
  4. import {toast} from './utils/tools'
  5. import Cache from './utils/cache'
  6. import uView from "@/components/uview-ui";
  7. import minxinsApp from '@/mixins/app'
  8. import MescrollBody from "@/components/mescroll-uni/mescroll-body.vue"
  9. import {router,RouterMount} from './router.js'
  10. import routerLink from './js_sdk/uni-simple-router/link.vue'
  11. Vue.component('mescroll-body', MescrollBody)
  12. Vue.prototype.$toast = toast
  13. Vue.prototype.$Cache = Cache
  14. Vue.config.productionTip = false
  15. Vue.component('RouterLink', routerLink)
  16. Vue.use(router)
  17. Vue.mixin(minxinsApp);
  18. Vue.use(uView);
  19. App.mpType = 'app'
  20. const app = new Vue({
  21. ...App,
  22. store
  23. })
  24. //v1.3.5起 H5端 你应该去除原有的app.$mount();使用路由自带的渲染方式
  25. // #ifdef H5
  26. RouterMount(app,router,'#app');
  27. // #endif
  28. // #ifndef H5
  29. app.$mount(); //为了兼容小程序及app端必须这样写才有效果
  30. // #endif
  31. Vue.mixin({
  32. onShow() {
  33. let { title } = this //在固定标题的页面data中设置title
  34. if (this.$mp.query) { //整个app的onShow也会触发,这时$mp中没有query属性
  35. let setTitle = this.$mp.query.title || title //在进入页面的query中没有title属性时会取data中的title
  36. if (setTitle) {
  37. uni.setNavigationBarTitle({ //uni-app 的修改title接口
  38. title: setTitle
  39. })
  40. //以下为H5平台差异写法
  41. // #ifdef H5
  42. document.title = setTitle
  43. // #endif
  44. }
  45. }
  46. }
  47. })