《十一》微信小程序中的API

it2024-08-21  81

在小程序 API 有以下几种类型:

事件监听API:以 on 开头的 API 用来监听某个事件是否触发,这类 API 接受一个回调函数作为参数,当事件触发时会调用这个回调函数,并将相关数据以参数形式传入。。如:wx.onSocketOpen等。同步API:以 Sync 结尾的 API 都是同步 API,同步 API 的执行结果可以通过函数返回值直接获取,如果执行出错会抛出异常。如: wx.setStorageSync、wx.createWorker等。异步API:大多数 API 都是异步 API,这类 API 接口通常都接受一个 Object 类型的参数。如 wx.request等。

异步 API 支持 callback & promise 两种调用方式。当接口参数 Object 对象中不包含 success/fail/complete 时将默认返回 promise,否则仍按回调方式执行,无返回值。 注意事项

基础:

系统信息:

wx.getSystemInfo(Object object):

获取系统信息。

参数:

success:接口调用成功的回调函数。fail:接口调用失败的回调函数。complete:接口调用结束的回调函数(调用成功、失败都会执行)。
wx.getSystemInfoSync():

wx.getSystemInfo 的同步版本。

版本更新:

wx.updateWeChatApp(Object object):

更新客户端版本。当判断用户小程序所在客户端版本过低时,可使用该接口跳转到更新微信页面。

参数:

success:接口调用成功的回调函数。fail:接口调用失败的回调函数。complete:接口调用结束的回调函数(调用成功、失败都会执行)。
wx.getUpdateManager():

获取全局唯一的版本更新管理器,用于管理小程序更新。返回值是UpdateManager对象。

UpdateManager对象的方法:

UpdateManager.applyUpdate():强制小程序重启并使用新版本。在小程序新版本下载完成后(即收到 onUpdateReady 回调)调用。UpdateManager.onUpdateReady(function callback):监听小程序有版本更新事件。客户端主动触发下载(无需开发者触发),下载成功后回调。UpdateManager.onCheckForUpdate(function callback):监听向微信后台请求检查更新结果事件。微信在小程序冷启动时自动检查更新,不需由开发者主动触发。UpdateManager.onUpdateFailed(function callback):监听小程序更新失败事件。小程序有新版本,客户端主动触发下载(无需开发者触发),下载失败(可能是网络原因等)后回调。

网络:

发起请求:

wx.request(Object object):发起HTTPS网络请求。返回值是RequestTask对象。

参数:

url:开发者服务器接口地址。data:请求的参数。method:HTTP 请求方法。header:设置请求的 header,header 中不能设置 Referer。content-type 默认为 application/json。timeout:超时时间,单位为毫秒。dataType:返回的数据格式。responseType:响应的数据类型 。enableCache:开启 cache。success:接口调用成功的回调函数。fail:接口调用失败的回调函数。complete:接口调用结束的回调函数(调用成功、失败都会执行)。

RequestTask对象:网络请求任务对象。 RequestTask对象的方法: RequestTask.abort()中断请求任务。

下载:

wx.downloadFile(Object object):下载文件资源到本地。返回值是DownloadTask对象。

客户端直接发起一个 HTTPS GET 请求,返回文件的本地临时路径 (本地路径),单次下载允许的最大文件为 200MB。

参数:

url:下载资源的 url。header:HTTP 请求的 Header,Header 中不能设置 Referer。timeout:超时时间,单位为毫秒。filePath:指定文件下载后存储的路径 (本地路径)。success:接口调用成功的回调函数。fail:接口调用失败的回调函数。complete:接口调用结束的回调函数(调用成功、失败都会执行)。

DownloadTask对象:一个可以监听下载进度变化事件,以及取消下载任务的对象。 DownloadTask对象的方法:

DownloadTask.abort():中断下载任务。DownloadTask.onProgressUpdate(function callback):监听下载进度变化事件。DownloadTask.offProgressUpdate(function callback):取消监听下载进度变化事件。
上传:

wx.uploadFile(Object object):将本地资源上传到服务器。客户端发起一个 HTTPS POST 请求,其中 content-type 为 multipart/form-data。返回值是UploadTask对象。

参数:

url:开发者服务器地址。filePath:要上传文件资源的路径 (本地路径)。name:文件对应的 key,开发者在服务端可以通过这个 key 获取文件的二进制内容。header:HTTP 请求 Header,Header 中不能设置 Referer。formData:HTTP 请求中其他额外的 form data。timeout:超时时间,单位为毫秒。success:接口调用成功的回调函数。fail:接口调用失败的回调函数。complete:接口调用结束的回调函数(调用成功、失败都会执行)。

