API 总览

WARNING

请注意,当前域名 https://dev.weixin.qq.com/docs/framework 文档已不维护,请前往微信文档中心open in new window 找到对应的新文档继续使用

  • 当前多端 SDK 对齐小程序基础库的版本是 3.2.5,即基础库版本大于 3.2.5 的小程序 JSAPI 在多端模式下尚不支持,其他通用接口的接口文档可查看 小程序 API 文档中心open in new window,如果与应用 API 有所区别的即可点击跳转对应接口文档
  • 是否支持:指的是是否适用于多端框架;由于和小程序是同源 API,“否“表示的是只支持小程序环境中使用,不适用于多端框架使用
  • 如果测试出现了不符合预期的情况,可先检查一下 SDK 是否已经是最新的,以及是否配置了扩展 SDK ,如自查依旧无法定位问题可联系社区小助手open in new window进行参考
  • 如开发者的 App 中需使用到下方标记的尚未支持的 API,可联系社区小助手open in new window进行需求反馈

图表中

[1]: 表示支持,但 API 返回的内容和小程序的存在差异

[1]: 表示不支持,原因是有替代方案

支持的类型

  1. 支持,但 API 返回内容有差异
  2. 支持,但交互行为存在差异
  3. 支持,但停止维护

不支持的原因

  1. 有其他替代方案
  2. 尚未支持,后续会支持
  3. 尚未支持,后续会支持,但是 API 含义会有差异
  4. 微信特有交互流程,后续不会支持
  5. 已废弃,后续不会支持
  6. 特定系统才有的 API,后续不会支持

补充:

基础

名称功能说明是否支持
wx.envopen in new window环境变量
wx.canIUseopen in new window判断应用的API,回调,参数,组件等是否在当前版本可用
wx.base64ToArrayBufferopen in new window将 Base64 字符串转成 ArrayBuffer 对象[3]
wx.arrayBufferToBase64open in new window将 ArrayBuffer 对象转成 Base64 字符串[3]

系统

名称功能说明是否支持
wx.getSystemInfo获取系统信息[1]
wx.openSystemBluetoothSettingopen in new window跳转系统蓝牙设置页[2]
wx.openAppAuthorizeSettingopen in new window跳转系统授权管理页
wx.getAppAuthorizeSettingopen in new window获取 App 授权设置
wx.getWindowInfoopen in new window获取窗口信息
wx.getSystemSettingopen in new window获取设备设置
wx.getSystemInfoSyncwx.getSystemInfo 的同步版本[1]
wx.getSystemInfoAsync异步获取系统信息[1]
wx.getDeviceInfoopen in new window获取设备基础信息
wx.getAppBaseInfo获取 App 基础信息[1]

更新

名称功能说明是否支持
wx.updateWeChatAppopen in new window更新客户端版本[4]
wx.getUpdateManageropen in new window获取全局唯一的版本更新管理器,用于管理小程序更新[4]

生命周期

名称功能说明是否支持
wx.getLaunchOptionsSync获取应用启动时的参数[1]
wx.getEnterOptionsSync获取本次应用启动时的参数[1]

应用级事件

名称功能说明是否支持
wx.onUnhandledRejectionopen in new window监听未处理的 Promise 拒绝事件
wx.onThemeChangeopen in new window监听系统主题改变事件
wx.onPageNotFoundopen in new window监听应用要打开的页面不存在事件
wx.onLazyLoadErroropen in new window监听应用异步组件加载失败回调
wx.onErroropen in new window监听应用错误事件
wx.onAudioInterruptionEndopen in new window监听音频中断结束事件
wx.onAudioInterruptionBeginopen in new window监听音频因为受到系统占用而被中断开始事件
wx.onAppShowopen in new window应用切前台事件
wx.onAppHideopen in new window监听应用切后台事件
wx.offUnhandledRejectionopen in new window取消监听未处理的 Promise 拒绝事件
wx.offThemeChangeopen in new window取消监听系统主题改变事件
wx.offPageNotFoundopen in new window取消监听应用要打开的页面不存在事件
wx.offLazyLoadErroropen in new window取消监听应用异步组件加载失败回调
wx.offErroropen in new window取消监听应用错误事件
wx.offAudioInterruptionEndopen in new window取消监听音频中断结束事件
wx.offAudioInterruptionBeginopen in new window取消监听音频因为受到系统占用而被中断开始事件
wx.offAppShowopen in new window取消监听应用切前台事件
wx.offAppHideopen in new window取消监听应用切后台事件

调试

名称功能说明是否支持
wx.setEnableDebugopen in new window设置是否打开调试开关
wx.getRealtimeLogManageropen in new window获取实时日志管理器对象[2],但日志只在本地生效,尚未有系统可以查询
wx.getLogManageropen in new window获取日志管理器对象[2],但日志只在本地生效,尚未有系统可以查询

性能

名称功能说明是否支持
wx.reportPerformanceopen in new window小程序测速上报[2]
wx.preloadWebviewopen in new window预加载下个页面的 WebView[2]
wx.preloadSkylineViewopen in new window预加载下个页面所需要的 Skyline 运行环境[2]
wx.preloadAssetsopen in new window为视图层预加载媒体资源文件, 目前支持:font,image[2]
wx.getPerformanceopen in new window获取当前应用性能相关的信息

加密

名称功能说明是否支持
wx.getUserCryptoManageropen in new window获取用户加密模块[1],可使用安全网关替代

路由

名称功能说明是否支持
wx.switchTabopen in new window跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面
wx.reLaunchopen in new window关闭所有页面,打开到应用内的某个页面
wx.redirectToopen in new window关闭当前页面,跳转到应用内的某个页面
wx.navigateToopen in new window保留当前页面,跳转到应用内的某个页面
wx.navigateBackopen in new window关闭当前页面,返回上一页面或多级页面

EventChannel

名称功能说明是否支持
EventChannel.emitopen in new window触发一个事件
EventChannel.offopen in new window取消监听一个事件
EventChannel.onopen in new window持续监听一个事件
EventChannel.onceopen in new window监听一个事件一次,触发后失效

跳转

名称功能说明是否支持
wx.openEmbeddedMiniProgramopen in new window打开半屏小程序[4]
wx.navigateToMiniProgramopen in new window打开另一个小程序[4]
wx.navigateBackMiniProgramopen in new window返回到上一个小程序[4]
wx.exitMiniProgramopen in new window退出当前小程序[4]

