You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							51 lines
						
					
					
						
							2.0 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							51 lines
						
					
					
						
							2.0 KiB
						
					
					
				
								// app.js
							 | 
						|
								App({
							 | 
						|
								  onLaunch: function (options) {
							 | 
						|
								
							 | 
						|
								    const { statusBarHeight, platform, windowHeight }=wx.getSystemInfoSync()
							 | 
						|
								    const { top, height } = wx.getMenuButtonBoundingClientRect()
							 | 
						|
								    // 状态栏高度
							 | 
						|
								    wx.setStorageSync('statusBarHeight', statusBarHeight)
							 | 
						|
								    // 屏幕高度
							 | 
						|
								    wx.setStorageSync('windowHeight', windowHeight)
							 | 
						|
								    // 胶囊按钮高度 一般是32 如果获取不到就使用32
							 | 
						|
								    wx.setStorageSync('menuButtonHeight', height ? height : 32)
							 | 
						|
								    // 判断胶囊按钮信息是否成功获取
							 | 
						|
								    if (top && top !== 0 && height && height !== 0) {
							 | 
						|
								      const navigationBarHeight = (top - statusBarHeight) * 2 + height
							 | 
						|
								      // 导航栏高度
							 | 
						|
								      wx.setStorageSync('navigationBarHeight', navigationBarHeight)
							 | 
						|
								    } else {
							 | 
						|
								      wx.setStorageSync('navigationBarHeight', platform === 'android' ? 48 : 40)
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    //获取设备顶部窗口的高度(不同设备窗口高度不一样,根据这个来设置自定义导航栏的高度)
							 | 
						|
								    //这个最初我是在组件中获取,但是出现了一个问题,当第一次进入小程序时导航栏会把
							 | 
						|
								    //页面内容盖住一部分,当打开调试重新进入时就没有问题,这个问题弄得我是莫名其妙
							 | 
						|
								    //虽然最后解决了,但是花费了不少时间
							 | 
						|
								    let code = [1011, 1017, 1025, 1047, 1124, 1001, 1038, 1041, 1089, 1090, 1104, 1131, 1187];
							 | 
						|
								    if (code.includes(options.scene)) {
							 | 
						|
								        this.globalData.share = true
							 | 
						|
								    } else {
							 | 
						|
								        this.globalData.share = false
							 | 
						|
								    }
							 | 
						|
								    const menuButtonInfo = wx.getMenuButtonBoundingClientRect()
							 | 
						|
								    wx.getSystemInfo({
							 | 
						|
								        success: (res) => {
							 | 
						|
								            this.globalData.height = res.statusBarHeight
							 | 
						|
								            this.globalData.deviceInfo.statusHeight = res.statusBarHeight
							 | 
						|
								            this.globalData.deviceInfo.navigationHeight = menuButtonInfo.height + (menuButtonInfo.top - res.statusBarHeight) * 2
							 | 
						|
								        }
							 | 
						|
								    })
							 | 
						|
								    wx.hideTabBar()
							 | 
						|
								},
							 | 
						|
								  globalData: {
							 | 
						|
								    userInfo: null,
							 | 
						|
								    deviceInfo: {
							 | 
						|
								      statusHeight: 19,
							 | 
						|
								      navigationHeight: 40
							 | 
						|
								    },
							 | 
						|
								    selected: 0
							 | 
						|
								  },
							 | 
						|
								
							 | 
						|
								})
							 | 
						|
								
							 |