uniapp getsysteminfosync如何使用或获取系统信息
在uniapp中如何通过getSystemInfoSync获取系统信息?具体有哪些参数可以获取,比如屏幕宽度、高度、操作系统版本等?使用时需要注意哪些兼容性问题或常见错误?能否提供一个简单的代码示例?
2 回复
在uni-app中,使用uni.getSystemInfoSync()获取系统信息。示例代码:
const systemInfo = uni.getSystemInfoSync();
console.log(systemInfo.platform); // 平台
console.log(systemInfo.windowWidth); // 窗口宽度
同步方法,直接返回包含设备信息的对象。
在 UniApp 中,uni.getSystemInfoSync() 是一个同步方法,用于获取设备的系统信息(如屏幕尺寸、操作系统、状态栏高度等)。它直接返回一个对象,无需回调函数,适用于需要立即获取系统信息的场景。
使用方法
- 直接调用:在页面或组件的 JavaScript 代码中调用
uni.getSystemInfoSync()。 - 获取返回值:方法返回一个对象,包含系统信息属性,如
windowWidth、windowHeight、platform等。
示例代码
// 在 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:设备平台(如android、ios)statusBarHeight:状态栏高度(单位:px)system:操作系统版本(如"iOS 14.0")model:设备型号
注意事项
- 同步方法会阻塞后续代码执行,但获取系统信息通常很快,影响可忽略。
- 如需异步获取,可使用
uni.getSystemInfo()(带回调函数)。 - 部分属性可能因平台差异而不同,建议测试多设备兼容性。
通过此方法,您可以轻松适配不同设备的界面布局或功能逻辑。

