uniapp getsysteminfosync如何使用或获取系统信息

在uniapp中如何通过getSystemInfoSync获取系统信息?具体有哪些参数可以获取,比如屏幕宽度、高度、操作系统版本等?使用时需要注意哪些兼容性问题或常见错误?能否提供一个简单的代码示例?

2 回复

在uni-app中,使用uni.getSystemInfoSync()获取系统信息。示例代码:

const systemInfo = uni.getSystemInfoSync();
console.log(systemInfo.platform); // 平台
console.log(systemInfo.windowWidth); // 窗口宽度

同步方法,直接返回包含设备信息的对象。


在 UniApp 中,uni.getSystemInfoSync() 是一个同步方法,用于获取设备的系统信息(如屏幕尺寸、操作系统、状态栏高度等)。它直接返回一个对象,无需回调函数,适用于需要立即获取系统信息的场景。

使用方法

  1. 直接调用:在页面或组件的 JavaScript 代码中调用 uni.getSystemInfoSync()
  2. 获取返回值:方法返回一个对象,包含系统信息属性,如 windowWidthwindowHeightplatform 等。

示例代码

// 在 Vue 组件或页面中调用
onLoad() {
  try {
    const systemInfo = uni.getSystemInfoSync();
    console.log('系统信息:', systemInfo);
    
    // 获取具体属性示例
    console.log('屏幕宽度:', systemInfo.windowWidth);
    console.log('屏幕高度:', systemInfo.windowHeight);
    console.log('设备平台:', systemInfo.platform); // 如 'android', 'ios'
    console.log('状态栏高度:', systemInfo.statusBarHeight);
  } catch (error) {
    console.error('获取系统信息失败:', error);
  }
}

主要返回属性说明

  • windowWidth:窗口宽度(单位:px)
  • windowHeight:窗口高度(单位:px)
  • platform:设备平台(如 androidios
  • statusBarHeight:状态栏高度(单位:px)
  • system:操作系统版本(如 "iOS 14.0"
  • model:设备型号

注意事项

  • 同步方法会阻塞后续代码执行,但获取系统信息通常很快,影响可忽略。
  • 如需异步获取,可使用 uni.getSystemInfo()(带回调函数)。
  • 部分属性可能因平台差异而不同,建议测试多设备兼容性。

通过此方法,您可以轻松适配不同设备的界面布局或功能逻辑。

回到顶部