微信小程序 wx.getAppBaseInfo()

基础库 2.20.1 开始支持,低版本需做兼容处理。

微信小程序插件:支持,需要微信小程序基础库版本不低于 2.21.3

微信 Windows 版:支持

微信 Mac 版:支持

微信 鸿蒙 OS 版:支持

功能描述

获取微信APP基础信息

返回值

Object

属性 类型 说明 最低版本
SDKVersion string 客户端基础库版本
enableDebug boolean 是否已打开调试。可通过右上角菜单或 wx.setEnableDebug 打开调试。
host Object 当前微信小程序运行的宿主环境
结构属性 类型 说明
appId string 宿主 app(第三方App) 对应的 appId (当微信小程序运行在第三方App环境时才返回)
language string 微信设置的语言
version string 微信版本号
PCKernelVersion string PC 内核版本号,仅在 PC 端存在该值
theme string 系统当前主题,取值为`light`或`dark`,全局配置`”darkmode”:true`时才能获取,否则为 undefined (不支持小游戏)
合法值 说明
dark 深色主题
light 浅色主题
fontSizeScaleFactor number 微信字体大小缩放比例
fontSizeSetting number 微信字体大小,单位px 2.23.4

示例代码

const appBaseInfo = wx.getAppBaseInfo()

console.log(appBaseInfo.SDKVersion)
console.log(appBaseInfo.enableDebug)
console.log(appBaseInfo.host)
console.log(appBaseInfo.language)
console.log(appBaseInfo.version)
console.log(appBaseInfo.theme)

wx.getDeviceBenchmarkInfo(Object object)

基础库 3.4.5 开始支持,低版本需做兼容处理。

以 Promise 风格 调用:不支持

微信小程序插件:不支持

微信 鸿蒙 OS 版:支持

功能描述

获取设备性能得分和机型档位数据

参数

Object object

属性 类型 默认值 必填 说明
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

object.success 回调函数

参数
Object res
属性 类型 说明 最低版本
benchmarkLevel number 设备性能等级。-1(性能未知),>=1(设备性能值,该值越高,设备性能越好)
注意:
1. 设备的benchmarkLevel值不会随着时间的推移而变化,移动端设备目前最高不超过50
3.4.5
modelLevel number 设备机型档位。0(档位未知),1(高档机),2(中档机),3(低档机)
注意:设备的机型档位会随着时间的推移而变化,因此在使用时请谨慎对待;若业务逻辑依赖于机型档位,但担心受到机型档位变化的影响,请参考设备档位映射文档自行判断机型档位
3.4.5

示例代码

wx.getDeviceBenchmarkInfo({
  success (res) {
    console.log(res.benchmarkLevel)
    console.log(res.modelLevel)
  }
})

wx.getDeviceInfo()

基础库 2.20.1 开始支持,低版本需做兼容处理。

微信小程序插件:支持,需要微信小程序基础库版本不低于 2.21.3

微信 Windows 版:支持

微信 Mac 版:支持

微信 鸿蒙 OS 版:支持

功能描述

获取设备基础信息

返回值

Object

属性 类型 说明 最低版本
abi string 应用(微信APP)二进制接口类型(仅 Android 支持)
deviceAbi string 设备二进制接口类型(仅 Android 支持) 2.25.1
benchmarkLevel number 设备性能等级(仅 Android 支持)。取值为:-2 或 0(该设备无法运行小游戏),-1(性能未知),>=1(设备性能值,该值越高,设备性能越好,目前最高不到50)
注意:从基础库3.4.5开始,本返回值停止维护,请使用wx.getDeviceBenchmarkInfo获取设备性能等级
brand string 设备品牌
model string 设备型号。新机型刚推出一段时间会显示unknown,微信会尽快进行适配。
system string 操作系统及版本
platform string 客户端平台
合法值 说明
ios iOS微信(包含 iPhone、iPad)
android Android微信
ohos HarmonyOS 手机端微信
ohos_pc HarmonyOS PC微信
windows Windows微信
mac macOS微信
devtools 微信开发者工具
cpuType string 设备 CPU 型号(仅 Android 支持)(提示:GPU 型号可通过 WebGLRenderingContext.getExtension(‘WEBGL_debug_renderer_info’) 来获取) 2.29.0
memorySize string 设备内存大小,单位为 MB 2.30.0

