阅读(4821) 赞(3)

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

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

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