说明:
wx.on 开头的 API 是监听某个事件发生的API接口,接受一个 CALLBACK 函数作为参数。当该事件触发时,会调用 CALLBACK 函数。
如未特殊约定,其他 API 接口都接受一个OBJECT作为参数。
OBJECT中可以指定success, fail, complete(成功、失败都会执行)来接收接口调用结果。
一、网络
API | 说明 | 兼容 |
---|---|---|
发起请求 | ||
wx.request | 发起网络请求 | |
上传、下载 | ||
wx.uploadFile | 上传文件 | |
wx.downloadFile | 下载文件 | |
WebSocket | ||
wx.connectSocket | 创建WebSocket连接 | |
wx.onSocketOpen | 监听WebSocket打开 | |
wx.onSocketError | 监听WebSocket错误 | |
wx.sendSocketMessage | 发送WebSocket消息 | |
wx.onSocketMessage | 接受WebSocket消息 | |
wx.closeSocket | 关闭WebSocket连接 | |
wx.onSocketClose | 监听WebSocket关闭 | |
SocketTask | 发送数据、关闭连接、监听打开/关闭/错误/消息 |
二、媒体
API | 说明 | 兼容 |
---|---|---|
图片 | ||
wx.chooseImage | 从相册选择图片或者拍照 | |
wx.priviewImage | 预览图片 | |
wx.getImageInfo | 获取图片信息 | |
wx.saveImageToPhotoAlbum | 保存图片到系统相册 | 基础库 1.2.0 开始支持,低版本需做兼容处理 |
录音 | ||
wx.startRecord | 开始录音 | 1.6.0 版本开始,本接口不再维护。建议使用能力更强的 wx.getRecorderManager 接口 |
wx.stopRecord | 结束录音 | |
录音管理 | ||
wx.getRecorderManager | 获取 全局唯一 的录音管理器 recorderManager | 基础库 1.6.0 开始支持,低版本需做兼容处理 |
音频播放控制 | ||
wx.playVoice | 播放语音 | 1.6.0 版本开始,本接口不再维护。建议使用能力更强的 wx.createInnerAudioContext |
wx.pauseVoice | 暂停播放语音 | |
wx.stopVoice | 结束播放语音 | |
音乐播放控制 | ||
wx.getBackgroudAudioPlayerState | 获取音乐播放状态 | v1.2.0后,API不在维护,建议使用wx.getBackgroundAudioManager |
wx.playBackgroundAudio | 播放音乐 | |
wx.pauseBackgroundAudio | 暂停播放音乐 | |
wx.seekBackgroundAudio | 控制音乐播放进度 | |
wx.stopBackgroundAudio | 停止播放音乐 | |
wx.onBackgroundAudioPlay | 监听音乐开始播放 | |
wx.onBackgroundAudioPause | 监听音乐暂停 | |
wx.onBackgroundAudioStop | 监听音乐结束 | |
背景音频播放管理 | ||
wx.getBackgroundAudioManager | 获取全局唯一的背景音频管理器 backgroundAudioManager | v1.2.0,低版本兼容处理 |
音频组件控制 | ||
wx.createAudioContext | 创建并返回 audio 上下文 audioContext 对象 | v1.6.0后该API不在维护 |
wx.createInnerAudioContext | 创建并返回内部 audio 上下文 innerAudioContext 对象 | 基础库 1.6.0 开始支持,低版本需做兼容处理 |
视频 | ||
wx.chooseVideo | 从相册选择视频或拍摄 | |
wx.saveVideoToPhotosAlbum | 保存视频到系统相册 | v1.2.0,低版本兼容处理 |
视频组件控制 | ||
wx.createVideoContext | 创建并返回 video 上下文 videoContext 对象 | |
相机组件控制 | ||
wx.createCameraContext | 创建并返回 camera 上下文 cameraContext 对象 | v1.6.0,低版本兼容处理 |
实时音视频 | ||
wx.createLivePlayerContext | 操作对应的 <live-player/> 组件 | v1.7.0,低版本兼容处理 |
wx.createLivePusherContext | 创建并返回 live-pusher 上下文 LivePusherContext 对象 | v1.7.0,低版本兼容处理 |
三、文件
API | 说明 | 兼容 |
---|---|---|
wx.saveFile | 保存文件 | |
wx.getFileInfo | 获取文件信息 | 基础库 1.4.0 开始支持,低版本需做兼容处理 |
wx.getSavedFileList | 获取已保存文件列表 | |
wx.getSavedFileInfo | 获取已保存文件信息 | |
wx.removeSaveFile | 删除已保存文件 | |
wx.openDocument | 打开文件 |
四、数据缓存
API | 异步或同步 | 说明 |
---|---|---|
wx.getStorage | 异步 | 获取本地数据缓存 |
wx.getStorageSync | 异步 | 获取本地数据缓存 |
wx.setStorage | 异步 | 设置本地数据缓存 |
wx.setStorageSync | 同步 | 设置本地数据缓存 |
wx.getStorageInfo | 异步 | 获取本地缓存信息 |
wx.getStorageInfoSync | 同步 | 获取本地缓存信息 |
wx.removeStorage | 异步 | 删除本地缓存内容 |
wx.removeStorageSync | 同步 | 删除本地缓存内容 |
wx.clearStorage | 异步 | 清理本地数据缓存 |
wx.clearStorageSync | 同步 | 清理本地数据缓存 |
五、位置
API | 说明 |
---|---|
获取位置 | |
wx.getLocation | 获取当前位置 |
wx.chooseLocation | 打开地图选择位置 |
查看位置 | |
wx.openLocation | 打开内置地图 |
地图组件控制 | |
wx.createMapContext | 地图组件控制 |
六、设备
API | 说明 | 备注 |
---|---|---|
系统信息 | ||
wx.getSystemInfo | 获取系统信息 | 异步 |
wx.getSystemInfoSync | 获取系统信息 | 同步 |
wx.canIUse | 判断小程序的API,回调,参数,组件等是否在当前版本可用 | 此接口从基础库 1.1.1 版本开始支持 |
网络状态 | ||
wx.getNetworkType | 获取网络类型 | |
wx.onNetworkStatusChange | 监听网络状态变化 | 基础库 1.1.0 开始支持,低版本需做兼容处理 |
加速度计 | ||
wx.onAccelerometerChange | 监听加速度数据 | |
wx.startAccelerometer | 开始加速度数据 | 基础库 1.1.0 开始支持,低版本需做兼容处理 |
wx.stopAccelerometer | 停止加速度数据 | 基础库 1.1.0 开始支持,低版本需做兼容处理 |
罗盘 | ||
wx.onCompassChange | 监听罗盘数据 | |
wx.startCompass | 开启罗盘 | 基础库 1.1.0 开始支持,低版本需做兼容处理 |
wx.stopCompass | 停止罗盘 | 基础库 1.1.0 开始支持,低版本需做兼容处理 |
拨打电话 | ||
wx.makePhoneCall | 拨打电话 | |
扫码 | ||
wx.scanCode | 扫码 | |
剪贴板 | ||
wx.setClipboardData | 设置剪贴板内容 | 基础库 1.1.0 开始支持,低版本需做兼容处理 |
wx.getClipboardData | 获取剪贴板内容 | 基础库 1.1.0 开始支持,低版本需做兼容处理 |
蓝牙 | 基础库版本 1.1.0 开始支持,低版本需做兼容处理 | iOS 微信客户端 6.5.6 版本开始支持,Android 6.5.7 版本开始支持 |
wx.openBluetoothAdapter | 初始化小程序蓝牙模块(生命周期:从open-close或小程序销毁) | |
wx.closeBluetoothAdapter | 关闭蓝牙模块,使其进入未初始化状态 | |
wx.getBluetoothAdapterState | 获取本机蓝牙适配器状态 | |
wx.onBluetoothAdapterStateChange | 监听蓝牙适配器状态变化事件 | |
wx.startBluetoothDevicesDiscovery | 开始搜寻附近的蓝牙外围设备 | |
wx.stopBluetoothDevicesDiscovery | 停止搜寻附近的蓝牙外围设备 | |
wx.getBluetoothDevices | 获取在小程序蓝牙模块生效期间所有已发现的蓝牙设备,包括已经和本机处于连接状态的设备 | |
wx.getConnectedBluetoothDevices | 根据 uuid 获取处于已连接状态的设备 | |
wx.onBluetoothDeviceFound | 监听寻找到新设备的事件 | |
wx.createBLEConnection | 连接低功耗蓝牙设备 | |
wx.closeBLEConnection | 断开与低功耗蓝牙设备的连接 | |
wx.getBLEDeviceServices | 获取蓝牙设备所有 service(服务) | |
wx.getBLEDeviceCharacteristics | 获取蓝牙设备某个服务中的所有 characteristic(特征值) | |
wx.readBLECharacteristicValue | 读取低功耗蓝牙设备的特征值的二进制数据值 | |
wx.writeBLECharacteristicValue | 向低功耗蓝牙设备特征值中写入二进制数据 | |
wx.notifyBLECharacteristicValueChange | 启用低功耗蓝牙设备特征值变化时的 notify 功能,订阅特征值 | |
wx.onBLEConnectionStateChange | 监听低功耗蓝牙连接状态的改变事件,包括开发者主动连接或断开连接,设备丢失,连接异常断开等等 | |
wx.onBLECharacteristicValueChange | 监听低功耗蓝牙设备的特征值变化。必须先启用notify接口才能接收到设备推送的notification | |
错误码 | 蓝牙错误码列表 | |
iBeacon | ||
wx.startBeaconDiscovery | 开始搜索附近的iBeacon设备 | 基础库 1.2.0 开始支持,低版本需做兼容处理 |
wx.stopBeaconDiscovery | 停止搜索附近的iBeacon设备 | |
wx.getBeacons | 获取所有已搜索到的iBeacon设备 | |
wx.onBeaconUpdate | 监听 iBeacon 设备的更新事件 | |
wx.onBeaconServiceChange | 监听 iBeacon 服务的状态变化 | |
屏幕亮度 | ||
wx.setScreenBrightness | 设置屏幕亮度 | 基础库 1.2.0 开始支持,低版本需做兼容处理 |
wx.getScreenBrightness | 获取屏幕亮度 | |
wx.setKeepScreenOn | 设置是否保持常亮状态 | |
用户截屏事件 | ||
wx.onUserCaptureScreen | 监听用户主动截屏事件,用户使用系统截屏按键截屏时触发此事件 | |
振动 | ||
wx.vibrateLong | 使手机发生较长时间的振动(400ms) | 基础库 1.2.0 开始支持,低版本需做兼容处理 |
wx.vibrateShort | 使手机发生较短时间的振动(15ms) | |
手机联系人 | ||
wx.addPhoneContact | 调用后,用户可以选择将该表单以“新增联系人”或“添加到已有联系人”的方式,写入手机系统通讯录,完成手机通讯录联系人和联系方式的增加 | |
NFC | ||
wx.getHCEState | 判断当前设备是否支持 HCE 能力 | 基础库 1.7.0 开始支持,低版本需做兼容处理 |
wx.startHCE | 初始化 NFC 模块 | |
wx.stopHCE | 关闭 NFC 模块。仅在安卓系统下有效 | |
wx.onHCEMessag | 监听 NFC 设备的消息回调,并在回调中处理 | |
wx.sendHCEMessage | 发送 NFC 消息。仅在安卓系统下有效 | |
WiFi | ||
wx.startWifi | 初始化 Wi-Fi 模块 | 基础库 1.6.0 开始支持,低版本需做兼容处理 |
wx.stopWifi | 关闭 Wi-Fi 模块 | |
wx.connectWifi | 连接 Wi-Fi。若已知 Wi-Fi 信息,可以直接利用该接口连接。 | 仅 Android 与 iOS 11 以上版本支持 |
wx.getWifiList | 请求获取 Wi-Fi 列表,在 onGetWifiList 注册的回调中返回 wifiList 数据 | |
wx.onGetWifiList | 监听在获取到 Wi-Fi 列表数据时的事件,在回调中将返回 wifiList | |
wx.setWifiList | iOS特有接口 在 onGetWifiList 回调后,利用接口设置 wifiList 中 AP 的相关信息 | |
wx.onWifiConnected | 监听连接上 Wi-Fi 的事件 | |
wx.getConnectedWifi | 获取已连接中的 Wi-Fi 信息 |
七、界面
API | 说明 | 备注 |
---|---|---|
交互反馈 | ||
wx.showToast | 显示提示框 | |
wx.showLoading | 显示加载提示框 | |
wx.hideToast | 隐藏提示框 | |
wx.hideLoading | 隐藏加载提示框 | |
wx.showModal | 显示模态弹窗 | |
wx.showActionSheet | 显示菜单列表 | |
设置导航条 | ||
wx.setNavigationBarTitle | 设置当前页面标题 | |
wx.showNavigationBarLoading | 显示导航条加载动画 | |
wx.hideNavigationBarLoading | 隐藏导航条加载动画 | |
wx.setNavigationBarColor | 设置导航条颜色 | |
设置tabBar | 基础库 1.9.0 开始支持,低版本需做兼容处理 | |
wx.setTabBarBadge | 为 tabBar 某一项的右上角添加文本 | |
wx.removeTabBarBadge | 移除 tabBar 某一项右上角的文本 | |
wx.showTabBarRedDot | 显示 tabBar 某一项的右上角的红点 | |
wx.hideTabBarRedDot | 隐藏 tabBar 某一项的右上角的红点 | |
wx.setTabBarStyle | 动态设置 tabBar 的整体样式 | |
wx.setTabBarItem | 动态设置 tabBar 某一项的内容 | |
wx.showTabBar | 显示 tabBar | |
wx.hideTabBar | 隐藏 tabBar | |
设置置顶信息 | ||
wx.setTopBarText | 动态设置置顶栏文字内容,只有当前小程序被置顶时能生效,如果当前小程序没有被置顶,也能调用成功,但是不会立即生效,只有在用户将这个小程序置顶后才换上设置的文字内容 | 调用成功后,需间隔 5s 才能再次调用此接口,如果在 5s 内再次调用此接口,会回调 fail |
导航 | ||
wx.navigateTo | 新窗口打开页面 | |
wx.redirectTo | 原窗口打开页面 | |
wx.switchTab | 切换到tabbar页面 | |
wx.navigateBack | 退回上一个页面 | |
wx.reLaunch | 关闭所有页面,打开到应用内的某个页面 | |
动画 | ||
wx.createAnimation | 动画 | |
位置 | ||
wx.pageScrollTo | 将页面滚动到目标位置 | |
绘图 | ||
intro | 在Canvas上画图 | |
coordinates | Canvas坐标系 | |
gradient | 渐变 | |
Reference | API | |
color | 颜色的使用 | |
wx.createCanvasContext | 创建 canvas 绘图上下文(指定 canvasId) | |
wx.createContext | 创建绘图上下文 | |
wx.drawCanvas | 绘图 | |
wx.canvasToTempFilePath | 把当前画布指定区域的内容导出生成指定大小的图片,并返回文件路径 | |
wx.canvasGetImageData | 返回一个数组,用来描述 canvas 区域隐含的像素数据 | |
wx.canvasPutImageData | 将像素数据绘制到画布的方法 | |
canvasContext.setFillStyle | 设置填充色(默认black) | |
canvasContext.setStrokeStyle | 设置边框颜色(默认black) | |
canvasContext.setShadow | 设置阴影样式(offsetX 默认值为0, offsetY 默认值为0, blur 默认值为0,color 默认值为 black) | |
canvasContext.createLinearGradient | 创建一个线性的渐变颜色(需要使用 addColorStop() 来指定渐变点,至少要两个) | |
canvasContext.createCircularGradient | 创建一个圆形的渐变颜色(起点在圆心,终点在圆环, 需要使用 addColorStop() 来指定渐变点,至少要两个) | |
canvasContext.addColorStop | 创建一个颜色的渐变点 | |
… | … | |
下拉刷新 | 基础库 1.5.0 开始支持,低版本需做兼容处理 | |
Page.onPullDownRefresh | 在 Page 中定义 onPullDownRefresh 处理函数,监听该页面用户下拉刷新事件 | |
wx.startPullDownRefresh | 开始下拉刷新,调用后触发下拉刷新动画,效果与用户手动下拉刷新一致 | |
wx.stopPullDownRefresh | 停止下拉刷新动画 | |
WXML节点信息 | ||
wx.createSelectorQuery | 返回一个SelectorQuery对象实例 | |
selectorQuery.in | 将选择器的选取范围更改为自定义组件component内 | |
selectorQuery.select | 返回一个NodesRef对象实例,可以用于获取节点信息 | |
selectorQuery.selectAll | 在当前页面下选择匹配选择器selector的节点,返回一个NodesRef对象实例 | |
selectorQuery.selectViewport | 选择显示区域,可用于获取显示区域的尺寸、滚动位置等信息,返回一个NodesRef对象实例 | |
nodesRef.boundingClientRect | 添加节点的布局位置的查询请求,相对于显示区域,以像素为单位 | |
nodesRef.scrollOffset | 添加节点的滚动位置查询请求,以像素为单位 | |
nodesRef.fields | 获取节点的相关信息,需要获取的字段在fields中指定 | |
selectorQuery.exec | 执行所有的请求,请求结果按请求次序构成数组,在callback的第一个参数中返回 | |
WXML节点布局相交状态 | ||
wx.createIntersectionObserver | 创建并返回一个 IntersectionObserver 对象实例 | |
intersectionObserver.relativeTo | 使用选择器指定一个节点,作为参照区域之一 | |
intersectionObserver.relativeToViewport | 指定页面显示区域作为参照区域之一 | |
intersectionObserver.observe | 指定目标节点并开始监听相交状态变化情况 | |
intersectionObserver.disconnect | 停止监听。回调函数将不再触发 |
八、第三方平台
API | 说明 |
---|---|
wx.getExtConfig | 获取第三方平台自定义的数据字段 |
wx.getExtConfigSync | 获取第三方平台自定义的数据字段的同步接口 |
九、开放接口
API | 说明 |
---|---|
登录 | |
wx.login | 登录 |
wx.checkSession | 校验用户当前session_key是否有效 |
签名加密 | |
授权 | |
wx.authorize | 提前向用户发起授权请求 |
用户信息 | |
wx.getUserInfo | 获取用户信息 |
getPhoneNumber | 获取微信用户绑定的手机号,需先调用login接口 |
UnionID机制说明 | |
微信支付 | |
wx.requestPayment | 发起微信支付 |
模板消息 | |
使用说明 | eg:购买成功通知,续费成功通知,预定成功通知,等模板 |
模版消息管理 | |
发送模板消息 | |
客服消息 | |
接受消息和事件 | |
发送客服消息 | |
转发消息 | |
临时素材接口 | |
客服输入状态 | |
接入指引 | |
转发 | |
Page.onShareAppMessage | 在 Page 中定义 onShareAppMessage 函数,设置该页面的转发信息 |
wx.showShareMenu | 显示当前页面的转发按钮 |
wx.hideShareMenu | 隐藏转发按钮 |
wx.updateShareMenu | 更新转发属性 |
wx.getShareInfo | 获取转发详细信息 |
获取更多转发信息 | |
页面内发起转发 | |
获取二维码 | |
获取二维码 | |
收货地址 | |
wx.chooseAddress | 获取用户收货地址 |
卡券 | |
wx.addCard | 添加卡券 |
wx.openCard | 打开卡券 |
会员卡组件 | |
设置 | |
wx.openSetting | 调起客户端小程序设置界面,返回用户设置的操作结果 |
wx.getSetting | 获取用户的当前设置 |
微信运动 | |
wx.getWeRunData | 获取用户过去三十天微信运动步数,需要先调用 wx.login 接口 |
打开小程序 | |
wx.navigateToMiniProgram | 打开同一公众号下关联的另一个小程序 |
wx.navigateBackMiniProgram | 返回到上一个小程序,只有在当前小程序是被其他小程序打开时可以调用成功 |
打开APP | |
launchApp | 因为需要用户主动触发才能打开 APP,所以该功能不由 API 来调用 |
获取发票抬头 | |
wx.chooseInvoiceTitle | 选择用户的发票抬头 |
生物认证 | |
wx.checkIsSupportSoterAuthentication | 获取本机支持的 SOTER 生物认证方式 |
wx.startSoterAuthentication | 开始 SOTER 生物认证 |
wx.checkIsSoterEnrolledInDevice | 获取设备内是否录入如指纹等生物信息的接口 |
附近 | |
添加地点 | |
查看地点列表 | |
删除地点 | |
展示/取消展示附近小程序 | |
插件管理 | |
插件管理 |
十、数据
API | 说明 |
---|---|
常规分析 | |
概括趋势 | |
访问趋势 | |
访问分布 | |
访问留存 | |
访问页面 | |
自定义分析 | |
wx.reportAnalytics | 自定义分析数据上报接口 |
十一、更新
API | 说明 |
---|---|
wx.getUpdateManager | 获取全局唯一的版本更新管理器 |
十二、多线程
API | 说明 |
---|---|
wx.createWorker | 多线程worker |
十三、调试接口
API | 说明 |
---|---|
wx.setEnableDebug | 设置是否打开调试开关,此开关对正式版也能生效 |
参考资料:
1.微信小程序API文档