示例代码

const deviceInfo = wx.getDeviceInfo()

console.log(deviceInfo.abi)
console.log(deviceInfo.benchmarkLevel)
console.log(deviceInfo.brand)
console.log(deviceInfo.model)
console.log(deviceInfo.platform)
console.log(deviceInfo.system)

Promise wx.getRendererUserAgent(Object object)

基础库 2.26.3 开始支持,低版本需做兼容处理。

以 Promise 风格 调用:不支持

微信小程序插件:支持,需要微信小程序基础库版本不低于 3.11.2

微信 鸿蒙 OS 版:支持

功能描述

获取 Webview 微信小程序的 UserAgent

参数

Object object

属性 类型 默认值 必填 说明
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

object.success 回调函数

参数
string userAgent

UserAgent

返回值

Promise.

示例代码

// v2.30.4 前,仅支持 promise 风格调用
wx.getRendererUserAgent().then(userAgent => console.log(userAgent))
// v2.30.4 起,除 promise 风格调用外,也支持 invoke 风格使用
wx.getRendererUserAgent({
  success(res) { console.log(res.userAgent) }
})

wx.getSkylineInfo(Object object)

基础库 2.26.2 开始支持,低版本需做兼容处理。

以 Promise 风格 调用:不支持

微信小程序插件:支持,需要微信小程序基础库版本不低于 2.26.2

微信 鸿蒙 OS 版:支持

功能描述

获取当前运行环境对于 Skyline 渲染引擎 的支持情况

参数

Object object

属性 类型 默认值 必填 说明
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

object.success 回调函数

参数
Object res

当前运行环境对于 Skyline 渲染引擎 的支持情况

属性 类型 说明
isSupported boolean 当前运行环境是否支持 Skyline 渲染引擎
version string 当前运行环境 Skyline 渲染引擎 的版本号,形如 0.9.7
reason string 当前运行环境不支持 Skyline 渲染引擎 的原因,仅在 isSupportedfalse 时出现
合法值 说明
client not supported 当前微信客户端不支持 Skyline 渲染引擎,可以尝试通过升级微信客户端解决
baselib not supported 当前基础库不支持 Skyline 渲染引擎,基础库会自动更新到当前客户端所能支持的最新的版本,基础库不支持时也可以尝试通过升级微信客户端解决
a-b test not enabled 命中了 _We 分析_ 平台上的 AB 实验关闭的情况。详细可以查看 Skyline 起步 > 配置 We 分析 AB 实验 一节
SwitchRender option set to webview 本地调试的快捷切换入口被设置为了强制使用 Webview. 详情可以查看 Skyline 起步 > 快捷切换入口 一节

wx.getSkylineInfoSync()

基础库 2.26.2 开始支持,低版本需做兼容处理。

微信小程序插件:支持,需要微信小程序基础库版本不低于 2.26.2

微信 鸿蒙 OS 版:支持

功能描述

获取当前运行环境对于 Skyline 渲染引擎 的支持情况

返回值

Object

当前运行环境对于 Skyline 渲染引擎 的支持情况

属性 类型 说明
isSupported boolean 当前运行环境是否支持 Skyline 渲染引擎
version string 当前运行环境 Skyline 渲染引擎 的版本号,形如 0.9.7
reason string 当前运行环境不支持 Skyline 渲染引擎 的原因,仅在 isSupportedfalse 时出现
合法值 说明
client not supported 当前微信客户端不支持 Skyline 渲染引擎,可以尝试通过升级微信客户端解决
baselib not supported 当前基础库不支持 Skyline 渲染引擎,基础库会自动更新到当前客户端所能支持的最新的版本,基础库不支持时也可以尝试通过升级微信客户端解决
a-b test not enabled 命中了 _We 分析_ 平台上的 AB 实验关闭的情况。详细可以查看 Skyline 起步 > 配置 We 分析 AB 实验 一节
SwitchRender option set to webview 本地调试的快捷切换入口被设置为了强制使用 Webview. 详情可以查看 Skyline 起步 > 快捷切换入口 一节

wx.getSystemInfo(Object object)

从基础库 2.20.1 开始,本接口停止维护,请使用 wx.getSystemSetting、wx.getAppAuthorizeSetting、wx.getDeviceInfo、wx.getWindowInfo、wx.getAppBaseInfo 代替

