Selaa lähdekoodia

fix(安全区域): 修复微信小程序获取安全区域距离的问题

微信小程序需要使用 wx.getWindowInfo() API 获取安全区域距离,其他平台继续使用 uni.getSystemInfoSync()
feige996 11 kuukautta sitten
vanhempi
commit
9ad46fe088
1 muutettua tiedostoa jossa 19 lisäystä ja 1 poistoa
  1. 19 1
      src/pages/index/index.vue

+ 19 - 1
src/pages/index/index.vue

@@ -38,7 +38,25 @@ defineOptions({
 })
 
 // 获取屏幕边界到安全区域距离
-const { safeAreaInsets } = uni.getSystemInfoSync()
+let safeAreaInsets
+// #ifdef MP-WEIXIN
+// 微信小程序使用新的API
+const systemInfo = wx.getWindowInfo()
+safeAreaInsets = systemInfo.safeArea
+  ? {
+      top: systemInfo.safeArea.top,
+      right: systemInfo.windowWidth - systemInfo.safeArea.right,
+      bottom: systemInfo.windowHeight - systemInfo.safeArea.bottom,
+      left: systemInfo.safeArea.left,
+    }
+  : null
+// #endif
+
+// #ifndef MP-WEIXIN
+// 其他平台继续使用uni API
+const systemInfo = uni.getSystemInfoSync()
+safeAreaInsets = systemInfo.safeAreaInsets
+// #endif
 const author = ref('菲鸽')
 const description = ref(
   'unibest 是一个集成了多种工具和技术的 uniapp 开发模板,由 uniapp + Vue3 + Ts + Vite6 + UnoCss + VSCode 构建,模板具有代码提示、自动格式化、统一配置、代码片段等功能,并内置了许多常用的基本组件和基本功能,让你编写 uniapp 拥有 best 体验。',