main.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import App from './App'
  2. import { API, BASE_URL } from './util/api.js'
  3. // #ifndef VUE3
  4. import Vue from 'vue'
  5. import './uni.promisify.adaptor'
  6. Vue.config.productionTip = false
  7. // 设置API为全局对象
  8. Vue.prototype.$api = API
  9. Vue.prototype.$baseUrl = BASE_URL
  10. // 添加tabbar中间按钮点击事件支持
  11. const tabBarMidButtonEventCallbacks = []
  12. Vue.prototype.$onTabBarMidButtonTap = function(callback) {
  13. tabBarMidButtonEventCallbacks.push(callback)
  14. }
  15. uni.onTabBarMidButtonTap = function() {
  16. tabBarMidButtonEventCallbacks.forEach(callback => {
  17. callback()
  18. })
  19. }
  20. App.mpType = 'app'
  21. const app = new Vue({
  22. ...App
  23. })
  24. app.$mount()
  25. // #endif
  26. // #ifdef VUE3
  27. import { createSSRApp } from 'vue'
  28. // 添加tabbar中间按钮点击事件支持 (VUE3)
  29. const tabBarMidButtonEventCallbacksVue3 = []
  30. uni.onTabBarMidButtonTap = function() {
  31. tabBarMidButtonEventCallbacksVue3.forEach(callback => {
  32. callback()
  33. })
  34. }
  35. export function createApp() {
  36. const app = createSSRApp(App)
  37. // 注册全局方法
  38. app.config.globalProperties.$onTabBarMidButtonTap = function(callback) {
  39. tabBarMidButtonEventCallbacksVue3.push(callback)
  40. }
  41. // 设置API为全局对象 (VUE3)
  42. app.config.globalProperties.$api = API
  43. app.config.globalProperties.$baseUrl = BASE_URL
  44. return {
  45. app
  46. }
  47. }
  48. // #endif