以 Promise 风格 调用:支持

微信小程序插件:支持,需要微信小程序基础库版本不低于 1.9.6

微信 Windows 版:支持

微信 Mac 版:支持

微信 鸿蒙 OS 版:支持

功能描述

获取系统信息。由于历史原因,wx.getSystemInfo 是异步的调用格式,但是是同步返回,需要异步获取系统信息请使用 wx.getSystemInfoAsync。

参数

Object object

属性 类型 默认值 必填 说明
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

object.success 回调函数

参数
Object res
属性 类型 说明 最低版本
brand string 设备品牌 1.5.0
model string 设备型号。新机型刚推出一段时间会显示unknown,微信会尽快进行适配。
pixelRatio number 设备像素比
screenWidth number 屏幕宽度,单位px 1.1.0
screenHeight number 屏幕高度,单位px 1.1.0
windowWidth number 可使用窗口宽度,单位px
windowHeight number 可使用窗口高度,单位px
statusBarHeight number 状态栏的高度,单位px 1.9.0
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
SDKVersion string 客户端基础库版本 1.1.0
benchmarkLevel number 设备性能等级(仅 Android)。取值为:-2 或 0(该设备无法运行小游戏),-1(性能未知),>=1(设备性能值,该值越高,设备性能越好)
注意:性能等级当前仅反馈真机机型,暂不支持 IDE 模拟器机型
1.8.0
albumAuthorized boolean 允许微信使用相册的开关(仅 iOS 有效) 2.6.0
cameraAuthorized boolean 允许微信使用摄像头的开关 2.6.0
locationAuthorized boolean 允许微信使用定位的开关 2.6.0
microphoneAuthorized boolean 允许微信使用麦克风的开关 2.6.0
notificationAuthorized boolean 允许微信通知的开关 2.6.0
notificationAlertAuthorized boolean 允许微信通知带有提醒的开关(仅 iOS 有效) 2.6.0
notificationBadgeAuthorized boolean 允许微信通知带有标记的开关(仅 iOS 有效) 2.6.0
notificationSoundAuthorized boolean 允许微信通知带有声音的开关(仅 iOS 有效) 2.6.0
phoneCalendarAuthorized boolean 允许微信使用日历的开关 2.19.3
bluetoothEnabled boolean 蓝牙的系统开关 2.6.0
locationEnabled boolean 地理位置的系统开关 2.6.0
wifiEnabled boolean Wi-Fi 的系统开关 2.6.0
safeArea Object 在竖屏正方向下的安全区域。部分机型没有安全区域概念,也不会返回 safeArea 字段,开发者需自行兼容。 2.7.0
结构属性 类型 说明
left number 安全区域左上角横坐标
right number 安全区域右下角横坐标
top number 安全区域左上角纵坐标
bottom number 安全区域右下角纵坐标
width number 安全区域的宽度,单位逻辑像素
height number 安全区域的高度,单位逻辑像素
locationReducedAccuracy boolean `true` 表示模糊定位,`false` 表示精确定位,仅 iOS 支持
theme string 系统当前主题,取值为`light`或`dark`,全局配置`”darkmode”:true`时才能获取,否则为 undefined (不支持小游戏) 2.11.0
合法值 说明
dark 深色主题
light 浅色主题
host Object 当前微信小程序运行的宿主环境 2.12.3
结构属性 类型 说明
appId string 宿主 app 对应的 appId
enableDebug boolean 是否已打开调试。可通过右上角菜单或 wx.setEnableDebug 打开调试。 2.15.0
deviceOrientation string 设备方向(注意:iOS 客户端横屏游戏获取 deviceOrientation 可能不准,建议以屏幕宽高为准)
合法值 说明
portrait 竖屏
landscape 横屏

示例代码

在开发者工具中预览效果

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)
  }
})
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、wx.getAppAuthorizeSetting、wx.getDeviceInfo、wx.getWindowInfo、wx.getAppBaseInfo 替代

wx.getSystemInfoAsync(Object object)

从基础库 2.20.1 开始,本接口停止维护,请使用 wx.getSystemSetting、wx.getAppAuthorizeSetting、wx.getDeviceInfo、wx.getWindowInfo、wx.getAppBaseInfo 代替

基础库 2.14.1 开始支持,低版本需做兼容处理。

