【微信小程序】05 设备信息 & 请求API
获取系统信息(设备信息)
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)
}
})
【微信小程序】05 设备信息 & 请求API的更多相关文章
- 微信小程序 --- 获取设备信息
获取设备信息: wx.getSystemInfo model:手机型号 pixelRatio:设备像素比 windowWidth:窗口宽度 windowHeight:窗口高度 language:语言 ...
- 微信小程序城市定位(百度地图API)
概述 微信小程序提供一些API(地址)用于获取当前用户的地理位置等信息,但无论是wx.getLocation,还是wx.chooseLocation均没有单独的字段表示国家与城市信息,仅有经纬度信息. ...
- 微信小程序的ajax数据请求wx.request
微信小程序的ajax数据请求,很多同学找不到api在哪个位置,这里单独把小程序的ajax请求给列出来,微信小程序的请求就是wx.request这个api,wx.request(一些对象参数),微信小程 ...
- 图解微信小程序---获取电影信息
图解微信小程序---获取电影信息 代码笔记 第一步:编写js文件,调用api获取相对应电影详情信息(注意带入的参数是id不在是榜单的type,电影api的movie后面又斜杠,别忘了,对应的绑定数据的 ...
- 微信小程序request(ajax)接口请求封装
微信小程序request(ajax)接口请求封装 最近在进行小程序的编写,需要调用后端接口,经常要用到wx.request方法,所以就自己封装了一下,简化一下代码,如果能给大家提供帮助更好,在封装的时 ...
- 微信小程序 获取用户信息并保存登录状态
微信小程序 获取用户信息并保存登录状态:http://www.360doc.com/content/18/0124/11/9200790_724662071.shtml
- (八)微信小程序---获取定位信息chooseLocation
微信小程序---获取定位信息 chooseLocation wxml <view bindtap="getlocalPath">{{localPath}}</v ...
- Laravel wxxcx 微信小程序获取用户信息
wxxcx 是Laravel5微信小程序登录获取用户信息扩展 部署 12345678 # 安装$ composer require iwanli/wxxcx# 注册服务# 在 /config/app. ...
- 微信小程序开发——使用mock数据模拟api请求
前言: 微信小程序开发中,后端提供了接口设计文档,前端可以先mock数据模拟api请求进行开发调试,而且可以根据需要设计mock文件的格式和内容,这样在后端接口开发完成之前,前端可以最大限度的完成前端 ...
- 微信小程序入门教程之四:API 使用
今天是这个系列教程的最后一篇. 上一篇教程介绍了,小程序页面如何使用 JavaScript 脚本.有了脚本以后,就可以调用微信提供的各种能力(即微信 API),从而做出千变万化的页面.本篇就介绍怎么使 ...
随机推荐
- 利用QEMU模拟大端序机器
简介 当前我们安装虚拟机,一般小端机器比较多,有时候想模拟大端机器测试程序,这时就有模拟大端机器的需求. 参考:利用 QEMU USER 模式运行 mips 程序 - sinpo828 - 博客园 ( ...
- flutter3-weos手机OS系统|Flutter3.22+Getx仿ios桌面管理OA应用
原创自研flutter3.x+getx仿制ios手机桌面UI管理系统模板Flutter3-OS. flutter3-osx基于最新跨平台技术Flutter3.22+Dart3.4+GetX+fl_ch ...
- idea 使用 mvn clean package 报错 Could not create local repository at
使用 mac 版本的 idea 打包使用打包命令 mvn clean package 总是报错: [ERROR] Could not create local repository at /Repos ...
- redis高可用哨兵篇
https://redis.io/docs/manual/sentinel/#sentinels-and-replicas-auto-discovery 官网资料 在上文主从复制的基础上,如果注节点出 ...
- 三月二十一日 安卓app个人作业开发
已经完成了 登录 和 注册逻辑 目前还有 提交打卡记录 的 开始时间 和 结束时间没有弄好 还有个人打卡记录的显示问题 并且我希望增加 修改个人密码 显示个人信息 退出登录 返回页面 删除打卡记录 的 ...
- NVIDIA Jetson AGX Xavier 从刷机之后到配置环境
特殊的配置环境需求: cuda-10.2.python 3.6.9.torch 1.7.0.torchversion 0.8.1,剩下的顺其自然即可(逃. 顺便说一句,里面的指令请一行一行仔细复制粘贴 ...
- 在Gerrit中修改project.config
reference:https://blog.bruin.sg/2013/04/19/how-to-edit-the-project-config-for-all-projects-in-gerrit ...
- 基于 Termux 和 ipv6 把手机打造成公网服务器
Termux 安装与配置 安装 从这下载: https://f-droid.org/en/packages/com.termux/ 初始化 授权读写手机储存 termux-setup-storage ...
- 【ClickHouse】0:clickhouse学习3之时间日期函数
官方文档: https://clickhouse.tech/docs/zh/sql-reference/functions/date-time-functions/ 常用的clickhouse时间函数 ...
- aop的两种配置方法
一.实现接口并重写方法 实现org.aopalliance.intercept.MethodInterceptor接口,这是AOP Alliance规范中的接口,Spring AOP支持它.这种方式比 ...