API 列表
路由
API 名称 | 解释 |
---|---|
跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面 | |
swan.reLaunch | 关闭所有页面,打开到应用内的某个页面 |
关闭当前页面,跳转到应用内的某个页面 | |
swan.navigateTo | 保留当前页面,跳转到应用内的某个页面,但是不能跳转到 tabbar 页面,使用 可以返回到原页面 |
swan.navigateBack | 关闭当前页面,返回上一页面或多级页面 |
网络
API 名称 | 解释 |
---|---|
发起网络请求 | |
swan.uploadFile | 将本地资源上传到开发者服务器,客户端发起一个 HTTPS POST 请求,其中 content-type 为 multipart/form-data 如页面通过 等接口获取到一个本地资源的临时文件路径后,可通过此接口将本地资源上传到指定服务器 |
swan.downloadFile | 下载文件资源到本地,客户端直接发起一个 HTTP GET 请求,返回文件的本地临时路径 |
创建一个 WebSocket 连接 | |
swan.onSocketOpen | 监听 WebSocket 连接打开事件 |
监听 WebSocket 错误 | |
swan.sendSocketMessage | 通过 WebSocket 连接发送数据,需要先调用 ,并在 swan.onSocketOpen 回调之后才能发送 |
监听 WebSocket 接受到服务器的消息事件 | |
swan.closeSocket | 关闭 WebSocket 连接,须在 WebSocket 打开期间调用 才能关闭 |
swan.onSocketClose | 监听 WebSocket 关闭 |
WebSocket 任务,可通过 swan.connectSocket 接口创建返回 |
界面
API 名称 | 解释 |
---|---|
显示消息提示框 | |
swan.showLoading | 显示 loading 提示框, 需主动调用 才能关闭提示框 |
swan.showModal | 显示模态弹窗 |
显示操作菜单 | |
swan.hideToast | 隐藏消息提示框 |
隐藏 loading 提示框 | |
swan.showNavigationBarLoading | 该方法在当前页面显示导航条加载动画 |
动态设置当前页面的标题 | |
swan.setNavigationBarColor | 动态设置当前页面导航条的颜色 |
隐藏导航条加载动画 | |
swan.showTabBar | 显示 tabBar |
动态设置 tabBar 某一项的内容 | |
swan.setTabBarStyle | 动态设置 tabBar 的整体样式 |
为 tabBar 某一项的右上角添加文本 | |
swan.showTabBarRedDot | 显示 tabBar 某一项的右上角的红点 |
隐藏 tabBar | |
swan.removeTabBarBadge | 移除 tabBar 某一项右上角的文本 |
隐藏 tabBar 某一项的右上角的红点 | |
swan.showFavoriteGuide | 支持在小程序内调起关注小程序引导组件,引导用户关注小程序。引导组件设计文档详见:关注小程序引导 |
将页面滚动到目标位置(可以设置滚动动画时长) | |
onPullDownRefresh | 详情参见 |
swan.startPullDownRefresh | 开始下拉刷新,调用后触发下拉刷新动画,效果与用户手动下拉刷新一致 |
停止当前页面下拉刷新 | |
swan.setBackgroundColor | 设置窗口的背景颜色 |
设置窗口下拉背景 loading 样式 | |
swan.createAnimation | 创建一个动画实例 animation |
动画实例可以调用以下方法来描述动画,调用结束后会返回自身,支持链式调用的写法 | |
swan.nextTick | 延迟一部分操作到下一个时间片再执行(类似于 setTimeout) |
获取菜单按钮(右上角胶囊按钮)的布局位置信息。坐标信息以屏幕左上角为原点 | |
swan.createIntersectionObserver | 创建并返回一个 IntersectionObserver 对象实例。在自定义组件中,可以使用来代替 |
IntersectionObserver 对象,用于推断某些节点是否可以被用户看见、有多大比例可以被用户看见 | |
IntersectionObserver.disconnect | 停止监听。回调函数将不再触发 |
指定目标节点并开始监听相交状态变化情况 | |
IntersectionObserver.relativeTo | 使用选择器指定一个节点,作为参照区域之一 |
指定页面显示区域作为参照区域之一 | |
swan.createSelectorQuery | 返回一个 SelectorQuery 对象实例。可以在这个实例上使用 select 等方法选择节点,并使用 boundingClientRect 等方法选择需要查询的信息 |
选择器 | |
selectorQuery.exec | 执行所有的请求,请求结果按请求次序构成数组,在 callback 的第一个参数中返回 |
将选择器的选取范围更改为自定义组件 component 内(初始时,选择器仅选取页面范围的节点,不会选取任何自定义组件中的节点) | |
selectorQuery.select | 在当前页面下选择第一个匹配选择器 selector 的节点,返回一个 NodesRef 对象实例,可以用于获取节点信息 |
在当前页面下选择匹配选择器 selector 的节点,返回一个 NodesRef 对象实例。 与 selectorQuery.select(selector) 不同的是,它选择所有匹配选择器的节点 | |
selectorQuery.selectViewport | 选择显示区域,可用于获取显示区域的尺寸、滚动位置等信息,返回一个 NodesRef 对象实例 |
节点信息 | |
nodesRef.boundingClientRect | 添加节点的布局位置的查询请求,相对于显示区域(单位:像素)。其功能类似于 DOM 的 getBoundingClientRect。返回值是 nodesRef 对应的 selectorQuery |
获取节点的相关信息,需要获取的字段在 fields 中指定。返回值是 nodesRef 对应的 selectorQuery | |
nodesRef.scrollOffset | 添加节点的滚动位置查询请求(单位:像素)。节点必须是 scroll-view 或者 viewport 。返回值是 nodesRef 对应的 selectorQuery |
数据存储
API 名称 | 解释 |
---|---|
将数据存储在本地缓存指定的 key 中。如果之前存在同名 key ,会覆盖掉原来该 key 对应的内容。这是一个异步接口 | |
swan.setStorageSync | 将数据存储在本地缓存中指定的 key 中。如果之前存在同名 key ,会覆盖掉原来该 key 对应的内容。这是一个同步接口 |
从本地缓存中异步获取指定 key 对应的内容 | |
swan.getStorageSync | 从本地缓存中同步获取指定 key 对应的内容 |
异步获取当前 storage 的相关信息 | |
swan.getStorageInfoSync | 同步获取当前 storage 的相关信息 |
从本地缓存中异步移除指定 key | |
swan.removeStorageSync | 从本地缓存中同步移除指定 key |
清理本地数据缓存 | |
swan.clearStorageSync | 同步清理本地数据缓存 |
媒体
API 名称 | 解释 |
---|---|
预览图片 | |
swan.getImageInfo | 获取图片信息 |
保存图片到系统相册,需要用户授权 | |
swan.chooseImage | 从本地相册选择图片或使用相机拍照 |
打开本地相册,相册内可以同时包含图片和视频 | |
swan.compressImage | 压缩图片接口 |
创建并返回 camera 上下文 cameraContext 对象,cameraContext 与页面的 camera 组件绑定,一个页面只能有一个 camera,通过它可以操作对应的组件 | |
swan.createARCameraContext | 创建并返回 ar-camera 上下文 ARCameraContext 对象,ARCameraContext 与页面的 ar-camera 组件绑定,一个页面只能有一个 ar-camera,通过它可以操作对应的组件 |
获取全局唯一的背景音频管理器 backgroundAudioManager | |
swan.createInnerAudioContext | 创建并返回内部 audio 上下文 innerAudioContext 对象 |
对 innerAudioContext 进行小程序内部的全局设置 | |
swan.getRecorderManager | 获取全局唯一的录音管理器 recorderManager |
获取当前支持的音频输入源 | |
swan.chooseVideo | 拍摄视频或从手机相册中选视频,返回视频的临时文件路径 |
保存视频到系统相册。需要用户授权 | |
swan.createVideoContext | 创建并返回 video 上下文 videoContext 对象。通过 videoId 跟一个 video 组件绑定,通过它可以操作一个 video 组件 |
创建并返回 animation-video 上下文 animationVideo 对象。通过 animationVideoId 跟一个 animation-video 组件绑定,通过它可以操作一个 animation-video 组件 | |
操作对应的 live-player 组件。 创建并返回 live-player 上下文 LivePlayerContext 对象 | |
操作对应的 rtc-room 组件。 创建并返回 rtc-room 上下文 createRtcRoomContext 对象 |
位置
API 名称 | 解释 |
---|---|
获取当前的地理位置、速度。当用户离开智能小程序后,此接口无法调用 | |
swan.openLocation | 使用宿主 APP 内置地图查看位置 |
打开地图选择位置。需要用户授权 scope.userLocation | |
swan.startLocationUpdate | 开启小程序进入前台时接收位置消息 |
监听实时地理位置变化事件,需结合 swan.startLocationUpdate 使用 | |
取消监听实时地理位置变化事件 | |
swan.stopLocationUpdate | 关闭监听实时位置变化 |
创建并返回 map 上下文 mapContext 对象。在自定义组件下,第二个参数传入组件实例 this ,以操作组件内 map 组件。mapContext 通过 mapId 跟一个组件绑定,通过它可以操作对应的组件 |
画布
API 名称 | 解释 |
---|---|
在 Page 中,推荐使用,进行绘图上下文的创建。也可使用,但使用进行创建时,并非在执行所在的 Page 对象中使用 canvasId 进行查找,而是在用户当前可视的 Page 中使用 canvasId 进行查找 | |
swan.canvasPutImageData | 将像素数据绘制到画布的方法。在自定义组件下,第二个参数传入自定义组件实例 this ,以操作组件内 |
swan.canvasGetImageData | 返回一个数组,用来描述 canvas 区域隐含的像素数据。在自定义组件下,第二个参数传入自定义组件实例 this ,以操作组件内 |
swan.canvasToTempFilePath | 把当前画布指定区域的内容导出生成指定大小的图片,并返回文件路径。在自定义组件下,第二个参数传入组件实例 this ,以操作组件内 |
canvasContext | 绘图上下文 |
设置填充色 | |
canvasContext.setStrokeStyle | 设置边框颜色 |
设置阴影样式 | |
canvasContext.createLinearGradient | 创建一个线性的渐变颜色 |
创建一个圆形的渐变颜色 | |
canvasContext.addColorStop | 创建一个颜色的渐变点 |
设置线条的宽度 | |
canvasContext.setLineCap | 设置线条的端点样式 |
设置线条的交点样式 | |
canvasContext.setLineDash | 设置线条的宽度 |
设置最大斜接长度,斜接长度指的是在两条线交汇处内角和外角之间的距离,当 setLineJoin() 为 miter 时才有效,超过最大倾斜长度的,连接处将以 lineJoin 为 bevel 来显示 | |
创建一个矩形 | |
canvasContext.fillRect | 填充一个矩形 |
画一个矩形(非填充) | |
canvasContext.clearRect | 清除画布上在该矩形区域内的内容 |
对当前路径中的内容进行填充。默认的填充色为黑色 | |
canvasContext.stroke | 画出当前路径的边框。默认颜色为黑色 |
开始创建一个路径,需要调用 fill() 方法或者 方法才会使用路径进行填充或描边 | |
canvasContext.closePath | 关闭一个路径 |
把路径移动到画布中的指定点,不创建线条 | |
canvasContext.lineTo | lineTo 方法增加一个新点,然后创建一条从上次指定点到目标点的线 |
画一条弧线 | |
canvasContext.scale | 在调用 scale 方法后,之后创建的路径其横纵坐标会被缩放。多次调用 scale ,倍数会相乘 |
以原点为中心,原点可以用 translate() 方法修改。顺时针旋转当前坐标轴。多次调用 rotate ,旋转的角度会叠加 | |
对当前坐标系的原点 (0, 0) 进行变换,默认的坐标系原点为页面左上角 | |
canvasContext.clip | clip() 方法从原始画布中剪切任意形状和尺寸。一旦剪切了某个区域,则所有之后的绘图都会被限制在被剪切的区域内(不能访问画布上的其他区域)。可以在使用 clip() 方法前通过使用 方法对当前画布区域进行保存,并在以后的任意时间对其进行恢复(通过 restore() 方法) |
设置字体的字号 | |
canvasContext.fillText | 在画布上绘制被填充的文本 |
用于设置文字的对齐 | |
canvasContext.setTextBaseline | 用于设置文字的水平对齐。 |
绘制图像到画布 | |
canvasContext.setGlobalAlpha | 设置全局画笔透明度 |
测量文本尺寸信息,目前仅返回文本宽度,同步接口 | |
canvasContext.strokeText | 给定的 (x, y) 位置绘制文本描边的方法 |
设置虚线偏移量的属性 | |
canvasContext.bezierCurveTo | 创建三次方贝塞尔曲线路径 |
创建二次贝塞尔曲线路径 | |
canvasContext.save | 保存当前的绘图上下文 |
恢复之前保存的绘图上下文 | |
canvasContext.draw | 将之前在绘图上下文中的描述(路径、变形、样式)画到 canvas 中 |
设置当前字体样式的属性 | |
canvasContext.setTransform | 使用矩阵重新设置(覆盖)当前变换的方法 |
文件
API 名称 | 解释 |
---|---|
保存文件到本地 | |
swan.getFileInfo | 获取文件信息 |
获取本地已保存的文件列表 | |
swan.getSavedFileInfo | 获取本地文件的文件信息。此接口只能用于获取已保存到本地的文件,若需要获取临时文件信息,请使用 getFileInfo 接口 |
删除本地存储的文件 | |
swan.openDocument | 新开页面打开文档,支持格式:doc、xls、ppt、pdf、docx、xlsx、pptx |
获取全局唯一的文件管理器对象 |
第三方平台
API 名称 | 解释 |
---|---|
swan.getExtConfig | 获取第三方平台自定义的数据字段 |
swan.getExtConfig 的同步版本 |
开放接口
API 名称 | 解释 |
---|---|
获取宿主 App 登录凭证(Authorization Code) | |
swan.checkSession | 通过上述接口获得的用户登录态拥有一定的时效性,用户越久未使用智能小程序,用户登录态越有可能失效;反之如果用户一直在使用智能小程序,则用户登录态一直保持有效。具体时效逻辑由宿主维护,对开发者透明。开发者可以调用 swan.checkSession 接口 检测当前用户登录态是否有效,登录态过期的开发者可以在已经登录的情况下再调用 获取新的用户登录态 |
swan.isLoginSync | 宿主 APP 登录状态 |
提前向用户发起授权请求。调用后会立刻弹窗询问用户是否同意授权智能小程序使用某项功能或获取用户的某些数据,但不会实际调用对应接口。如果用户之前已经同意授权,则不会出现弹窗,直接返回成功 | |
swan.openSetting | 调起客户端智能小程序设置界面,返回用户设置的操作结果 |
获取用户的当前设置 | |
swan.requestPolymerPayment | 百度收银台,聚合了主流的百度钱包、微信、支付宝、网银等多种支付方式,方便开发者一站式快速接入多种支付渠道,让百度用户能在智能小程序场景下,直接完成支付、交易闭环,提升用户支付体验的同时,提高智能小程序的订单转化率 |
智能小程序可接入百度搜索和宿主 App 信息流,swan.setPageInfo 负责为小程序设置各类页面基础信息,包括标题、关键字、页面描述以及图片信息、视频信息等。开发者为智能小程序设置完备的页面基础信息,有助于智能小程序在搜索引擎和信息流中得到更加有效的展示和分发 | |
swan.setMetaDescription | 不推荐使用 |
不推荐使用 | |
swan.setDocumentTitle | 不推荐使用 |
提前下载好子包的资源,目录结构配置参考分包预下载 | |
自定义分析数据上报接口。使用前,需要在小程序管理后台自定义分析中新建事件,配置好事件名与字段 | |
swan.getSystemRiskInfo | 获取用于得到风控信息的加密信息对象 |
小程序消息订阅服务:取消订阅和查询订阅 | |
swan.insertBookshelf | 添加内容到宿主书架(需宿主支持书架入口) |
删除书架中的内容(需宿主支持书架入口) | |
swan.queryBookshelf | 查询宿主书架的相关内容(需宿主支持书架入口) |
更新已加入宿主书架的内容的阅读时间(需宿主支持书架入口) | |
swan.navigateToBookshelf | 跳转到宿主(需宿主支持书架入口) |
小程序跳转百度 App 内特定页面。 |
用户接口
API 名称 | 解释 |
---|---|
swan.getSwanId | 获取 swanid |
获取用户信息,首次使用的用户会弹出授权提示窗,若用户同意,则会返回用户的真实数据;若用户未登录或者拒绝授权,会返回默认用户“百度网友”及默认的头像地址 | |
onShareAppMessage | 详情参见 |
swan.openShare | 调起分享面板 |
支持调起系统分享面板将文件分享到其他 APP | |
swan.navigateToSmartProgram | 打开另一个小程序 |
返回到上一个小程序 | |
swan.chooseAddress | 调起用户编辑收货地址原生界面,并在编辑完成后返回用户选择的地址,需要用户 |
swan.chooseInvoiceTitle | 选择用户的发票抬头,需要用户 |
swan.openCommunityEditor | 调起原生全屏内容发布器,并支持开发者配置发布器展示模块 |
关闭原生全屏内容发布器 | |
swan.openReplyEditor | 调起原生半屏内容发布器,并支持开发者配置发布器展示模块 |
关闭原生半屏内容发布器 |
服务端 API
API 名称 | 解释 |
---|---|
submitresource | 提交物料资源 |
下线物料资源 | |
submitsitemap | 提交 sitemap |
删除 sitemap | |
getTemplateLibraryList | 获取帐号下已存在的模板列表 |
获取模板库某个模板标题下关键词库 | |
addTemplate | 组合模板并添加至帐号下的个人模板库 |
获取帐号下已存在的模板列表 | |
deleteTemplate | 删除帐号下的某个模板 |
推送模板消息 | |
detectrisk | 检测用户是否是作弊用户 |
获取小程序二维码,适用于需要的码数量较少的业务场景。通过该接口生成的二维码,永久有效,有数量限制 | |
getunlimited | 获取小程序二维码,适用于需要的码数量较多的业务场景。通过该接口生成的二维码,永久有效,无数量限制 |
提交服务资源 | |
deletesku | 删除服务资源 |