# Object wx.getSystemInfoSync()

从基础库 [2.20.1](1003706) 开始，本接口停止维护，请使用 [wx.getSystemSetting](/miniprogram/dev/api/base/system/wx.getSystemSetting)、[wx.getAppAuthorizeSetting](/miniprogram/dev/api/base/system/wx.getAppAuthorizeSetting)、[wx.getDeviceInfo](/miniprogram/dev/api/base/system/wx.getDeviceInfo)、[wx.getWindowInfo](/miniprogram/dev/api/base/system/wx.getWindowInfo)、[wx.getAppBaseInfo](/miniprogram/dev/api/base/system/wx.getAppBaseInfo) 代替

> __以 [Promise 风格](/miniprogram/dev/framework/app-service/api.md#异步-API-返回-Promise) 调用__：支持
> 
> __小程序插件__：支持，需要小程序基础库版本不低于 [1.9.6](1003706)
> 
> __微信 Windows 版__：支持
> 
> __微信 Mac 版__：支持
> 
> __微信 鸿蒙 OS 版__：支持

## 功能描述

[wx.getSystemInfo](/miniprogram/dev/api/base/system/wx.getSystemInfo) 的同步版本

## 返回值

### Object res


```json
[
  {
    "属性": "brand",
    "类型": "string",
    "说明": "设备品牌",
    "最低版本": "[1.5.0](1003706)"
  },
  {
    "属性": "model",
    "类型": "string",
    "说明": "设备型号。新机型刚推出一段时间会显示unknown，微信会尽快进行适配。",
    "最低版本": ""
  },
  {
    "属性": "pixelRatio",
    "类型": "number",
    "说明": "设备像素比",
    "最低版本": ""
  },
  {
    "属性": "screenWidth",
    "类型": "number",
    "说明": "屏幕宽度，单位px",
    "最低版本": "[1.1.0](1003706)"
  },
  {
    "属性": "screenHeight",
    "类型": "number",
    "说明": "屏幕高度，单位px",
    "最低版本": "[1.1.0](1003706)"
  },
  {
    "属性": "windowWidth",
    "类型": "number",
    "说明": "可使用窗口宽度，单位px",
    "最低版本": ""
  },
  {
    "属性": "windowHeight",
    "类型": "number",
    "说明": "可使用窗口高度，单位px",
    "最低版本": ""
  },
  {
    "属性": "statusBarHeight",
    "类型": "number",
    "说明": "状态栏的高度，单位px",
    "最低版本": "[1.9.0](1003706)"
  },
  {
    "属性": "language",
    "类型": "string",
    "说明": "微信设置的语言",
    "最低版本": ""
  },
  {
    "属性": "version",
    "类型": "string",
    "说明": "微信版本号",
    "最低版本": ""
  },
  {
    "属性": "system",
    "类型": "string",
    "说明": "操作系统及版本",
    "最低版本": ""
  },
  {
    "属性": "platform",
    "类型": "string",
    "说明": "客户端平台",
    "最低版本": "",
    "子项": [
      {
        "合法值": "ios",
        "说明": "iOS微信（包含 iPhone、iPad）"
      },
      {
        "合法值": "android",
        "说明": "Android微信"
      },
      {
        "合法值": "ohos",
        "说明": "HarmonyOS 手机端微信"
      },
      {
        "合法值": "ohos_pc",
        "说明": "HarmonyOS PC微信"
      },
      {
        "合法值": "windows",
        "说明": "Windows微信"
      },
      {
        "合法值": "mac",
        "说明": "macOS微信"
      },
      {
        "合法值": "devtools",
        "说明": "微信开发者工具"
      }
    ]
  },
  {
    "属性": "fontSizeSetting",
    "类型": "number",
    "说明": "用户字体大小（单位px）。以微信客户端「我-设置-通用-字体大小」中的设置为准",
    "最低版本": "[1.5.0](1003706)"
  },
  {
    "属性": "SDKVersion",
    "类型": "string",
    "说明": "客户端基础库版本",
    "最低版本": "[1.1.0](1003706)"
  },
  {
    "属性": "benchmarkLevel",
    "类型": "number",
    "说明": "设备性能等级（仅 Android）。取值为：-2 或 0（该设备无法运行小游戏），-1（性能未知），>=1（设备性能值，该值越高，设备性能越好）\n 注意：性能等级当前仅反馈真机机型，暂不支持 IDE 模拟器机型",
    "最低版本": "[1.8.0](1003706)"
  },
  {
    "属性": "albumAuthorized",
    "类型": "boolean",
    "说明": "允许微信使用相册的开关（仅 iOS 有效）",
    "最低版本": "[2.6.0](1003706)"
  },
  {
    "属性": "cameraAuthorized",
    "类型": "boolean",
    "说明": "允许微信使用摄像头的开关",
    "最低版本": "[2.6.0](1003706)"
  },
  {
    "属性": "locationAuthorized",
    "类型": "boolean",
    "说明": "允许微信使用定位的开关",
    "最低版本": "[2.6.0](1003706)"
  },
  {
    "属性": "microphoneAuthorized",
    "类型": "boolean",
    "说明": "允许微信使用麦克风的开关",
    "最低版本": "[2.6.0](1003706)"
  },
  {
    "属性": "notificationAuthorized",
    "类型": "boolean",
    "说明": "允许微信通知的开关",
    "最低版本": "[2.6.0](1003706)"
  },
  {
    "属性": "notificationAlertAuthorized",
    "类型": "boolean",
    "说明": "允许微信通知带有提醒的开关（仅 iOS 有效）",
    "最低版本": "[2.6.0](1003706)"
  },
  {
    "属性": "notificationBadgeAuthorized",
    "类型": "boolean",
    "说明": "允许微信通知带有标记的开关（仅 iOS 有效）",
    "最低版本": "[2.6.0](1003706)"
  },
  {
    "属性": "notificationSoundAuthorized",
    "类型": "boolean",
    "说明": "允许微信通知带有声音的开关（仅 iOS 有效）",
    "最低版本": "[2.6.0](1003706)"
  },
  {
    "属性": "phoneCalendarAuthorized",
    "类型": "boolean",
    "说明": "允许微信使用日历的开关",
    "最低版本": "[2.19.3](1003706)"
  },
  {
    "属性": "bluetoothEnabled",
    "类型": "boolean",
    "说明": "蓝牙的系统开关",
    "最低版本": "[2.6.0](1003706)"
  },
  {
    "属性": "locationEnabled",
    "类型": "boolean",
    "说明": "地理位置的系统开关",
    "最低版本": "[2.6.0](1003706)"
  },
  {
    "属性": "wifiEnabled",
    "类型": "boolean",
    "说明": "Wi-Fi 的系统开关",
    "最低版本": "[2.6.0](1003706)"
  },
  {
    "属性": "safeArea",
    "类型": "Object",
    "说明": "在竖屏正方向下的安全区域。部分机型没有安全区域概念，也不会返回 safeArea 字段，开发者需自行兼容。",
    "最低版本": "[2.7.0](1003706)",
    "子项": [
      {
        "结构属性": "left",
        "类型": "number",
        "说明": "安全区域左上角横坐标"
      },
      {
        "结构属性": "right",
        "类型": "number",
        "说明": "安全区域右下角横坐标"
      },
      {
        "结构属性": "top",
        "类型": "number",
        "说明": "安全区域左上角纵坐标"
      },
      {
        "结构属性": "bottom",
        "类型": "number",
        "说明": "安全区域右下角纵坐标"
      },
      {
        "结构属性": "width",
        "类型": "number",
        "说明": "安全区域的宽度，单位逻辑像素"
      },
      {
        "结构属性": "height",
        "类型": "number",
        "说明": "安全区域的高度，单位逻辑像素"
      }
    ]
  },
  {
    "属性": "locationReducedAccuracy",
    "类型": "boolean",
    "说明": "\u0000INLINECODE_0\u0000 表示模糊定位，\u0000INLINECODE_1\u0000 表示精确定位，仅 iOS 支持",
    "最低版本": ""
  },
  {
    "属性": "theme",
    "类型": "string",
    "说明": "系统当前主题，取值为\u0000INLINECODE_2\u0000或\u0000INLINECODE_3\u0000，全局配置\u0000INLINECODE_4\u0000时才能获取，否则为 undefined （不支持小游戏）",
    "最低版本": "[2.11.0](1003706)",
    "子项": [
      {
        "合法值": "dark",
        "说明": "深色主题"
      },
      {
        "合法值": "light",
        "说明": "浅色主题"
      }
    ]
  },
  {
    "属性": "host",
    "类型": "Object",
    "说明": "当前小程序运行的宿主环境",
    "最低版本": "[2.12.3](1003706)",
    "子项": [
      {
        "结构属性": "appId",
        "类型": "string",
        "说明": "宿主 app 对应的 appId"
      }
    ]
  },
  {
    "属性": "enableDebug",
    "类型": "boolean",
    "说明": "是否已打开调试。可通过右上角菜单或 [wx.setEnableDebug](/miniprogram/dev/api/base/debug/wx.setEnableDebug) 打开调试。",
    "最低版本": "[2.15.0](1003706)"
  },
  {
    "属性": "deviceOrientation",
    "类型": "string",
    "说明": "设备方向（注意：IOS客户端横屏游戏获取deviceOrientation可能不准，建议以屏幕宽高为准）",
    "最低版本": "",
    "子项": [
      {
        "合法值": "portrait",
        "说明": "竖屏"
      },
      {
        "合法值": "landscape",
        "说明": "横屏"
      }
    ]
  }
]
```

## 示例代码

[在开发者工具中预览效果](https://developers.weixin.qq.com/s/WkUCgXmS7mqO)

```js
wx.getSystemInfo({
  success (res) {
    console.log(res.model)
    console.log(res.pixelRatio)
    console.log(res.windowWidth)
    console.log(res.windowHeight)
    console.log(res.language)
    console.log(res.version)
    console.log(res.platform)
  }
})
```

```js
try {
  const res = wx.getSystemInfoSync()
  console.log(res.model)
  console.log(res.pixelRatio)
  console.log(res.windowWidth)
  console.log(res.windowHeight)
  console.log(res.language)
  console.log(res.version)
  console.log(res.platform)
} catch (e) {
  // Do something when catch error
}
```

## 注意事项
- 当 wx.getSystemInfoSync() 接口发生错误时可能会返回空对象
- wx.getSystemInfo 接口由于会获取系统权限，可能触发授权弹窗，请使用 [wx.getSystemSetting](/miniprogram/dev/api/base/system/wx.getSystemSetting)、[wx.getAppAuthorizeSetting](/miniprogram/dev/api/base/system/wx.getAppAuthorizeSetting)、[wx.getDeviceInfo](/miniprogram/dev/api/base/system/wx.getDeviceInfo)、[wx.getWindowInfo](/miniprogram/dev/api/base/system/wx.getWindowInfo)、[wx.getAppBaseInfo](/miniprogram/dev/api/base/system/wx.getAppBaseInfo) 替代
