地球不爆炸,爱情不掉线。宇宙不重启,我们不分离。 不想要和手机里的女朋友掉线的你,如何获取到她的手机网络状态呢? 大家都知道,手机连接到互联网有几种方式:WiFi、2G、3G、4G,包括很快到来 的 5G。每种方式的上传速度和下载速度差异很大,它们的计费方式的差异也导致 用户在使用互联网服务的时候有不同的使用习惯。 WiFi 相对于其他几种网络连接方式,其速度会更快。WiFi 一般情况下,都是免 费供用户使用,而移动数据网络是需要根据使用流量进行计费的。 考虑这样一个场景,小程序需要下载一些文档,然后通过小程序的能力去预览这个 文档,这些文档可能文件体积比较大,对于某些用户来说,他们并不想耗费太多的 数据流量去预览文档。这种情况下,可以通过小程序提供的获取网络状态 API my.getNetworkType,做一些更友好的体验提示。 入参 Object 类型,属性如下: 78 属性 类型 必填 描述 success Function 否 调用成功的回调函数。 fail Function 否 调用失败的回调函数。 complete Function 否 调用结束的回调函数(调用成 功、失败都会执行)。 success 回调函数 入参为 Object 类型,属性如下: 属性 类型 描述 networkAvailable Boolean 网络是否可用。 networkType String 网络类型值 UNKNOWN / NOTREACHABLE / WIFI / 3G / 2G / 4G / WWAN 示例代码 // API-DEMO page/API/get-network-type/get-network-type.json { "defaultTitle": "获取手机网络状态" }
网络状态 未获取 点击按钮可获取网络状态 {{networkType}} 79 获取手机网络状态 清空 // API-DEMO page/API/get-network-type/get-network-type.js Page({ data: { hasNetworkType: false }, onLoad() { this.onChange = this.onChange.bind(this); // my.onNetworkChange(this.onChange); }, onChange(res){ console.log('onNetworkChange', res); this.setData({ hasNetworkType: true, networkType: res.networkType }); }, onUnload() { // my.offNetworkChange(this.onChange); }, getNetworkType() { my.getNetworkType({ success: (res) => { this.setData({ hasNetworkType: true, networkType: res.networkType }) } }) 80 }, clear() { this.setData({ hasNetworkType: false, networkType: '' }) }, }); /* API-DEMO page/API/get-network-type/get-network-type.acss */ .page-body-info { height: 200rpx; } .page-body-text-network-type { font-size: 80rpx; font-family: Helvetica; }内容来源:https://developer.aliyun.com/article/756818?spm=a2c6h.12873581.0.dArticle756818.26162b70Su1GZy&groupCode=tech_library
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。