upNetworkModule 网络模块

模块概述

网络模块为H5页面提供当前连接的网络信息。


方法列表

  • isOnline (获取是否联网)
  • isOnlinePing (获取网络是否可用)
  • getNetworkInfo(获取当前连接的网络信息)
  • addNetStateEventListener(注册网络变化监听)
  • removeNetStateEventListener(移除网络变化监听)

公共数据

  • 所有数据均以JSON结构返回,由代码,信息和数据三部分组成
    {
      "retCode": "000000", //接口状态标识码
      "retInfo": "操作成功",//接口信息说明
      "retData": null //业务数据
    }
    

具体定义:返回数据通用


模块变更记录

  • V3.0.0 封装isOnline,getNetworkInfo接口返回数据
  • V3.2.0
    • 网络模块未定义的retCode编码按照通用数据规定变为990001,'获取当前连接的网络信息失败'使用通用retCode为000001
    • 增加addNetStateEventListener和removeNetStateEventListener接口
  • V4.0.0
    • 重构network模块,修改retInfo
    • 增加isOnlinePing方法,注意:ping地址需要时间,可能几秒或者几十秒后才返回结果

方法说明

  • isOnline (获取是否联网)

    isOnline()
适用性
容器 Nebula
支持情况
APP版本 6.12.0 及以上
params 输入参数:

错误返回 retCode说明:
retCode编码 retInfo说明

使用通用retCode

正确返回 retData说明:
属性名 数据类型 说明
isOnline Boolean 是否联网。如果当前终端连接的路由器无法正常连网的话,该字段仍然返回true
示例

调用方式

uplusapi.upNetworkModule.isOnline().then((result) =>console.log('result',result));

获取成功返回结果

{
  "retCode": "000000",
  "retInfo": "调用函数isOnlineForNetwork成功",
  "retData": {
    "isOnline": true,
  }
}
  • isOnlinePing (获取网络是否可用)

    isOnlinePing()
适用性
容器 Nebula
支持情况
APP版本 7.10.0 及以上
params 输入参数:

错误返回 retCode说明:
retCode编码 retInfo说明

使用通用retCode

正确返回 retData说明:
属性名 数据类型 说明
isOnlinePing Boolean 网络是否可用,智家及百度地址有任何一个可以ping通即返回true,否则返回false
示例

调用方式

uplusapi.upNetworkModule.isOnlinePing().then((result) =>console.log('result',result));

获取成功返回结果

{
  "retCode": "000000",
  "retInfo": "调用函数isOnlinePingForNetwork成功",
  "retData": {
    "isOnlinePing": true,
  }
}

getNetworkInfo (获取当前连接的网络信息)

getNetworkInfo()

适用性
容器 Nebula
支持情况
APP版本 6.12.0 及以上
params 输入参数:

错误返回 retCode说明:
retCode编码 retInfo说明

使用通用retCode

正确返回 retData说明:
属性名 数据类型 说明
type String 网络类型,cell:蜂窝网络,WiFi:WiFi网络
ip String 以十进制格式化的IPv4网络地址,暂不支持IPv6
cellType String 蜂窝网络类型,此属性只在type=cell时有值,值为common-普通网络,2G-2G网络,3G-3G网络,4G-4G网络,5G-5G网络
mac String 网络设备物理地址,当type=1时有值,值为十六进制以冒号分割个字符串
ssid String WiFi网络名称,当type=1时有值,值为Unicode字符串

注意:Android端使用该接口时需要使用者在app的AndroidManifest文件中声明android:name="android.permission.ACCESS_FINE_LOCATION",并且在设置中打开定位权限,否则获取不到ssid, 获取cellType信息需要在设置中打开获取手机信息的权限。 android6及以后版本系统将无法通过系统的方法获取到mac,目前使用的网上提供的非官方方法,一旦方法发生变动,将有可能获取不到mac。 Android10及以上版本由于Google禁止获取mac地址等设备唯一标识符,所以获取到的mac地址可能为空字符串或null

示例

调用方式

uplusapi.upNetworkModule.getNetworkInfo().then((result) =>console.log('result',result));

获取成功返回结果

{
  "retCode": "000000",
  "retInfo": "调用函数getNetworkInfoForNetwork成功",
  "retData": {
    "type": "WiFi",
    "ip": "192.168.1.101",
    "cellType":"",
    "mac":"44:97:5a:13:3a:48",
    "ssid":"TP-link"
  }
}

获取失败返回结果

{
  "retCode": "000001",
  "retInfo": "调用函数getNetworkInfoForNetwork失败,errMsg:获取当前连接的网络信息失败",
  "retData": "",
}

addNetStateEventListener(监听网络变化)

addNetStateEventListener()

适用性
容器 Nebula
支持情况
APP版本 6.12.0 及以上
params 输入参数:
属性名 类型 是否必填 描述
ret Function 网络变化监听器
key string 网络监听器key值
正确返回说明:

获取成功返回结果

{
  "retCode": "000000",
  "retInfo": "调用函数addNetStateEventListenerForNetwork成功",
}

retInfo:第一次调用返回"调用函数addNetStateEventListenerForNetwork成功",重复调用返回"添加NetworkChange监听器成功"

网络监听回调,ret监听器数据说明:
属性名 数据类型 说明
retCode String 通用返回码
retInfo String 网络已连接/网络已断开
retData String 当前状态,online:网络连接,offline:网络断开
示例

调用方式

uplusapi.upNetworkModule.addNetStateEventListener((ret) =>console.log('result',ret),'itsFirst');

获取成功返回结果

{
  "retCode": "000000",
  "retInfo": "网络已连接",
  "retData":"online",
}

removeNetStateEventListener(移除网络监听)

removeNetStateEventListener()

适用性
容器 Nebula
支持情况
APP版本 6.12.0 及以上
params 输入参数:
属性名 类型 是否必填 描述
key string 网络监听器key值
正确返回说明:

成功返回结果

{
  "retCode": "000000",
  "retInfo": "调用函数removeNetStateEventListenerForNetwork成功",//或者"移除NetworkChanged监听器成功",前者为最后一个监听者移除监听时返回,后者为非最后一个监听者移除监听时返回。
}

失败返回结果

{
  "retCode": "000001",
  "retInfo": "移除NetworkChanged监听器失败,监听器不存在",
}
示例

调用方式

uplusapi.upNetworkModule.removeNetStateEventListener('itsFirst');

results matching ""

    No results matching ""