阅读(4830) (8)

百度智能小程序 监听网络状态变化

2020-08-13 16:19:42 更新

swan.onNetworkStatusChange

工具和真机中的实现有区别,详见 API 实现差异

解释:监听网络状态变化。Web 态说明 :由于各个浏览器对于 W3C 规范实现存在差异,所以在某些 Web 态环境下(比如 iOS 的 Web 态)会存在网络状态变化时 onNetworkStatusChange 回调函数不执行的情况。

方法参数

Function callback

callback 参数说明

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

isConnected

Boolean

当前是否有网络连接

networkType

String

网络类型

networkType 有效值

说明

wifi

wifi 网络

2g

2g 网络

3g

3g 网络

4g

4g 网络

none

无网络

unknown

Android 下不常见的网络类型

示例 

在开发者工具中打开


图片示例

代码示例

<view class="wrap">
    <view class="card-area">
        <view class="display-area">
            <view class="tip-week">当前网络状态</view>
            <view class="result-area-default">{{networkType}}</view>
        </view>
    </view>
</view>
Page({
    data: {
        networkType: ''
    },
    onLoad() {
        swan.getNetworkType({
            success: res => {
                this.networkHandle(res);
            }
        });
        swan.onNetworkStatusChange(res => {
            this.networkHandle(res);
        }); 
    },
    networkHandle(res) {
        let networkTypeNormal = res.networkType + '已连接';
        this.setData('networkType', networkTypeNormal);
        if (res.networkType == 'unknown' || res.networkType == 'none') {
            // 建议提示用户确认网络状态
            this.setData('networkType', res.networkType);
        }
    }
});

错误码

Android

错误码说明

202

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

1001

执行失败

iOS

错误码说明

202

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