[官方文档]https://developers.weixin.qq.com/miniprogram/dev/api/
[TOC]
小程序开发框架提供丰富的微信原生API,可以方便的调用微信提供的能力,如获取用户信息,本地存储,支付功能等。
说明:
* wx.on 开头的 API 是监听某个事件发生的API接口,接受一个 CALLBACK 函数作为参数。当该事件触发时,会调用 CALLBACK 函数。
* 如未特殊约定,其他 API 接口都接受一个OBJECT作为参数。
* OBJECT中可以指定success, fail, complete来接收接口调用结果。
| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| success | Function | 否 | 接口调用成功的回调函数 |
| fail | Function | 否 | 接口调用失败的回调函数 |
| complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
## 网络 API
`wx.request` 发起网络请求
`wx.uploadFile` 上传文件
`wx.downloadFile` 下载文件
`wx.connectSocket` 创建 WebSocket 连接
`wx.onSocketOpen` 监听 WebSocket 打开
`wx.onSocketError` 监听 WebSocket 错误
`wx.sendSocketMessage` 发送 WebSocket 消息
`wx.onSocketMessage` 接受 WebSocket 消息
`wx.closeSocket` 关闭 WebSocket 连接
`wx.onSocketClose` 监听 WebSocket 关闭
## 媒体 API
`wx.chooseImage` 从相册选择图片,或者拍照
`wx.previewImage` 预览图片
`wx.startRecord` 开始录音
`wx.stopRecord` 结束录音
`wx.playVoice` 播放语音
`wx.pauseVoice` 暂停播放语音
`wx.stopVoice` 结束播放语音
`wx.getBackgroundAudioPlayerState` 获取音乐播放状态
`wx.playBackgroundAudio` 播放音乐
`wx.pauseBackgroundAudio` 暂停播放音乐
`wx.seekBackgroundAudio` 控制音乐播放进度
`wx.stopBackgroundAudio` 停止播放音乐
`wx.onBackgroundAudioPlay` 监听音乐开始播放
`wx.onBackgroundAudioPause` 监听音乐暂停
`wx.onBackgroundAudioStop` 监听音乐结束
`wx.chooseVideo` 从相册选择视频,或者拍摄
`wx.loadFontFace` 动态加载字体
## 文件 API
`wx.saveFile` 保存文件
`wx.getSavedFileList` 获取已保存的文件列表
`wx.getSavedFileInfo` 获取已保存的文件信息
`wx.removeSavedFile` 删除已保存的文件信息
`wx.openDocument` 打开文件
## 数据 API
带有‘sync’后缀的都是同步方式
`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.getNetworkType` 获取网络类型
`wx.onNetworkStatusChange` 监听网络状态变化
`wx.getSystemInfo` 获取系统信息
`wx.getSystemInfoSync` 获取系统信息
`wx.onAccelerometerChange` 监听加速度数据
`wx.startAccelerometer` 开始监听加速度数据
`wx.stopAccelerometer` 停止监听加速度数据
`wx.onCompassChange` 监听罗盘数据
`wx.startCompass` 开始监听罗盘数据
`wx.stopCompass` 停止监听罗盘数据
`wx.setClipboardData` 设置剪贴板内容
`wx.getClipboardData` 获取剪贴板内容
`wx.makePhoneCall` 拨打电话
`wx.scanCode` 扫码
## 界面 API
`wx.showToast` 显示提示框
`wx.showLoading` 显示加载提示框
`wx.hideToast` 隐藏提示框
`wx.hideLoading` 隐藏提示框
`wx.showModal` 显示模态弹窗
`wx.showActionSheet` 显示菜单列表
`wx.setNavigationBarTitle` 设置当前页面标题
`wx.showNavigationBarLoading` 显示导航条加载动画
`wx.hideNavigationBarLoading` 隐藏导航条加载动画
`wx.setBackgroundColor` 动态设置窗口的背景色
`wx.setBackgroundTextStyle` 动态设置下拉背景字体、loading 图的样式
`wx.navigateTo` 新窗口打开页面
`wx.redirectTo` 原窗口打开页面
`wx.switchTab` 切换到 tabbar 页面
`wx.navigateBack` 退回上一个页面
`wx.createAnimation` 动画
`wx.createContext` 创建绘图上下文
`wx.drawCanvas` 绘图
`wx.stopPullDownRefresh` 停止下拉刷新动画
## WXML节点信息 API
`wx.createSelectorQuery` 创建查询请求
`selectorQuery.in` 指定在哪个自定义组件中选取节点
`selectorQuery.select` 根据选择器选择单个节点
`selectorQuery.selectAll` 根据选择器选择全部节点
`selectorQuery.selectViewport` 选择显示区域
`nodesRef.boundingClientRect` 获取布局位置和尺寸
`nodesRef.scrollOffset` 获取滚动位置
`nodesRef.fields` 获取任意字段
`selectorQuery.exec` 执行查询请求
## WXML节点布局相交状态
`wx.createIntersectionObserver` 创建 IntersectionObserver 对象
`intersectionObserver.relativeTo` 指定参照节点
`intersectionObserver.relativeToViewport` 指定页面显示区域作为参照区域
`intersectionObserver.observe` 指定目标节点并开始监听
`intersectionObserver.disconnect` 停止监听
## 开放接口
`wx.login` 登录
`wx.getUserInfo` 获取用户信息
`wx.chooseAddress` 获取用户收货地址
`wx.requestPayment` 发起微信支付
`wx.addCard` 添加卡券
`wx.openCard` 打开卡券
- 微信
- 小程序
- 1. 代码组成
- 1.1 JSON配置--'*.json'文件
- 1.2 WXML模板--'*.wxml'文件
- 1.3 WXSS样式--'*.wxss'文件
- 1.4 JavaScript脚本--'*.js'文件
- 2. 客户端运行
- 2.1 逻辑层和渲染层
- 2.1.1 逻辑层--App Service
- 2.1.2 渲染层/视图层--View
- 2.1.3 通信模型
- 2.1.4 数据驱动
- 2.1.5 双线程下的界面渲染
- 2.2 程序与页面
- 2.3 组件
- 2.4 API
- 2.5 事件
- 2.6 兼容
- 3. 应用设计
- 3.1 Flex布局
- 3.2 界面常见的交互反馈
- 3.3 发起HTTPS网络通信--wx.request
- 3.4 微信登录
- 3.5 本地数据缓存
- 3.6 设备能力
- 4. 小程序的协同工作和发布
- 4.1 协同工作
- 4.2 用户体验审视
- 4.3 发布
- 4.4 运营
- 5. 底层框架
- 5.1 双线程模型
- 5.2 组件系统--Exparser框架
- 5.3 原生组件
- 5.4 小程序与客户端通信原理
- 6. 运行和性能优化
- 6.1 启动--代码加载
- 6.2 页面准备
- 6.3 数据通信
- 6.4 视图层渲染
- 6.5 原生组件通信
- 7. 小程序基础库的更新迭代
- 8. 微信开发者工具
- 腾讯云支持
- wafer
- Wafer2 快速开发 Demo - PHP
- WXAPI
- api列表