转发

名称功能说明是否支持
wx.updateShareMenuopen in new window更新转发属性[4]
wx.showShareMenuopen in new window显示当前页面的转发按钮[4]
wx.showShareImageMenuopen in new window打开分享图片弹窗,可以将图片发送给朋友、收藏或下载[4]
wx.shareVideoMessageopen in new window转发视频到聊天[1]
wx.shareFileMessageopen in new window转发文件到聊天[1]
wx.onCopyUrlopen in new window监听用户点击右上角菜单的「复制链接」按钮时触发的事件[4]
wx.offCopyUrlopen in new window移除用户点击右上角菜单的「复制链接」按钮时触发的事件的监听函数[4]
wx.hideShareMenuopen in new window隐藏当前页面的转发按钮[4]
wx.getShareInfoopen in new window获取转发详细信息[4]
wx.authPrivateMessageopen in new window验证私密消息[4]

界面

交互

名称功能说明是否支持
wx.showToastopen in new window显示消息提示框
wx.showModalopen in new window显示模态对话框
wx.showLoadingopen in new window显示 loading 提示框
wx.showActionSheetopen in new window显示操作菜单
wx.hideToastopen in new window隐藏消息提示框
wx.hideLoadingopen in new window隐藏 loading 提示框
wx.enableAlertBeforeUnloadopen in new window开启应用页面返回询问对话框
wx.disableAlertBeforeUnloadopen in new window关闭应用页面返回询问对话框

导航栏

名称功能说明是否支持
wx.showNavigationBarLoadingopen in new window在当前页面显示导航条加载动画
wx.setNavigationBarTitleopen in new window动态设置当前页面的标题
wx.setNavigationBarColoropen in new window设置页面导航条颜色
wx.hideNavigationBarLoading open in new window在当前页面隐藏导航条加载动画
wx.hideHomeButtonopen in new window隐藏返回首页按钮

背景

名称功能说明是否支持
wx.setBackgroundTextStyleopen in new window动态设置下拉背景字体、loading 图的样式
wx.setBackgroundColoropen in new window动态设置窗口的背景色

Tab Bar

名称功能说明是否支持
wx.showTabBarRedDotopen in new window显示 tabBar 某一项的右上角的红点
wx.showTabBaropen in new window显示 tabBar
wx.setTabBarStyleopen in new window动态设置 tabBar 的整体样式
wx.setTabBarItemopen in new window动态设置 tabBar 某一项的内容,2.7.0 起图片支持临时文件和网络文件
wx.setTabBarBadgeopen in new window为 tabBar 某一项的右上角添加文本
wx.removeTabBarBadgeopen in new window移除 tabBar 某一项右上角的文本
wx.hideTabBarRedDotopen in new window隐藏 tabBar 某一项的右上角的红点
wx.hideTabBaropen in new window隐藏 tabBar

字体

名称功能说明是否支持
wx.loadFontFaceopen in new window动态加载网络字体,文件地址需为下载类型

下拉刷新

名称功能说明是否支持
wx.stopPullDownRefreshopen in new window停止当前页面下拉刷新
wx.startPullDownRefreshopen in new window开始下拉刷新

滚动

名称功能说明是否支持
wx.pageScrollToopen in new window将页面滚动到目标位置,支持选择器和滚动距离两种方式定位

ScrollViewContext

名称功能说明是否支持
ScrollViewContext.scrollIntoViewopen in new window滚动至指定位置
ScrollViewContext.scrollToopen in new window滚动至指定位置

动画