以 Promise 风格 调用:不支持

微信小程序插件:不支持

微信 鸿蒙 OS 版:支持

功能描述

异步获取系统信息。需要一定的微信客户端版本支持,在不支持的客户端上,会使用同步实现来返回。

参数

Object object

属性 类型 默认值 必填 说明
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

object.success 回调函数

参数
Object res
属性 类型 说明 最低版本
brand string 设备品牌 1.5.0
model string 设备型号。新机型刚推出一段时间会显示unknown,微信会尽快进行适配。
pixelRatio number 设备像素比
screenWidth number 屏幕宽度,单位px 1.1.0
screenHeight number 屏幕高度,单位px 1.1.0
windowWidth number 可使用窗口宽度,单位px
windowHeight number 可使用窗口高度,单位px
statusBarHeight number 状态栏的高度,单位px 1.9.0
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
SDKVersion string 客户端基础库版本 1.1.0
benchmarkLevel number 设备性能等级(仅 Android)。取值为:-2 或 0(该设备无法运行小游戏),-1(性能未知),>=1(设备性能值,该值越高,设备性能越好)
注意:性能等级当前仅反馈真机机型,暂不支持 IDE 模拟器机型
1.8.0
albumAuthorized boolean 允许微信使用相册的开关(仅 iOS 有效) 2.6.0
cameraAuthorized boolean 允许微信使用摄像头的开关 2.6.0
locationAuthorized boolean 允许微信使用定位的开关 2.6.0
microphoneAuthorized boolean 允许微信使用麦克风的开关 2.6.0
notificationAuthorized boolean 允许微信通知的开关 2.6.0
notificationAlertAuthorized boolean 允许微信通知带有提醒的开关(仅 iOS 有效) 2.6.0
notificationBadgeAuthorized boolean 允许微信通知带有标记的开关(仅 iOS 有效) 2.6.0
notificationSoundAuthorized boolean 允许微信通知带有声音的开关(仅 iOS 有效) 2.6.0
phoneCalendarAuthorized boolean 允许微信使用日历的开关 2.19.3
bluetoothEnabled boolean 蓝牙的系统开关 2.6.0
locationEnabled boolean 地理位置的系统开关 2.6.0
wifiEnabled boolean Wi-Fi 的系统开关 2.6.0
safeArea Object 在竖屏正方向下的安全区域。部分机型没有安全区域概念,也不会返回 safeArea 字段,开发者需自行兼容。 2.7.0
结构属性 类型 说明
left number 安全区域左上角横坐标
right number 安全区域右下角横坐标
top number 安全区域左上角纵坐标
bottom number 安全区域右下角纵坐标
width number 安全区域的宽度,单位逻辑像素
height number 安全区域的高度,单位逻辑像素
locationReducedAccuracy boolean `true` 表示模糊定位,`false` 表示精确定位,仅 iOS 支持
theme string 系统当前主题,取值为`light`或`dark`,全局配置`”darkmode”:true`时才能获取,否则为 undefined (不支持小游戏) 2.11.0
合法值 说明
dark 深色主题
light 浅色主题
host Object 当前微信小程序运行的宿主环境 2.12.3
结构属性 类型 说明
appId string 宿主 app 对应的 appId
enableDebug boolean 是否已打开调试。可通过右上角菜单或 wx.setEnableDebug 打开调试。 2.15.0
deviceOrientation string 设备方向(注意:iOS 客户端横屏游戏获取 deviceOrientation 可能不准,建议以屏幕宽高为准)
合法值 说明
portrait 竖屏
landscape 横屏

示例代码

在开发者工具中预览效果

wx.getSystemInfoAsync({
  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)
  }
})

wx.getSystemInfoSync()

从基础库 2.20.1 开始,本接口停止维护,请使用 wx.getSystemSetting、wx.getAppAuthorizeSetting、wx.getDeviceInfo、wx.getWindowInfo、wx.getAppBaseInfo 代替

以 Promise 风格 调用:支持

微信小程序插件:支持,需要微信小程序基础库版本不低于 1.9.6

微信 Windows 版:支持

微信 Mac 版:支持

微信 鸿蒙 OS 版:支持

功能描述

wx.getSystemInfo 的同步版本

返回值

Object res