UploadTask对象: 一个可以监听上传进度变化事件,以及取消上传任务的对象。 UploadTask对象的方法:

UploadTask.abort():中断上传任务。UploadTask.onProgressUpdate(function callback):监听上传进度变化事件。UploadTask.offProgressUpdate(function callback):取消监听上传进度变化事件。

路由:

wx.switchTab(Object object):

跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。

参数:

url:需要跳转的 tabBar 页面的路径 (代码包路径)(需在 app.json 的 tabBar 字段定义的页面),路径后不能带参数。success:接口调用成功的回调函数。fail:接口调用失败的回调函数。complete:接口调用结束的回调函数(调用成功、失败都会执行)。
wx.reLaunch(Object object):

关闭所有页面,打开到应用内的某个页面。

参数:

url:需要跳转的应用内页面路径 (代码包路径),路径后可以带参数。参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔。success:接口调用成功的回调函数。fail:接口调用失败的回调函数。complete:接口调用结束的回调函数(调用成功、失败都会执行)。
wx.redirectTo(Object object):

关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面。

参数:

url:需要跳转的应用内非 tabBar 的页面的路径 (代码包路径), 路径后可以带参数。参数与路径之间使用 ? 分隔,参数键与参数值用 = 相连,不同参数用 & 分隔。success:接口调用成功的回调函数。fail:接口调用失败的回调函数。complete:接口调用结束的回调函数(调用成功、失败都会执行)。
wx.navigateTo(Object object):

保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面。使用 wx.navigateBack 可以返回到原页面。小程序中页面栈最多十层。

参数:

url:需要跳转的应用内非 tabBar 的页面的路径 (代码包路径), 路径后可以带参数。参数与路径之间使用 ? 分隔,参数键与参数值用 = 相连,不同参数用 & 分隔。events:页面间通信接口,用于监听被打开页面发送到当前页面的数据。success:接口调用成功的回调函数。

参数:eventChannel:和被打开页面进行通信。

wx.navigateTo({ url: 'test?id=1', events: { // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据 acceptDataFromOpenedPage: function(data) { console.log(data) }, }, success: function(res) { // 通过eventChannel向被打开页面传送数据 res.eventChannel.emit('acceptDataFromOpenerPage', { data: 'test' }) } }) fail:接口调用失败的回调函数。complete:接口调用结束的回调函数(调用成功、失败都会执行)。
wx.navigateBack(Object object):

关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages 获取当前的页面栈,决定需要返回几层。

参数:

delta:返回的页面数,如果 delta 大于现有页面数,则返回到首页。success:接口调用成功的回调函数。fail:接口调用失败的回调函数。complete:接口调用结束的回调函数(调用成功、失败都会执行)。

动画:

wx.createAnimation(Object object):创建一个动画实例 animation。调用实例的方法来描述动画。最后通过动画实例的 export 方法导出动画数据传递给组件的 animation 属性。

参数:

duration:动画持续时间,单位 ms。timingFunction:动画的效果。

timingFunction的属性值:

linear:动画从头到尾的速度是相同的。ease:动画以低速开始,然后加快,在结束前变慢。ease-in:动画以低速开始。ease-in-out:动画以低速开始和结束。ease-out:动画以低速结束。step-start:动画第一帧就跳至结束状态直到结束。step-end:动画一直保持开始状态,最后一帧跳到结束状态。 delay:动画延迟时间,单位 ms。transformOrigin:原点。
Animation动画对象:

方法:

Animation.width():设置宽度。如果传入 number 则默认使用 px,也可传入其他自定义单位的长度值。返回值也是 Animation对象。

Animation.height()。

Animation.top():设置 top 值。

Animation.bottom():设置 bottom值。

Animation.left():设置 left 值。

Animation.right():设置 right 值。

Animation.backgroundColor():设置背景色。

Animation.opacity():设置透明度,范围 0-1。

Animation.step(Object object):表示一组动画完成。可以在一组动画中调用任意多个动画方法,一组动画中的所有动画会同时开始,一组动画完成后才会进行下一组动画。

参数:

duration:动画持续时间,单位 ms。timingFunction:动画的效果。delay:动画延迟时间,单位 ms。transformOrigin:原点。

Animation.export():导出动画队列。export 方法每次调用后会清掉之前的动画操作。

Animation对象还有translate()、scale()、rotate()、skew()等方法。

嗷嗷

方法: 4.

最新回复(0)