名称功能说明是否支持
wx.createAnimationopen in new window创建一个动画实例 animation(Animation

置顶

名称功能说明是否支持
wx.setTopBarTextopen in new window动态设置置顶栏文字内容[5]

自定义组件

名称功能说明是否支持
wx.nextTickopen in new window延迟一部分操作到下一个时间片再执行

菜单

名称功能说明是否支持
wx.getMenuButtonBoundingClientRectopen in new window获取菜单按钮(右上角胶囊按钮)的布局位置信息[2], App里不再呈现胶囊标识,该接口依旧返回相关坐标信息,便于开发者进行多端兼容

窗口

名称功能说明是否支持
wx.setWindowSizeopen in new window设置窗口大小,该接口仅适用于 PC 平台[6]
wx.onWindowResizeopen in new window监听窗口尺寸变化事件[6]
wx.offWindowResizeopen in new window移除窗口尺寸变化事件的监听函数[6]

worklet 动画

名称功能说明是否支持
wx.workletopen in new window获取 worklet 对象[2]

网络

发起请求

名称功能说明是否支持
wx.requestopen in new window发起 HTTPS 网络请求

下载

名称功能说明是否支持
wx.downloadFileopen in new window下载文件资源到本地[2],下载允许的最大文件已调整为 2G

上传

名称功能说明是否支持
wx.uploadFileopen in new window将本地资源上传到服务器

WebSocket

  • 下方 WebSocket 相关的 JSAPI 依赖扩展 SDK "Network SDK" ,开发者需在项目中的 project.miniapp.json 配置勾选对应的 SDK 方可生效;
  • 注意:Android 和 iOS 的扩展 SDK 有所区别,详情查看 project.miniapp.json
名称功能说明是否支持
wx.sendSocketMessageopen in new window通过 WebSocket 连接发送数据
wx.onSocketOpenopen in new window监听 WebSocket 连接打开事件
wx.onSocketMessageopen in new window监听 WebSocket 接受到服务器的消息事件
wx.onSocketErroropen in new window监听 WebSocket 错误事件
wx.onSocketCloseopen in new window监听 WebSocket 连接关闭事件
wx.connectSocketopen in new window创建一个 WebSocket 连接
wx.closeSocketopen in new window关闭 WebSocket 连接

mDNS

  • 下方 mDNS 相关的 JSAPI 依赖扩展 SDK "Network SDK" ,开发者需在项目中的 project.miniapp.json 配置勾选对应的 SDK 方可生效;
  • 注意:Android 和 iOS 的扩展 SDK 有所区别,详情查看 project.miniapp.json
名称功能说明是否支持
wx.stopLocalServiceDiscoveryopen in new window停止搜索 mDNS 服务
wx.startLocalServiceDiscoveryopen in new window开始搜索局域网下的 mDNS 服务
wx.onLocalServiceResolveFail open in new window监听 mDNS 服务解析失败的事件
wx.onLocalServiceLostopen in new window监听 mDNS 服务离开的事件
wx.onLocalServiceFoundopen in new window监听 mDNS 服务发现的事件
wx.onLocalServiceDiscoveryStopopen in new window监听 mDNS 服务停止搜索的事件
wx.offLocalServiceResolveFailopen in new window取消监听 mDNS 服务解析失败的事件
wx.offLocalServiceLostopen in new window取消监听 mDNS 服务离开的事件
wx.offLocalServiceFoundopen in new window取消监听 mDNS 服务发现的事件
wx.offLocalServiceDiscoveryStopopen in new window取消监听 mDNS 服务停止搜索的事件

TCP 通信

  • 下方 TCP 通信相关的 JSAPI 依赖扩展 SDK "Network SDK" ,开发者需在项目中的 project.miniapp.json 配置勾选对应的 SDK 方可生效;
  • 注意:Android 和 iOS 的扩展 SDK 有所区别,详情查看 project.miniapp.json
名称功能说明是否支持
wx.createTCPSocketopen in new window创建一个 TCP Socket 实例支持

UDP 通信

  • 下方 UDP 通信相关的 JSAPI 依赖扩展 SDK 「Network SDK」 ,开发者需在项目中的 project.miniapp.json 配置勾选对应的 SDK 方可生效;
  • 注意:Android 和 iOS 的扩展 SDK 有所区别,详情查看 project.miniapp.json
名称功能说明是否支持
wx.createUDPSocketopen in new window创建一个 UDP Socket 实例支持

支付

名称功能说明是否支持
wx.requestPluginPaymentopen in new window插件中发起支付[1]
wx.requestPaymentopen in new window发起微信支付[1]

监听Scheme/UniversalLink进入多端App

名称功能说明是否支持
wx.miniapp.registOpenURLopen in new window监听通过Scheme/UniversalLink进入App的事件

数据缓存

  • 多端应用模式下,wx.setStorage 的限制有所提升,单个 key 允许存储的最大数据长度为 10MB,所有数据存储上限为 20MB
名称功能说明是否支持
wx.setStorageSyncopen in new window将数据存储在本地缓存中指定的 key 中支持
wx.setStorageopen in new window将数据存储在本地缓存中指定的 key 中支持
wx.revokeBufferURLopen in new window根据 URL 销毁存在内存中的数据支持
wx.removeStorageSyncopen in new windowwx.removeStorage 的同步版本支持
wx.removeStorageopen in new window从本地缓存中移除指定 key支持
wx.getStorageSyncopen in new window从本地缓存中同步获取指定 key 的内容支持
wx.getStorageInfoSyncopen in new windowwx.getStorageInfo 的同步版本支持
wx.getStorageInfoopen in new window异步获取当前storage的相关信息支持
wx.getStorageopen in new window从本地缓存中异步获取指定 key 的内容支持
wx.createBufferURLopen in new window根据传入的 buffer 创建一个唯一的 URL 存在内存中支持
wx.clearStorageSyncopen in new windowwx.clearStorage 的同步版本支持
wx.clearStorageopen in new window清理本地数据缓存支持
wx.batchSetStorageSyncopen in new window将数据批量存储在本地缓存中指定的 key 中支持
wx.batchSetStorageopen in new window将数据批量存储在本地缓存中指定的 key 中支持
wx.batchGetStorageSyncopen in new window从本地缓存中同步批量获取指定 key 的内容支持
wx.batchGetStorageopen in new window从本地缓存中异步批量获取指定 key 的内容支持

周期性更新

名称功能说明是否支持
wx.setBackgroundFetchTokenopen in new window设置自定义登录态,在周期性拉取数据时带上,便于第三方服务器验证请求合法性[2]
wx.onBackgroundFetchDataopen in new window监听收到 backgroundFetch 数据事件[2]
wx.getBackgroundFetchTokenopen in new window获取设置过的自定义登录态[2]
wx.getBackgroundFetchDataopen in new window拉取 backgroundFetch 客户端缓存数据[2]

缓存管理器

名称功能说明是否支持
wx.createCacheManageropen in new window创建缓存管理器[2]

数据分析

名称功能说明是否支持
wx.reportMonitoropen in new window自定义业务数据监控上报接口[2]
wx.reportEventopen in new window事件上报[2]
wx.reportAnalyticsopen in new window自定义分析数据上报接口[2]
wx.getExptInfoSyncopen in new window给定实验参数数组,获取对应的实验参数值[2]

画布

名称功能说明是否支持
wx.createOffscreenCanvasopen in new window创建离屏 canvas 实例
wx.createCanvasContextopen in new window创建 canvas 的绘图上下文 CanvasContext(CanvasContext对象
wx.canvasToTempFilePath open in new window把当前画布指定区域的内容导出生成指定大小的图片
wx.canvasPutImageDataopen in new window将像素数据绘制到画布
wx.canvasGetImageDataopen in new window获取 canvas 区域隐含的像素数据

媒体

地图

名称功能说明是否支持
wx.createMapContextopen in new window创建 mapopen in new window上下文 MapContextopen in new window对象[2]

MapContext

名称功能说明是否支持
MapContext.addArcopen in new window添加弧线,途经点与夹角必须设置一个
MapContext.addCustomLayeropen in new window添加个性化图层
MapContext.addGroundOverlayopen in new window创建自定义图片图层,图片会随着地图缩放而缩放
MapContext.addMarkersopen in new window添加 marker
MapContext.addVisualLayeropen in new window添加可视化图层
MapContext.fromScreenLocationopen in new window获取屏幕上的点对应的经纬度,坐标原点为地图左上角
MapContext.getCenterLocationopen in new window获取当前地图中心的经纬度
MapContext.getRegionopen in new window获取当前地图的视野范围
MapContext.getRotateopen in new window获取当前地图的旋转角
MapContext.getScaleopen in new window获取当前地图的缩放级别
MapContext.getSkewopen in new window获取当前地图的倾斜角
MapContext.includePointsopen in new window缩放视野展示所有经纬度
MapContext.initMarkerClusteropen in new window初始化点聚合的配置,未调用时采用默认配置
MapContext.moveAlongopen in new window沿指定路径移动 marker,用于轨迹回放等场景
MapContext.moveToLocationopen in new window将地图中心移置当前定位点,此时需设置地图组件 show-location 为true
MapContext.onopen in new window监听地图事件
MapContext.openMapAppopen in new window拉起地图APP选择导航[2]
MapContext.removeArcopen in new window删除弧线
MapContext.removeCustomLayeropen in new window移除个性化图层
MapContext.removeGroundOverlayopen in new window移除自定义图片图层
MapContext.removeMarkersopen in new window移除 marker
MapContext.removeVisualLayeropen in new window移除可视化图层
MapContext.setBoundary open in new window限制地图的显示范围
MapContext.setCenterOffsetopen in new window设置地图中心点偏移,向后向下为增长,屏幕比例范围(0.25~0.75),默认偏移为[0.5, 0.5]
MapContext.setLocMarkerIconopen in new window设置定位点图标,支持网络路径、本地路径、代码包路径
MapContext.toScreenLocationopen in new window获取经纬度对应的屏幕坐标,坐标原点为地图左上角
MapContext.translateMarkeropen in new window平移marker,带动画
MapContext.updateGroundOverlayopen in new window更新自定义图片图层

图片

  • 图片、音视频、相机、相册、录音等多媒体相关 JSAPI 依赖扩展 SDK "Media SDK" ,开发者需在项目中的 project.miniapp.json 配置勾选对应的 SDK 方可生效;
  • 注意:在 iOS SDK >= 1.3.11 以及 开发者工具版本 >= 1.06.2405102,iOS Media SDK 已经被拆分为:Audio SDK、Video SDK、Image SDK、Camera SDK,开发者需按需勾选
名称功能说明是否支持
wx.saveImageToPhotosAlbumopen in new window保存图片到系统相册
wx.previewMediaopen in new window预览图片和视频[2]
wx.previewImageopen in new window在新页面中全屏预览图片[2],长按识别功能暂时还不支持
wx.getImageInfoopen in new window获取图片信息
wx.editImageopen in new window编辑图片接口[2]
wx.cropImageopen in new window裁剪图片接口[2]
wx.compressImageopen in new window压缩图片接口,可选压缩质量
wx.chooseMessageFileopen in new window从客户端会话选择文件[4],可使用wx.miniapp.chooseFileopen in new window代替
wx.chooseImageopen in new window从本地相册选择图片或使用相机拍照是,已不维护;建议使用wx.chooseMedia

视频

  • 图片、音视频、相机、相册、录音等多媒体相关 JSAPI 依赖扩展 SDK "Media SDK" ,开发者需在项目中的 project.miniapp.json 配置勾选对应的 SDK 方可生效;
  • 注意:在 iOS SDK >= 1.3.11 以及 开发者工具版本 >= 1.06.2405102,iOS Media SDK 已经被拆分为:Audio SDK、Video SDK、Image SDK、Camera SDK,开发者需按需勾选
  • 补充:iOS 应用中,如果使用wx.chooseMedia 则必须勾选 Video SDK
名称功能说明是否支持
wx.saveVideoToPhotosAlbumopen in new window保存视频到系统相册
wx.getVideoInfoopen in new window获取视频详细信息
wx.createVideoContextopen in new window创建 video(video上下文 VideoContext(VideoContext对象
wx.compressVideoopen in new window压缩视频接口
wx.chooseVideoopen in new window拍摄视频或从手机相册中选视频
wx.chooseMediaopen in new window拍摄或从手机相册中选择图片或视频(需查看接口文档进行权限配置方可使用)[2]

音频

  • 图片、音视频、相机、相册、录音等多媒体相关 JSAPI 依赖扩展 SDK "Media SDK" ,开发者需在项目中的 project.miniapp.json 配置勾选对应的 SDK 方可生效;
  • 注意:在 iOS SDK >= 1.3.11 以及 开发者工具版本 >= 1.06.2405102,iOS Media SDK 已经被拆分为:Audio SDK、Video SDK、Image SDK、Camera SDK,开发者需按需勾选
名称功能说明是否支持
wx.stopVoiceopen in new window结束播放语音
wx.setInnerAudioOptionopen in new window设置 InnerAudioContextopen in new window 的播放选项
wx.playVoiceopen in new window开始播放语音
wx.pauseVoiceopen in new window暂停正在播放的语音
wx.getAvailableAudioSourcesopen in new window获取当前支持的音频输入源
wx.createWebAudioContextopen in new window创建 WebAudioContextopen in new window
wx.createMediaAudioPlayeropen in new window创建媒体音频播放器对象 MediaAudioPlayeropen in new window 对象,可用于播放视频解码器 VideoDecoderopen in new window 输出的音频
wx.createInnerAudioContextopen in new window创建内部 audioopen in new window 上下文 InnerAudioContextopen in new window 对象
wx.createAudioContextopen in new window创建 audioopen in new window 上下文 AudioContextopen in new window 对象

背景音频

  • 图片、音视频、相机、相册、录音等多媒体相关 JSAPI 依赖扩展 SDK "Media SDK" ,开发者需在项目中的 project.miniapp.json 配置勾选对应的 SDK 方可生效;
  • 注意:在 iOS SDK >= 1.3.11 以及 开发者工具版本 >= 1.06.2405102,iOS Media SDK 已经被拆分为:Audio SDK、Video SDK、Image SDK、Camera SDK,开发者需按需勾选
名称功能说明是否支持
wx.stopBackgroundAudioopen in new window停止播放音乐
wx.seekBackgroundAudioopen in new window控制音乐播放进度
wx.playBackgroundAudioopen in new window使用后台播放器播放音乐
wx.pauseBackgroundAudioopen in new window暂停播放音乐
wx.onBackgroundAudioStopopen in new window监听音乐停止事件
wx.onBackgroundAudioPlayopen in new window监听音乐播放事件
wx.onBackgroundAudioPauseopen in new window监听音乐暂停事件
wx.getBackgroundAudioPlayerStateopen in new window获取后台音乐播放状态
wx.getBackgroundAudioManager获取全局唯一背景音频管理器open in new window

实时音视频

名称功能说明是否支持
wx.createLivePusherContextopen in new window创建 live-pusheropen in new window 上下文 LivePusherContextopen in new window 对象[4]
wx.createLivePlayerContextopen in new window创建 live-playeropen in new window 上下文 LivePlayerContextopen in new window 对象[4]

录音

  • 图片、音视频、相机、相册、录音等多媒体相关 JSAPI 依赖扩展 SDK "Media SDK" ,开发者需在项目中的 project.miniapp.json 配置勾选对应的 "Media SDK" 方可生效;
  • RecorderManager 相关接口还需要在 project.miniapp.json 配置下列权限方可生效
    • Android:「Android 权限描述配置」 -> 「允许应用程序录制音频」
    • iOS:「隐私信息访问许可描述」 -> 「麦克风」
名称功能说明是否支持
wx.stopRecordopen in new window停止录音
wx.startRecordopen in new window开始录音
wx.getRecorderManageropen in new window获取全局唯一的录音管理器 RecorderManageropen in new window

相机

  • 图片、音视频、相机、相册、录音等多媒体相关 JSAPI 依赖扩展 SDK "Media SDK" ,开发者需在项目中的 project.miniapp.json 配置勾选对应的 SDK 方可生效;
名称功能说明是否支持
wx.createCameraContextopen in new window创建 cameraopen in new window 上下文 CameraContextopen in new window 对象

富文本

名称功能说明是否支持
EditorContextopen in new windowEditorContext 实例

EditorContext

名称功能说明是否支持
EditorContext.bluropen in new window编辑器失焦,同时收起键盘
EditorContext.clearopen in new window清空编辑器内容
EditorContext.formatopen in new window修改样式
EditorContext.getContentsopen in new window获取编辑器内容
EditorContext.getSelectionTextopen in new window获取编辑器已选区域内的纯文本内容
EditorContext.insertDivideropen in new window插入分割线
EditorContext.insertImageopen in new window插入图片
EditorContext.insertTextopen in new window覆盖当前选区,设置一段文本
EditorContext.redoopen in new window恢复
EditorContext.removeFormatopen in new window清除当前选区的样式
EditorContext.scrollIntoViewopen in new window使得编辑器光标处滚动到窗口可视区域内
EditorContext.setContentsopen in new window初始化编辑器内容,html和delta同时存在时仅delta生效
EditorContext.undoopen in new window撤销

音视频合成

名称功能说明是否支持
wx.createMediaContaineropen in new window创建音视频处理容器open in new window,最终可将容器中的轨道合成一个视频[2]

实时语音

名称功能说明是否支持
wx.updateVoIPChatMuteConfigopen in new window更新实时语音静音设置[4]
wx.subscribeVoIPVideoMembersopen in new window订阅视频画面成员[4]
wx.setEnable1v1Chatopen in new window开启双人通话[4]
wx.onVoIPVideoMembersChangedopen in new window监听实时语音通话成员视频状态变化事件[4]
wx.onVoIPChatStateChangedopen in new window监听房间状态变化事件[4]
wx.onVoIPChatSpeakersChangedopen in new window监听实时语音通话成员通话状态变化事件[4]
wx.onVoIPChatMembersChangedopen in new window监听实时语音通话成员在线状态变化事件[4]
wx.onVoIPChatInterruptedopen in new window监听被动断开实时语音通话事件[4]
wx.offVoIPVideoMembersChangedopen in new window移除实时语音通话成员视频状态变化事件的监听函数[4]
wx.offVoIPChatStateChangedopen in new window移除房间状态变化事件的监听函数[4]
wx.offVoIPChatSpeakersChangedopen in new window移除实时语音通话成员通话状态变化事件的监听函数[4]
wx.offVoIPChatMembersChangedopen in new window移除实时语音通话成员在线状态变化事件的监听函数[4]
wx.offVoIPChatInterruptedopen in new window移除被动断开实时语音通话事件的监听函数[4]
wx.joinVoIPChatopen in new window加入 (创建) 实时语音通话[4]
wx.join1v1Chatopen in new window加入(创建)双人通话[4]
wx.exitVoIPChatopen in new window退出(销毁)实时语音通话[4]

画面录制器

名称功能说明是否支持
wx.createMediaRecorderopen in new window创建 WebGL 画面录制器open in new window,可逐帧录制在 WebGL 上渲染的画面并导出视频文件[2]

视频解码器

名称功能说明是否支持
wx.createVideoDecoderopen in new window创建视频解码器open in new window,可逐帧获取解码后的数据[2]

位置

  • 如下支持的位置相关接口能力,需配置 LBS SDK ,且需前往腾讯位置服务平台注册开发者账号并创建应用 Key,详情可查看位置服务使用指南open in new window
  • wx.startLocationUpdateBackground 在 iOS 应用中使用前,需前往 project.miniapp.json 开启 「Location updates of Background Modes」,并且还需要填写对应的隐私信息许可描述,如下图
名称功能说明是否支持
wx.stopLocationUpdateopen in new window关闭监听实时位置变化,前后台都停止消息接收
wx.startLocationUpdateBackgroundopen in new window开启小程序进入前后台时均接收位置消息,需引导用户开启授权open in new window
wx.startLocationUpdateopen in new window开启小程序进入前台时接收位置消息
wx.openLocationopen in new window使用微信内置地图查看位置
wx.onLocationChangeErroropen in new window监听持续定位接口返回失败时触发
wx.onLocationChangeopen in new window监听实时地理位置变化事件,需结合 wx.startLocationUpdateBackground、wx.startLocationUpdate 使用
wx.offLocationChangeErroropen in new window移除持续定位接口返回失败时触发
wx.offLocationChangeopen in new window移除实时地理位置变化事件的监听函数
wx.getLocationopen in new window获取当前的地理位置、速度
wx.getFuzzyLocationopen in new window获取当前的模糊地理位置[2]
wx.choosePoiopen in new window打开POI列表选择位置,支持模糊定位(精确到市)和精确定位混选[2]
wx.chooseLocationopen in new window打开地图选择位置[2]

文件

名称功能说明是否支持
wx.saveFileToDiskopen in new window保存文件系统的文件到用户磁盘,仅在 PC 端支持
wx.openDocumentopen in new window新开页面打开文档
wx.getFileSystemManageropen in new window获取全局唯一的文件管理器open in new window
wx.saveFile保存文件到本地。wx.saveFile 即将废弃,请使用 wx.getFileSystemManager().saveFileopen in new window
wx.removeSavedFile删除本地缓存文件。wx.removeSavedFile 即将废弃,请使用 wx.getFileSystemManager().removeSavedFileopen in new window
wx.getSavedFileList获取该小程序下已保存的本地缓存文件列表。wx.getSavedFileList 即将废弃,请使用 wx.getFileSystemManager().getSavedFileListopen in new window
wx.getSavedFileInfo获取本地文件的文件信息。wx.getSavedFileInfo 即将废弃,请使用 wx.getFileSystemManager().getFileInfoopen in new window
wx.getFileInfo获取文件信息。wx.getFileInfo 即将废弃,请使用 wx.getFileSystemManager().getFileInfoopen in new window

蓝牙-通用

  • 蓝牙相关 JSAPI 依赖扩展 SDK "Bluetooth SDK" ,开发者需在项目中的 project.miniapp.json 配置勾选对应的 SDK 方可生效;

  • 系统要求,手机上需要开启地理位置权限后才可以搜索到蓝牙

名称功能说明是否支持
wx.stopBluetoothDevicesDiscoveryopen in new window停止搜寻附近的蓝牙外围设备
wx.startBluetoothDevicesDiscoveryopen in new window开始搜寻附近的蓝牙外围设备
wx.openBluetoothAdapteropen in new window初始化蓝牙模块
wx.onBluetoothDeviceFoundopen in new window监听搜索到新设备的事件
wx.onBluetoothAdapterStateChangeopen in new window监听蓝牙适配器状态变化事件
wx.offBluetoothDeviceFoundopen in new window移除搜索到新设备的事件的监听函数
wx.offBluetoothAdapterStateChangeopen in new window移除蓝牙适配器状态变化事件的监听函数
wx.makeBluetoothPairopen in new window蓝牙配对接口,仅安卓支持
wx.isBluetoothDevicePairedopen in new window查询蓝牙设备是否配对,仅安卓支持
wx.getConnectedBluetoothDevicesopen in new window根据主服务 UUID 获取已连接的蓝牙设备
wx.getBluetoothDevicesopen in new window获取在蓝牙模块生效期间所有搜索到的蓝牙设备
wx.getBluetoothAdapterStateopen in new window获取本机蓝牙适配器状态
wx.closeBluetoothAdapteropen in new window关闭蓝牙模块

蓝牙-低功耗中心设备

名称功能说明是否支持
wx.writeBLECharacteristicValueopen in new window向蓝牙低功耗设备特征值中写入二进制数据
wx.setBLEMTUopen in new window协商设置蓝牙低功耗的最大传输单元 (Maximum Transmission Unit, MTU)
wx.readBLECharacteristicValueopen in new window读取蓝牙低功耗设备特征值的二进制数据
wx.onBLEMTUChangeopen in new window监听蓝牙低功耗的最大传输单元变化事件(仅安卓触发)
wx.onBLEConnectionStateChangeopen in new window监听蓝牙低功耗连接状态改变事件
wx.onBLECharacteristicValueChangeopen in new window监听蓝牙低功耗设备的特征值变化事件
wx.offBLEMTUChangeopen in new window移除蓝牙低功耗的最大传输单元变化事件的监听函数
wx.offBLEConnectionStateChangeopen in new window移除蓝牙低功耗连接状态改变事件的监听函数
wx.offBLECharacteristicValueChangeopen in new window移除蓝牙低功耗设备的特征值变化事件的监听函数
wx.notifyBLECharacteristicValueChangeopen in new window启用蓝牙低功耗设备特征值变化时的 notify 功能,订阅特征
wx.getBLEMTUopen in new window获取蓝牙低功耗的最大传输单元
wx.getBLEDeviceServicesopen in new window获取蓝牙低功耗设备所有服务 (service)
wx.getBLEDeviceRSSIopen in new window获取蓝牙低功耗设备的信号强度 (Received Signal Strength Indication, RSSI)
wx.getBLEDeviceCharacteristicsopen in new window获取蓝牙低功耗设备某个服务中所有特征 (characteristic)
wx.createBLEConnectionopen in new window连接蓝牙低功耗设备
wx.closeBLEConnectionopen in new window断开与蓝牙低功耗设备的连接

蓝牙-低功耗外围设备

名称功能说明是否支持
wx.onBLEPeripheralConnectionStateChangedopen in new window监听当前外围设备被连接或断开连接事件
wx.offBLEPeripheralConnectionStateChangedopen in new window移除当前外围设备被连接或断开连接事件的监听函数
wx.createBLEPeripheralServeropen in new window建立本地作为蓝牙低功耗外围设备的服务端open in new window,可创建多个

蓝牙-信标(Beacon)

名称功能说明是否支持
wx.stopBeaconDiscoveryopen in new window停止搜索附近的 Beacon 设备
wx.startBeaconDiscoveryopen in new window开始搜索附近的 Beacon 设备
wx.onBeaconUpdateopen in new window监听 Beacon 设备更新事件,仅能注册一个监听
wx.onBeaconServiceChangeopen in new window监听 Beacon 服务状态变化事件,仅能注册一个监听
wx.offBeaconUpdateopen in new window移除 Beacon 设备更新事件的监听函数
wx.offBeaconServiceChangeopen in new window移除 Beacon 服务状态变化事件的监听函数
wx.getBeaconsopen in new window获取所有已搜索到的 Beacon 设备
BeaconInfoopen in new windowBeacon 设备

近场通讯(NFC)

名称功能说明是否支持
wx.getNFCAdapteropen in new window获取 NFC 实例[2]

Wi-Fi

  • 下方 WIFI 相关的 JSAPI 依赖扩展 SDK "Network SDK" ,开发者需在项目中的 project.miniapp.json 配置勾选对应的 SDK 方可生效;
  • 注意:Android 和 iOS 的扩展 SDK 有所区别,详情查看 project.miniapp.json
  • 注意:iOS 13及以上系统,获取当前连接的Wi-Fi信息需要先获取系统定位权限,因此在iOS 13及以上系统使用此接口时,需要先调用wx.getLocation,触发定位权限申请的弹窗,待用户授权后才可以正常获取到 wifi 信息
名称功能说明是否支持
wx.stopWifiopen in new window关闭 Wi-Fi 模块
wx.startWifiopen in new window初始化 Wi-Fi 模块
wx.setWifiListopen in new window设置 wifiList 中 AP 的相关信息
wx.onWifiConnectedopen in new window监听连接上 Wi-Fi 的事件
wx.offWifiConnectedopen in new window移除连接上 Wi-Fi 的事件的监听函数
wx.onGetWifiListopen in new window监听获取到 Wi-Fi 列表数据事件
wx.offGetWifiListopen in new window移除获取到 Wi-Fi 列表数据事件的监听函数
wx.onWifiConnectedWithPartialInfoopen in new window监听连接上 Wi-Fi 的事件[2]
wx.offWifiConnectedWithPartialInfoopen in new window移除连接上 Wi-Fi 的事件的监听函数[2]
wx.getWifiListopen in new window请求获取 Wi-Fi 列表
wx.getConnectedWifiopen in new window获取已连接中的 Wi-Fi 信息
wx.connectWifiopen in new window连接 Wi-Fi
WifiInfoopen in new windowWifi 信息

日历

名称功能说明是否支持
wx.addPhoneRepeatCalendaropen in new window向系统日历添加重复事件
wx.addPhoneCalendaropen in new window向系统日历添加事件

联系人

名称功能说明是否支持
wx.chooseContactopen in new window拉起手机通讯录,选择联系人
wx.addPhoneContactopen in new window添加手机通讯录联系人

无障碍

名称功能说明是否支持
wx.checkIsOpenAccessibilityopen in new window检测是否开启视觉无障碍功能[4]

电量

名称功能说明是否支持
wx.getBatteryInfoSyncopen in new windowwx.getBatteryInfo 的同步版本
wx.getBatteryInfoopen in new window获取设备电量

剪贴板

名称功能说明是否支持
wx.setClipboardDataopen in new window设置系统剪贴板的内容
wx.getClipboardDataopen in new window获取系统剪贴板的内容

NFC 主机卡模拟

名称功能说明是否支持
wx.stopHCEopen in new window关闭 NFC 模块[2]
wx.startHCEopen in new window初始化 NFC 模块[2]
wx.sendHCEMessageopen in new window发送 NFC 消息[2]
wx.onHCEMessageopen in new window监听接收 NFC 设备消息事件[2]
wx.offHCEMessageopen in new window移除接收 NFC 设备消息事件的监听函数[2]
wx.getHCEStateopen in new window判断当前设备是否支持 HCE 能力[2]

网络

名称功能说明是否支持
wx.onNetworkWeakChangeopen in new window监听弱网状态变化事件
wx.onNetworkStatusChangeopen in new window监听网络状态变化事件
wx.offNetworkWeakChangeopen in new window移除弱网状态变化事件的监听函数
wx.offNetworkStatusChangeopen in new window移除网络状态变化事件的监听函数
wx.getNetworkTypeopen in new window获取网络类型
wx.getLocalIPAddressopen in new window获取局域网IP地址[2]

加密

名称功能说明是否支持
wx.getRandomValuesopen in new window获取密码学安全随机数

屏幕

名称功能说明是否支持
wx.setVisualEffectOnCaptureopen in new window设置截屏/录屏时屏幕表现,仅支持在 Android 端调用[2]
wx.setScreenBrightnessopen in new window设置屏幕亮度
wx.setKeepScreenOnopen in new window设置是否保持常亮状态
wx.onUserCaptureScreenopen in new window监听用户主动截屏事件[2]
wx.onScreenRecordingStateChangedopen in new window监听用户录屏事件
wx.offUserCaptureScreenopen in new window用户主动截屏事件[2]
wx.offScreenRecordingStateChangedopen in new window移除用户录屏事件的监听函数[2]
wx.getScreenRecordingStateopen in new window查询用户是否在录屏
wx.getScreenBrightnessopen in new window获取屏幕亮度

键盘

名称功能说明是否支持
wx.onKeyboardHeightChangeopen in new window监听键盘高度变化事件
wx.offKeyboardHeightChangeopen in new window移除键盘高度变化事件的监听函数
wx.hideKeyboardopen in new window在input、textarea等focus拉起键盘之后,手动调用此接口收起键盘
wx.getSelectedTextRangeopen in new window在input、textarea等focus之后,获取输入框的光标位置

电话

注:此接口在 iOS 多端应用中使用需前往project.miniapp.json勾选「Others SDK」

名称功能说明是否支持
wx.makePhoneCallopen in new window拨打电话

加速计

名称功能说明是否支持
wx.stopAccelerometeropen in new window停止监听加速度数据
wx.startAccelerometeropen in new window开始监听加速度数据
wx.onAccelerometerChangeopen in new window监听加速度数据事件
wx.offAccelerometerChangeopen in new window移除加速度数据事件的监听函数

罗盘

名称功能说明是否支持
wx.stopCompassopen in new window停止监听罗盘数据
wx.startCompassopen in new window开始监听罗盘数据
wx.onCompassChangeopen in new window监听罗盘数据变化事件
wx.offCompassChangeopen in new window移除罗盘数据变化事件的监听函数

设备方向

名称功能说明是否支持
wx.stopDeviceMotionListeningopen in new window停止监听设备方向的变化
wx.startDeviceMotionListeningopen in new window开始监听设备方向的变化
wx.onDeviceMotionChangeopen in new window监听设备方向变化事件
wx.offDeviceMotionChangeopen in new window移除设备方向变化事件的监听函数

内存

名称功能说明是否支持
wx.onMemoryWarningopen in new window监听内存不足告警事件
wx.offMemoryWarningopen in new window移除内存不足告警事件的监听函数

陀螺仪

名称功能说明是否支持
wx.stopGyroscopeopen in new window停止监听陀螺仪数据
wx.startGyroscopeopen in new window开始监听陀螺仪数据
wx.onGyroscopeChangeopen in new window监听陀螺仪数据变化事件

扫码

注:

  • 此接口在 iOS 多端应用中使用需前往project.miniapp.json勾选「Others SDK」
  • 如果是iOS,则需要在project.miniapp.json中配置“NSCameraUsageDescription”
名称功能说明是否支持
wx.scanCodeopen in new window调起客户端扫码界面进行扫码

短信

  • 此接口在 iOS 多端应用中使用需前往project.miniapp.json勾选「Others SDK」
名称功能说明是否支持
wx.sendSmsopen in new window拉起手机发送短信界面支持

振动

注:此接口在 iOS 多端应用中使用需前往project.miniapp.json勾选「Others SDK」

名称功能说明是否支持
wx.vibrateShortopen in new window使手机发生较短时间的振动(15 ms)
wx.vibrateLongopen in new window使手机发生较长时间的振动(400 ms)

AI

视觉算法

名称功能说明是否支持
wx.isVKSupportopen in new window判断支持版本[4]
wx.createVKSessionopen in new window创建 vision kit 会话对象[4]

人脸检测

名称功能说明是否支持
wx.stopFaceDetectopen in new window停止人脸检测[4]
wx.initFaceDetectopen in new window初始化人脸检测[4]
wx.faceDetectopen in new window人脸检测,使用前需要通过 wx.initFaceDetect 进行一次初始化,推荐使用相机接口返回的帧数据[4]

Worker

名称功能说明是否支持
wx.createWorkeropen in new window创建一个 Worker 线程open in new window

WXML

wx.createSelectorQuery 在 Android端需使用需前往 project.miniapp.json 勾选「XWEB SDK」

名称功能说明是否支持
wx.createSelectorQueryopen in new window返回一个 SelectorQueryopen in new window 对象实例
wx.createIntersectionObserveropen in new window创建并返回一个 IntersectionObserveropen in new window 对象实例

第三方平台

名称功能说明是否支持
wx.getExtConfigSyncopen in new windowwx.getExtConfig 的同步版本[2]
wx.getExtConfigopen in new window获取 ext.json 自定义的数据字段[2]

广告

名称功能说明是否支持
wx.createRewardedVideoAdopen in new window创建激励视频广告组件open in new window是,详情可查看腾讯优量汇广告使用指南open in new window
wx.createInterstitialAdopen in new window创建插屏广告组件open in new window[2]

开放接口

登录

名称功能说明是否支持备注
wx.pluginLoginopen in new window该接口仅在小程序插件中可调用,调用接口获得插件用户标志凭证(code)[2]
wx.login调用接口获取登录凭证(code)[2]需替换新接口,点击查看接口详情
wx.checkSessionopen in new window检查登录态是否过期[1]使用多端身份管理

账号信息

  • 开发中,即将支持
名称功能说明是否支持
wx.getAccountInfoSyncopen in new window获取当前账号信息[2]

用户信息

名称功能说明是否支持
wx.getUserProfileopen in new window获取用户信息[2]
wx.getUserInfoopen in new window获取用户信息open in new window[2]

授权

名称功能说明是否支持
wx.authorizeForMiniProgramopen in new window仅小程序插件中能调用该接口,用法同 wx.authorize[4]
wx.authorizeopen in new window提前向用户发起授权请求[4]

设置

名称功能说明是否支持
wx.openSettingopen in new window调起客户端小程序设置界面,返回用户设置的操作结果[4]
wx.getSettingopen in new window获取用户的当前设置[4]
AuthSettingopen in new window用户授权设置信息,详情参考权限open in new window[4]
SubscriptionsSettingopen in new window订阅消息设置[4]

收货地址

名称功能说明是否支持
wx.chooseAddressopen in new window获取用户收货地址[4]

卡券

名称功能说明是否支持
wx.openCardopen in new window查看微信卡包中的卡券[4]
wx.addCardopen in new window批量添加卡券[4]

发票

名称功能说明是否支持
wx.chooseInvoiceTitleopen in new window选择用户的发票抬头[4]
wx.chooseInvoiceopen in new window选择用户已有的发票[4]

生物认证

名称功能说明是否支持
wx.startSoterAuthenticationopen in new window开始 SOTER 生物认证[4]
wx.checkIsSupportSoterAuthenticationopen in new window获取本机支持的 SOTER 生物认证方式[4]
wx.checkIsSoterEnrolledInDeviceopen in new window获取设备内是否录入如指纹等生物信息的接口[4]

微信运动

名称功能说明是否支持
wx.shareToWeRunopen in new window分享数据到微信运动[4]
wx.getWeRunDataopen in new window获取用户过去三十天微信运动步数[4]

订阅消息

名称功能说明是否支持
wx.requestSubscribeMessageopen in new window调起客户端小程序订阅消息界面,返回用户订阅消息的操作结果[4]
wx.requestSubscribeDeviceMessageopen in new window订阅设备消息接口,调用后弹出授权框,用户同意后会允许开发者给用户发送订阅模版消息[4]

微信红包

名称功能说明是否支持
wx.showRedPackageopen in new window拉取h5领取红包封面页[4]

收藏

名称功能说明是否支持
wx.addVideoToFavoritesopen in new window收藏视频[4]
wx.addFileToFavoritesopen in new window收藏文件[4]

车牌

名称功能说明是否支持
wx.chooseLicensePlateopen in new window选择车牌号[4]

视频号

名称功能说明是否支持
wx.reserveChannelsLiveopen in new window预约视频号直播[4]
wx.openChannelsUserProfileopen in new window打开视频号主页[4]
wx.openChannelsLiveopen in new window打开视频号直播[4]
wx.openChannelsEventopen in new window打开视频号活动页[4]
wx.openChannelsActivityopen in new window打开视频号视频[4]
wx.getChannelsShareKeyopen in new window获取视频号直播卡片/视频卡片的分享来源,仅当卡片携带了分享信息、同时用户已授权该小程序获取视频号分享信息且启动场景值为 1177、1184、1195、1208 时可用[4]
wx.getChannelsLiveNoticeInfoopen in new window获取视频号直播预告信息[4]
wx.getChannelsLiveInfoopen in new window获取视频号直播信息[4]

微信群

名称功能说明是否支持
wx.getGroupEnterInfoopen in new window获取微信群聊场景下的小程序启动信息不支持

微信客服

名称功能说明是否支持
wx.openCustomerServiceChatopen in new window打开微信客服,页面产生点击事件(例如 button 上 bindtap 的回调中)后才可调用不支持;可使用 wx.miniapp.openCustomerServiceChatopen in new window 替代