小程序api接口简单了解汇总
一.基础:
1.wx.canIUse()
判断小程序的API,回调,参数,组件等是否在当前版本可用
参数:
${API}.${method}.${param}.${option}
${component}.${attribute}.${option} ----->wx.canIUse('input')
${API} 代表 API 名字
${method} 代表调用方式,有效值为return, success, object, callback
${param} 代表参数或者返回值
${option} 代表参数的可选值或者返回值的属性
${component} 代表组件名字
${attribute} 代表组件属性
${option} 代表组件属性的可选值
返回结果:true或者false
2.wx.base64ToArrayBuffer()
将 Base64 字符串转成 ArrayBuffer 对象
返回值:ArrayBuffer 对象
实例:
const base64='CxYh'
const arrayBuffer=wx.base64ToArrayBuffer(base64)
3.wx.arrayBufferToBase64()
将 ArrayBuffer 对象转成 Base64 字符串,返回值:Base64 字符串
实例:
const arrayBuffer=new Uint8Array([11,22,33])
const base64=wx.arrayBufferToBase64(arrayBuffer)
二.系统信息:
1.wx.getSystemInfo() 获取系统信息
实例:
wx.getSystemInfo({ complete: (res) => { console.log("手机型号:"+res.model) })
complete:接口调用结束的回调函数(调用成功、失败都会执行)
success:接口调用成功的回调函数
fail:接口调用失败的回调函数
2.wx.getSystemInfoSync() ---->wx.getSystemInfo 的同步版本
实例:
const info=wx.getSystemInfoSync()
console.log('微信版本:'+info.version)
等多参数参见:https://developers.weixin.qq.com/miniprogram/dev/api/base/system/system-info/wx.getSystemInfo.html
三.更新
1.wx.getUpdateManager()
获取全局唯一的版本更新管理器,用于管理小程序更新
返回对象:UpdateManager 更新管理器对象
实例:constupdateManager=wx.getUpdateManager()
2.UpdateManager.applyUpdate()
强制小程序重启并使用新版本。在小程序新版本下载完成后(即收到 onUpdateReady 回调)调用。
3.UpdateManager.onCheckForUpdate(function callback)
监听向微信后台请求检查更新结果事件。微信在小程序冷启动时自动检查更新,不需由开发者主动触发
4.UpdateManager.onUpdateFailed(function callback)
监听小程序更新失败事件。小程序有新版本,客户端主动触发下载(无需开发者触发),下载失败(可能是网络原因等)后回调
5.UpdateManager.onUpdateReady(function callback)
监听小程序有版本更新事件。客户端主动触发下载(无需开发者触发),下载成功后回调
实例:
![](https://img.haomeiwen.com/i10439291/04ad5381a5034b39.png)
四.小程序----生命周期
1.wx.getLaunchOptionsSync() 获取小程序启动时的参数,与 App.onLaunch 的回调参数一致
返回值:object(一个对象)
属性值:
path 启动小程序的路径
scene 启动小程序的场景
query 返回对象,启动小程序的query参数
referrerInfo.appId 来源小程序、公众好或者App的appId
referrerInfo.extraData 来源小程序传过来的数据,scene=1037或1038时支持,返回一个对象
注意:
部分版本在无referrerInfo的时候会返回 undefined,建议使用 options.referrerInfo && options.referrerInfo.appId 进行判断
2.wx.getEnterOptionsSync()
获取本次小程序启动时的参数。如果当前是冷启动,则返回值与 App.onLaunch 的回调参数一致;如果当前是热启动,则返回值与 App.onShow 一致
返回值:object(一个对象)
属性值和wx.getLaunchOptionsSync()相同
五.小程序----监听应用级事件
1.wx.onUnhandledRejection(function callback)
监听未处理的 Promise 拒绝事件。该事件与 App.onUnhandledRejection 的回调时机与参数一致
2.wx.onThemeChange(function callback)
监听系统主题改变事件。该事件与 App.onThemeChange 的回调时机一致
3.wx.onPageNotFound(function callback)
监听小程序要打开的页面不存在事件。该事件与 App.onPageNotFound 的回调时机一致
4.wx.onError(function callback)
监听小程序错误事件。如脚本错误或 API 调用报错等。该事件与 App.onError 的回调时机与参数一致
5.wx.onAppShow(function callback)
监听小程序切前台事件。该事件与 App.onShow 的回调参数一致
6.wx.onAppHide(function callback)
监听小程序切后台事件。该事件与 App.onHide 的回调时机一致
六.小程序----取消监听应用级事件
1.wx.offUnhandledRejection(function callback)
取消监听未处理的 Promise 拒绝事件
2.wx.offThemeChange(function callback)
取消监听系统主题改变事件。
3.wx.offPageNotFound(function callback)
取消监听小程序要打开的页面不存在事件。
4.wx.offError(function callback)
取消监听小程序错误事件
5.wx.offAppShow(function callback)
取消监听小程序切前台事件
6.wx.offAppHide(function callback)
取消监听小程序切后台事件。
七.小程序调试
1.wx.setEnableDebug(Object object)
设置是否打开调试开关。此开关对正式版也能生效
实例:
// 打开调试
wx.setEnableDebug({
enableDebug:true
})
// 关闭调试
wx.setEnableDebug({
enableDebug:false
})
2. wx.getRealtimeLogManager() 获取实时日志管理器对象
实例:const RealtimeLogManager=wx.getRealtimeLogManager()
wx.getLogManager(Object object) 获取日志管理器对象
返回:LogManager 对象
实例:const LogManager=wx.getLogManager({level:1})
level: 取值为0/1,取值为0表示是否会把 App、Page的生命周期函数和 wx 命名空间下的函数调用写入日志,取值为1则不会。默认值是 0
八.页面跳转
1.wx.switchTab(Object object) 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面
2.wx.reLaunch(Object object)
关闭所有页面,打开到应用内的某个页面
3.wx.redirectTo(Object object)
关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面
4.wx.navigateTo(Object object)
保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面。使用 wx.navigateBack 可以返回到原页面。小程序中页面栈最多十层。
5.wx.navigateBack(Object object)
关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages 获取当前的页面栈,决定需要返回几层
6.页面间事件通信通道
EventChannel.emit(string eventName, any args)
触发一个事件
EventChannel.on(string eventName, EventCallback fn)
持续监听一个事件
EventChannel.once(string eventName, EventCallback fn)
监听一个事件一次,触发后失效
EventChannel.off(string eventName, EventCallback fn)
取消监听一个事件。给出第二个参数时,只取消给出的监听函数,否则取消所有监听函数