App.vue 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <script>
  2. import Vue from 'vue'
  3. export default {
  4. globalData: {
  5. // 全局设置状态栏和导航栏高度
  6. statusBarH: 0,
  7. customBarH: 0,
  8. screenHeight: 0,
  9. },
  10. onLaunch: function() {
  11. uni.getSystemInfo({
  12. success: (e) => {
  13. // 获取手机状态栏高度
  14. let statusBar = e.statusBarHeight
  15. let customBar
  16. // #ifndef MP
  17. customBar = statusBar + (e.platform == 'android' ? 50 : 45)
  18. // #endif
  19. // #ifdef MP-WEIXIN
  20. // 获取胶囊按钮的布局位置信息
  21. let menu = wx.getMenuButtonBoundingClientRect()
  22. // 导航栏高度 = 胶囊下距离 + 胶囊上距离 - 状态栏高度
  23. customBar = menu.bottom + menu.top - statusBar
  24. // #endif
  25. // #ifdef MP-ALIPAY
  26. customBar = statusBar + e.titleBarHeight
  27. // #endif
  28. // 注意:此方法不支持原生Nvue页面
  29. Vue.prototype.statusBarH = statusBar
  30. Vue.prototype.customBarH = customBar
  31. Vue.prototype.screenHeight = e.screenHeight
  32. // 支持nvue页面写法(兼容H5/小程序/APP/APP-Nvue)
  33. this.globalData.statusBarH = statusBar
  34. this.globalData.customBarH = customBar
  35. this.globalData.screenHeight = e.screenHeight
  36. }
  37. })
  38. },
  39. onShow: function() {},
  40. onHide: function() {}
  41. }
  42. </script>
  43. <style lang="scss">
  44. /*每个页面公共css */
  45. @import '@/uni_modules/uni-scss/index.scss';
  46. /* #ifndef APP-NVUE */
  47. @import '@/static/customicons.css';
  48. // 设置整个项目的背景色
  49. page {
  50. background-color: #dddddd;
  51. }
  52. /* #endif */
  53. .example-info {
  54. font-size: 14px;
  55. color: #333;
  56. padding: 10px;
  57. }
  58. </style>