属性 类型 说明 最低版本
brand string 设备品牌 1.5.0
model string 设备型号。新机型刚推出一段时间会显示unknown,微信会尽快进行适配。
pixelRatio number 设备像素比
screenWidth number 屏幕宽度,单位px 1.1.0
screenHeight number 屏幕高度,单位px 1.1.0
windowWidth number 可使用窗口宽度,单位px
windowHeight number 可使用窗口高度,单位px
statusBarHeight number 状态栏的高度,单位px 1.9.0
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
SDKVersion string 客户端基础库版本 1.1.0
benchmarkLevel number 设备性能等级(仅 Android)。取值为:-2 或 0(该设备无法运行小游戏),-1(性能未知),>=1(设备性能值,该值越高,设备性能越好)
注意:性能等级当前仅反馈真机机型,暂不支持 IDE 模拟器机型
1.8.0
albumAuthorized boolean 允许微信使用相册的开关(仅 iOS 有效) 2.6.0
cameraAuthorized boolean 允许微信使用摄像头的开关 2.6.0
locationAuthorized boolean 允许微信使用定位的开关 2.6.0
microphoneAuthorized boolean 允许微信使用麦克风的开关 2.6.0
notificationAuthorized boolean 允许微信通知的开关 2.6.0
notificationAlertAuthorized boolean 允许微信通知带有提醒的开关(仅 iOS 有效) 2.6.0
notificationBadgeAuthorized boolean 允许微信通知带有标记的开关(仅 iOS 有效) 2.6.0
notificationSoundAuthorized boolean 允许微信通知带有声音的开关(仅 iOS 有效) 2.6.0
phoneCalendarAuthorized boolean 允许微信使用日历的开关 2.19.3
bluetoothEnabled boolean 蓝牙的系统开关 2.6.0
locationEnabled boolean 地理位置的系统开关 2.6.0
wifiEnabled boolean Wi-Fi 的系统开关 2.6.0
safeArea Object 在竖屏正方向下的安全区域。部分机型没有安全区域概念,也不会返回 safeArea 字段,开发者需自行兼容。 2.7.0
结构属性 类型 说明
left number 安全区域左上角横坐标
right number 安全区域右下角横坐标
top number 安全区域左上角纵坐标
bottom number 安全区域右下角纵坐标
width number 安全区域的宽度,单位逻辑像素
height number 安全区域的高度,单位是逻辑像素
locationReducedAccuracy boolean `true` 表示模糊定位,`false` 表示精确定位,仅 iOS 支持
theme string 系统当前主题,取值为`light`或`dark`,全局配置`”darkmode”:true`时才能获取,否则为 undefined (不支持小游戏) 2.11.0
合法值 说明
dark 深色主题
light 浅色主题
host Object 当前微信小程序运行的宿主环境 2.12.3
结构属性 类型 说明
appId string 宿主 app 对应的 appId
enableDebug boolean 是否已打开调试。可通过右上角菜单或 wx.setEnableDebug 打开调试。 2.15.0
deviceOrientation string 设备方向(注意:iOS 客户端横屏游戏获取 deviceOrientation 可能不准,建议以屏幕宽高为准)
合法值 说明
portrait 竖屏
landscape 横屏

示例代码

在开发者工具中预览效果

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)
  }
})
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、wx.getAppAuthorizeSetting、wx.getDeviceInfo、wx.getWindowInfo、wx.getAppBaseInfo 替代

wx.getSystemSetting()

基础库 2.20.1 开始支持,低版本需做兼容处理。

微信小程序插件:支持,需要微信小程序基础库版本不低于 2.21.3

微信 Windows 版:支持

微信 Mac 版:支持

微信 鸿蒙 OS 版:支持

功能描述

获取设备设置

返回值

Object

属性 类型 说明
bluetoothEnabled boolean 蓝牙的系统开关
locationEnabled boolean 地理位置的系统开关
wifiEnabled boolean Wi-Fi 的系统开关
deviceOrientation string 设备方向(注意:IOS客户端横屏游戏获取deviceOrientation可能不准,建议以屏幕宽高为准)
合法值 说明
portrait 竖屏
landscape 横屏

示例代码

const systemSetting = wx.getSystemSetting()

console.log(systemSetting.bluetoothEnabled)
console.log(systemSetting.deviceOrientation)
console.log(systemSetting.locationEnabled)
console.log(systemSetting.wifiEnabled)