后浪云百度小程序教程:swan.getSystemInfo

  • swan.getSystemInfo
    • 方法参数
      • object 参数说明
      • success 返回参数说明
    • 示例
      • 图片示例
      • 代码示例 1:属性全集
      • 代码示例 2:开发者一般在模拟顶部导航栏时用到 statusBarHeight 属性
      • 代码示例 3:safeArea 属性
      • 代码示例 4:适配 iphoneX 等机型
    • 错误码
      • Android

    swan.getSystemInfo

    基础库 1.10.8 版本开始支持。

    解释:获取系统信息
    Web 态说明:由于浏览器的限制,在 Web 态下部分系统信息无法获取,详见下方 success 返回参数说明。

    方法参数

    Object object

    object 参数说明

    属性名类型必填默认值说明

    success

    Function

    接口调用成功的回调

    fail

    Function

    接口调用失败的回调函数

    complete

    Function

    接口调用结束的回调函数(调用成功、失败都会执行)

    success 返回参数说明

    参数参数类型说明最低版本Web 态说明

    brand

    String

    手机品牌

    -

    model

    String

    手机型号

    -

    pixelRatio

    Number

    设备像素比

    -

    screenWidth

    Number

    屏幕宽度

    -

    screenHeight

    Number

    屏幕高度

    -

    windowWidth

    Number

    可使用窗口宽度

    -

    windowHeight

    Number

    可使用窗口高度

    -

    statusBarHeight

    Number

    状态栏的高度

    -

    navigationBarHeight

    Number

    导航栏的高度

    3.0.17

    -

    language

    String

    宿主 App 设置的语言

    -

    version

    String

    宿主 App 版本号

    Web 态无宿主概念,返回空字符串

    system

    String

    操作系统版本

    -

    platform

    String

    客户端平台,如:ios

    Web 态下该字段为 ‘web’

    fontSizeSetting

    Number

    用户字体大小设置,表示当前字体大小的等级,如 2

    Web 态下该字段为 2

    SDKVersion

    String

    客户端基础库版本

    Web 态无基础库版本管理,仅返回模拟值 999.999.999

    host

    String

    宿主平台,详见宿主平台枚举值列表

    3.30.2

    Web 态的 host 为 ‘web’

    cacheLocation

    Object

    上一次缓存的位置信息

    安卓端最低基础库版本 3.40.4;ios 最低支持版本 3.70.2

    暂不支持

    swanNativeVersion

    String

    宿主平台版本号

    最低支持版本 1.13.18

    Web 态无宿主概念,仅返回模拟值

    devicePixelRatio

    Number

    屏幕密度

    安卓最低支持基础库版本 3.0.39; ios 最低支持版本 3.0.39

    -

    albumAuthorized

    Boolean

    允许宿主使用相册的开关(仅 iOS 有效)

    ios 最低支持版本 3.110.3; 开发者工具暂不支持

    暂不支持

    notificationAuthorized

    Boolean

    允许宿主通知的开关

    安卓最低支持基础库版本 3.110.3; ios 最低支持版本 3.110.3; 开发者工具暂不支持

    暂不支持

    notificationAlertAuthorized

    Boolean

    允许宿主通知带有提醒的开关(仅 iOS 有效)

    ios 最低支持版本 3.110.3; 开发者工具暂不支持

    暂不支持

    notificationBadgeAuthorized

    Boolean

    允许宿主通知带有标记的开关(仅 iOS 有效)

    ios 最低支持版本 3.110.3; 开发者工具暂不支持

    暂不支持

    notificationSoundAuthorized

    Boolean

    允许宿主通知带有声音的开关(仅 iOS 有效)

    ios 最低支持版本 3.110.3; 开发者工具暂不支持

    暂不支持

    cameraAuthorized

    Boolean

    允许宿主使用摄像头的开关

    安卓最低支持基础库版本 3.110.3; ios 最低支持版本 3.110.3; 开发者工具暂不支持

    暂不支持

    locationAuthorized

    Boolean

    允许宿主使用定位的开关

    安卓最低支持基础库版本 3.110.3; ios 最低支持版本 3.110.3; 开发者工具暂不支持

    暂不支持

    microphoneAuthorized

    Boolean

    允许宿主使用麦克风的开关

    安卓最低支持基础库版本 3.110.3; ios 最低支持版本 3.110.3; 开发者工具暂不支持

    暂不支持

    locationEnabled

    Boolean

    地理位置的系统开关

    安卓最低支持基础库版本 3.110.3; ios 最低支持版本 3.110.3; 开发者工具暂不支持

    暂不支持

    wifiEnabled

    Boolean

    Wi-Fi 的系统开关

    安卓最低支持基础库版本 3.110.3; ios 最低支持版本 3.110.3; 开发者工具暂不支持

    暂不支持

    safeArea

    Object

    在竖屏正方向下的安全区域

    安卓最低支持基础库版本 3.110.3; ios 最低支持版本 3.110.3; 开发者工具暂不支持

    暂不支持

    示例

    在开发者工具中打开

    在开发者工具中打开

    在 WEB IDE 中打开

    扫码体验

    代码示例

    请使用百度APP扫码

    图片示例

    iOS 端预览

    安卓端预览

    代码示例 1:属性全集

    • SWAN
    • JS
     
     
     
    1. <view class="wrap">
    2. <view class="card-area">
    3. <view class="list-area border-bottom" s-for="item in infoList">
    4. <text class="list-item-key-4">{{item.label}}:</text>
    5. <text class="list-item-value">{{item.value}}</text>
    6. </view>
    7. </view>
    8. <view class="swan-security-padding-bottom flex-button">
    9. <button bindtap="getSystemInfo" type="primary" hover-stop-propagation="true">点击获取系统信息</button>
    10. </view>
    11. </view>

    代码示例 2:开发者一般在模拟顶部导航栏时用到 statusBarHeight 属性

    在开发者工具中打开

    在开发者工具中打开

    在 WEB IDE 中打开

    • SWAN
    • JS
     
     
     
    1. <!-- 代码链接中为自定义组件写法,可进行多页面复用 -->
    2. <view class="nav-box">
    3. <view class="top-title" style="margin-top:{{statusBarHeight}}px">
    4. <view class="back-icon-wrap" bindtap="back">
    5. <image class="back-icon" src="/images/back.png"></image>
    6. </view>
    7. <view class="page-title">
    8. <view class="page-title-china">{{chinaName}}</view>
    9. <view class="page-title-english">{{engName}}</view>
    10. </view>
    11. </view>
    12. </view>
    13. <!-- 占位元素,防止接下来的页面内容被导航栏遮挡 -->
    14. <view style="padding-top:{{statusBarHeight + 0.53}}px"></view>

    代码示例 3:safeArea 属性

    在开发者工具中打开

    在开发者工具中打开

    在 WEB IDE 中打开

    • SWAN
    • JS
     
     
     
    1. <view class="wrap">
    2. <view class="card-area">可使用窗口高度:{{windowHeight}}</view>
    3. <view class="card-area">屏幕高度:{{screenHeight}}</view>
    4. <view class="card-area">安全区域bottom:{{safeArea}}</view>
    5. <button bind:tap="getSystemInfo" type="primary">获取数据</button>
    6. </view>

    代码示例 4:适配 iphoneX 等机型

    在开发者工具中打开

    在开发者工具中打开

    在 WEB IDE 中打开

    参见百度通用 iphoneX 适配

    • SWAN
    • JS
     
     
     
    1. <view class="wrap">
    2. <button bindtap="getSystemInfo">
    3. 是否是iphoneX
    4. </button>
    5. <view class="card-area"> {{isIPhoneX}} </view>
    6. </view>

    错误码

    Android

    错误码说明

    201

    解析失败,请检查调起协议是否合法

    202

    解析失败,请检查参数是否正确

    402

    安全性检查:访问控制校验失败

    THE END