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.lineTolineTo 方法增加一个新点,然后创建一条从上次指定点到目标点的线
    画一条弧线
    canvasContext.scale在调用 scale 方法后,之后创建的路径其横纵坐标会被缩放。多次调用 scale ,倍数会相乘
    以原点为中心,原点可以用 translate() 方法修改。顺时针旋转当前坐标轴。多次调用 rotate ,旋转的角度会叠加
    对当前坐标系的原点 (0, 0) 进行变换,默认的坐标系原点为页面左上角
    canvasContext.clipclip() 方法从原始画布中剪切任意形状和尺寸。一旦剪切了某个区域,则所有之后的绘图都会被限制在被剪切的区域内(不能访问画布上的其他区域)。可以在使用 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删除服务资源