获取系统信息(设备信息)
https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemInfo.html
分为同步方法和异步方法
Object wx.getSystemInfoSync()
以 Promise 风格 调用:支持
小程序插件:支持,需要小程序基础库版本不低于 1.9.6
微信 Windows 版:支持
微信 Mac 版:支持
wx.getSystemInfo 的同步版本
返回值
Object res
| 属性 | 类型 | 说明 | 最低版本 |
|---|---|---|---|
| brand | string | 设备品牌 | 1.5.0 |
| model | string | 设备型号。新机型刚推出一段时间会显示unknown,微信会尽快进行适配。 | |
| pixelRatio | number | 设备像素比 | |
| screenWidth | number | 屏幕宽度,单位px | 1.1.0 |
| screenHeight | number | 屏幕高度,单位px | 1.1.0 |
| windowWidth | number | 可使用窗口宽度,单位px | |
| windowHeight | number | 可使用窗口高度,单位px | |
| statusBarHeight | number | 状态栏的高度,单位px | 1.9.0 |
| language | string | 微信设置的语言 | |
| version | string | 微信版本号 | |
| system | string | 操作系统及版本 | |
| platform | string | 客户端平台 | |
| fontSizeSetting | number | 用户字体大小(单位px)。以微信客户端「我-设置-通用-字体大小」中的设置为准 | 1.5.0 |
| SDKVersion | string | 客户端基础库版本 | 1.1.0 |
| benchmarkLevel | number | 设备性能等级(仅 Android)。取值为:-2 或 0(该设备无法运行小游戏),-1(性能未知),>=1(设备性能值,该值越高,设备性能越好,目前最高不到50) | 1.8.0 |
| albumAuthorized | boolean | 允许微信使用相册的开关(仅 iOS 有效) | 2.6.0 |
| cameraAuthorized | boolean | 允许微信使用摄像头的开关 | 2.6.0 |
| locationAuthorized | boolean | 允许微信使用定位的开关 | 2.6.0 |
| microphoneAuthorized | boolean | 允许微信使用麦克风的开关 | 2.6.0 |
| notificationAuthorized | boolean | 允许微信通知的开关 | 2.6.0 |
| notificationAlertAuthorized | boolean | 允许微信通知带有提醒的开关(仅 iOS 有效) | 2.6.0 |
| notificationBadgeAuthorized | boolean | 允许微信通知带有标记的开关(仅 iOS 有效) | 2.6.0 |
| notificationSoundAuthorized | boolean | 允许微信通知带有声音的开关(仅 iOS 有效) | 2.6.0 |
| bluetoothEnabled | boolean | 蓝牙的系统开关 | 2.6.0 |
| locationEnabled | boolean | 地理位置的系统开关 | 2.6.0 |
| wifiEnabled | boolean | Wi-Fi 的系统开关 | 2.6.0 |
| safeArea | Object | 在竖屏正方向下的安全区域 | 2.7.0 |
| locationReducedAccuracy | boolean |
true 表示模糊定位,false 表示精确定位,仅 iOS 支持 |
|
| theme | string | 系统当前主题,取值为light或dark,全局配置"darkmode":true时才能获取,否则为 undefined (不支持小游戏) |
2.11.0 |
| host | Object | 当前小程序运行的宿主环境 | 2.12.3 |
| enableDebug | boolean | 是否已打开调试。可通过右上角菜单或 wx.setEnableDebug 打开调试。 | 2.15.0 |
| deviceOrientation | string | 设备方向 |
页面交互API:
https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showToast.html
提示信息:
wx.showToast(Object object)
以 Promise 风格 调用:支持
小程序插件:支持,需要小程序基础库版本不低于 1.9.6
显示消息提示框
参数
Object object
| 属性 | 类型 | 默认值 | 必填 | 说明 | 最低版本 |
|---|---|---|---|---|---|
| title | string | 是 | 提示的内容 | ||
| icon | string | success | 否 | 图标 | |
| image | string | 否 | 自定义图标的本地路径,image 的优先级高于 icon | 1.1.0 | |
| duration | number | 1500 | 否 | 提示的延迟时间 | |
| mask | boolean | false | 否 | 是否显示透明蒙层,防止触摸穿透 | |
| success | function | 否 | 接口调用成功的回调函数 | ||
| fail | function | 否 | 接口调用失败的回调函数 | ||
| complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
object.icon 的合法值
| 值 | 说明 | 最低版本 |
|---|---|---|
| success | 显示成功图标,此时 title 文本最多显示 7 个汉字长度 | |
| error | 显示失败图标,此时 title 文本最多显示 7 个汉字长度 | |
| loading | 显示加载图标,此时 title 文本最多显示 7 个汉字长度 | |
| none | 不显示图标,此时 title 文本最多可显示两行,1.9.0及以上版本支持 |
示例代码
wx.showToast({ title: '成功', icon: 'success', duration: 2000 })
注意
- wx.showLoading 和 wx.showToast 同时只能显示一个
- wx.showToast 应与 wx.hideToast 配对使用
相关回答
显示加载
https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showLoading.html
wx.showLoading(Object object)
基础库 1.1.0 开始支持,低版本需做兼容处理。
以 Promise 风格 调用:支持
小程序插件:支持,需要小程序基础库版本不低于 1.9.6
显示 loading 提示框。需主动调用 wx.hideLoading 才能关闭提示框
参数
Object object
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| title | string | 是 | 提示的内容 | |
| mask | boolean | false | 否 | 是否显示透明蒙层,防止触摸穿透 |
| success | function | 否 | 接口调用成功的回调函数 | |
| fail | function | 否 | 接口调用失败的回调函数 | |
| complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
示例代码
wx.showLoading({ title: '加载中', }) setTimeout(function () { wx.hideLoading() }, 2000)
注意
- wx.showLoading 和 wx.showToast 同时只能显示一个
- wx.showLoading 应与 wx.hideLoading 配对使用
微信,网络请求:
https://developers.weixin.qq.com/miniprogram/dev/api/network/request/wx.request.html
RequestTask wx.request(Object object)
以 Promise 风格 调用:不支持
小程序插件:支持,需要小程序基础库版本不低于 1.9.6
发起 HTTPS 网络请求。使用前请注意阅读相关说明。
参数
Object object
| 属性 | 类型 | 默认值 | 必填 | 说明 | 最低版本 |
|---|---|---|---|---|---|
| url | string | 是 | 开发者服务器接口地址 | ||
| data | string/object/ArrayBuffer | 否 | 请求的参数 | ||
| header | Object | 否 | 设置请求的 header,header 中不能设置 Referer。content-type 默认为 application/json
|
||
| timeout | number | 否 | 超时时间,单位为毫秒 | 2.10.0 | |
| method | string | GET | 否 | HTTP 请求方法 | |
| dataType | string | json | 否 | 返回的数据格式 | |
| responseType | string | text | 否 | 响应的数据类型 | 1.7.0 |
| enableHttp2 | boolean | false | 否 | 开启 http2 | 2.10.4 |
| enableQuic | boolean | false | 否 | 开启 quic | 2.10.4 |
| enableCache | boolean | false | 否 | 开启 cache | 2.10.4 |
| success | function | 否 | 接口调用成功的回调函数 | ||
| fail | function | 否 | 接口调用失败的回调函数 | ||
| complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
object.method 的合法值
| 值 | 说明 | 最低版本 |
|---|---|---|
| OPTIONS | HTTP 请求 OPTIONS | |
| GET | HTTP 请求 GET | |
| HEAD | HTTP 请求 HEAD | |
| POST | HTTP 请求 POST | |
| PUT | HTTP 请求 PUT | |
| DELETE | HTTP 请求 DELETE | |
| TRACE | HTTP 请求 TRACE | |
| CONNECT | HTTP 请求 CONNECT |
object.dataType 的合法值
| 值 | 说明 | 最低版本 |
|---|---|---|
| json | 返回的数据为 JSON,返回后会对返回的数据进行一次 JSON.parse | |
| 其他 | 不对返回的内容进行 JSON.parse |
object.responseType 的合法值
| 值 | 说明 | 最低版本 |
|---|---|---|
| text | 响应的数据为文本 | |
| arraybuffer | 响应的数据为 ArrayBuffer |
object.success 回调函数
参数
Object res
| 属性 | 类型 | 说明 | 最低版本 |
|---|---|---|---|
| data | string/Object/Arraybuffer | 开发者服务器返回的数据 | |
| statusCode | number | 开发者服务器返回的 HTTP 状态码 | |
| header | Object | 开发者服务器返回的 HTTP Response Header | 1.2.0 |
| cookies | Array.<string> | 开发者服务器返回的 cookies,格式为字符串数组 | 2.10.0 |
| profile | Object | 网络请求过程中一些调试信息 | 2.10.4 |
res.profile 的结构
| 属性 | 类型 | 说明 |
|---|---|---|
| redirectStart | number | 第一个 HTTP 重定向发生时的时间。有跳转且是同域名内的重定向才算,否则值为 0 |
| redirectEnd | number | 最后一个 HTTP 重定向完成时的时间。有跳转且是同域名内部的重定向才算,否则值为 0 |
| fetchStart | number | 组件准备好使用 HTTP 请求抓取资源的时间,这发生在检查本地缓存之前 |
| domainLookupStart | number | DNS 域名查询开始的时间,如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 fetchStart 值相等 |
| domainLookupEnd | number | DNS 域名查询完成的时间,如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 fetchStart 值相等 |
| connectStart | number | HTTP(TCP) 开始建立连接的时间,如果是持久连接,则与 fetchStart 值相等。注意如果在传输层发生了错误且重新建立连接,则这里显示的是新建立的连接开始的时间 |
| connectEnd | number | HTTP(TCP) 完成建立连接的时间(完成握手),如果是持久连接,则与 fetchStart 值相等。注意如果在传输层发生了错误且重新建立连接,则这里显示的是新建立的连接完成的时间。注意这里握手结束,包括安全连接建立完成、SOCKS 授权通过 |
| SSLconnectionStart | number | SSL建立连接的时间,如果不是安全连接,则值为 0 |
| SSLconnectionEnd | number | SSL建立完成的时间,如果不是安全连接,则值为 0 |
| requestStart | number | HTTP请求读取真实文档开始的时间(完成建立连接),包括从本地读取缓存。连接错误重连时,这里显示的也是新建立连接的时间 |
| requestEnd | number | HTTP请求读取真实文档结束的时间 |
| responseStart | number | HTTP 开始接收响应的时间(获取到第一个字节),包括从本地读取缓存 |
| responseEnd | number | HTTP 响应全部接收完成的时间(获取到最后一个字节),包括从本地读取缓存 |
| rtt | number | 当次请求连接过程中实时 rtt |
| estimate_nettype | string | 评估的网络状态 slow 2g/2g/3g/4g |
| httpRttEstimate | number | 协议层根据多个请求评估当前网络的 rtt(仅供参考) |
| transportRttEstimate | number | 传输层根据多个请求评估的当前网络的 rtt(仅供参考) |
| downstreamThroughputKbpsEstimate | number | 评估当前网络下载的kbps |
| throughputKbps | number | 当前网络的实际下载kbps |
| peerIP | string | 当前请求的IP |
| port | number | 当前请求的端口 |
| socketReused | boolean | 是否复用连接 |
| sendBytesCount | number | 发送的字节数 |
| receivedBytedCount | number | 收到字节数 |
| protocol | string | 使用协议类型,有效值:http1.1, h2, quic, unknown |
返回值
RequestTask
基础库 1.4.0 开始支持,低版本需做兼容处理。
请求任务对象
data 参数说明
最终发送给服务器的数据是 String 类型,如果传入的 data 不是 String 类型,会被转换成 String 。转换规则如下:
- 对于
GET方法的数据,会将数据转换成 query string(encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)...) - 对于
POST方法且header['content-type']为application/json的数据,会对数据进行 JSON 序列化 - 对于
POST方法且header['content-type']为application/x-www-form-urlencoded的数据,会将数据转换成 query string(encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)...)
示例代码
wx.request({ url: 'example.php', //仅为示例,并非真实的接口地址 data: { x: '', y: '' }, header: { 'content-type': 'application/json' // 默认值 }, success (res) { console.log(res.data) } })
















