API

Mars 的 API 规范使用百度智能小程序和微信小程序 API 规范,在 H5 端进行了适配,并支持 Promise 化。为了实现多端兼容,框架会在 App 实例及 Page/Component 实例上通过 $api 字段来挂载原生 API,即:可以在实例上通过 this.$api 或者在其他 js 文件中通过 app.$api (app = getApp()) 来访问小程序 API。

小程序 API 官方文档

API 使用示例

this.$api.request({...params, success, fail, complete})
    .then(res => {
        // TODO
    }).catch(e => {
        // TODO
    });

API 支持列表

网络

请求

API 百度小程序 微信小程序 H5
request ✓ ✓ ✓

上传

API 百度小程序 微信小程序 H5
upLoadFile ✓ ✓ ✓
downloadFile ✓ ✓ ✗

WebSocket

API 百度小程序 微信小程序 H5
connectSocket ✓ ✓ ✓
onSocketOpen ✓ ✓ ✓
onSocketError ✓ ✓ ✓
onSocketMessage ✓ ✓ ✓
onSocketClose ✓ ✓ ✓
sendSocketMessage ✓ ✓ ✓
closeSocket ✓ ✓ ✓
SocketTask ✓ ✓ ✓

AI

API 百度小程序 微信小程序 H5
* ✓ ✗ ✗

媒体

图片

API 百度小程序 微信小程序 H5
chooseImage ✓ ✓ ✓
previewImage ✓ ✓ ✗
getImageInfo ✓ ✓ ✗
saveImageToPhotosAlbum ✓ ✓ ✗

录音管理

API 百度小程序 微信小程序 H5
getRecorderManager ✓ ✓ ✗

背景音频管理播放

API 百度小程序 微信小程序 H5
getBackgroundAudioManager ✓ ✓ ✗

音频组件控制

API 百度小程序 微信小程序 H5
createInnerAudioContext ✓ ✓ ✗
setInnerAudioOption ✓ ✓ ✗

视频

API 百度小程序 微信小程序 H5
chooseVideo ✓ ✓ ✗
saveVideoToPhotosAlbum ✓ ✓ ✗

视频组件控制

API 百度小程序 微信小程序 H5
createVideoContext ✓ ✓ ✗

直播组件控制

API 百度小程序 微信小程序 H5
createLivePlayerContext ✓ ✓ ✗

相机组件控制

API 百度小程序 微信小程序 H5
createCameraContext ✓ ✓ ✗

AR 相机组件控制

API 百度小程序 微信小程序 H5
createARCameraContext ✓ ✓ ✗

文件

保存、获取文件

API 百度小程序 微信小程序 H5
saveFile ✓ ✓ ✗
getFileInfo ✓ ✓ ✗
getSavedFileList ✓ ✓ ✗
getSavedFileInfo ✓ ✓ ✗

删除文件

API 百度小程序 微信小程序 H5
removeSavedFile ✓ ✓ ✗

打开新的文件页面

API 百度小程序 微信小程序 H5
openDocument ✓ ✓ ✗

数据存储

存储数据

API 百度小程序 微信小程序 H5
setStorage ✓ ✓ ✓
setStorageSync ✓ ✓ ✓
getStorage ✓ ✓ ✓
getStorageSync ✓ ✓ ✓
getStorageInfo ✓ ✓ ✓
getStorageInfoSync ✓ ✓ ✓

存储清理

API 百度小程序 微信小程序 H5
removeStorage ✓ ✓ ✓
removeStorageSync ✓ ✓ ✓
clearStorage ✓ ✓ ✓
clearStorageSync ✓ ✓ ✓

位置

获取位置

API 百度小程序 微信小程序 H5
getLocation ✓ ✓ ✗
chooseLocation ✓ ✓ ✗

查看位置

API 百度小程序 微信小程序 H5
openLocation ✓ ✓ ✗

地图组件控制

API 百度小程序 微信小程序 H5
createMapContext ✓ ✓ ✗

界面

绘图

API 百度小程序 微信小程序 H5
createCanvasContext ✓ ✓ ✓
canvasGetImageData ✓ ✓ ✓
canvasPutImageData ✓ ✓ ✓
canvasToTempFilePath ✓ ✓ ✓
canvasContext.api ✓ ✓ ✓

交互反馈

API 百度小程序 微信小程序 H5
showToast ✓ ✓ ✓
showLoading ✓ ✓ ✓
hideToast ✓ ✓ ✓
hideLoading ✓ ✓ ✓
showModal ✓ ✓ ✓
showActionSheet ✓ ✓ ✓

导航栏

API 百度小程序 微信小程序 H5
setNavigationBarTitle ✓ ✓ ✓
showNavigationBarLoading ✓ ✓ ✗
hideNavigationBarLoading ✓ ✓ ✗
setNavigationBarColor ✓ ✓ ✓

设置tabBar

API 百度小程序 微信小程序 H5
setTabBarBadge ✓ ✓ ✓
removeTabBarBadge ✓ ✓ ✓
showTabBarRedDot ✓ ✓ ✓
hideTabBarRedDot ✓ ✓ ✓
setTabBarStyle ✓ ✓ ✓
setTabBarItem ✓ ✓ ✓
showTabBar ✓ ✓ ✓
hideTabBar ✓ ✓ ✓

导航

API 百度小程序 微信小程序 H5
navigateTo ✓ ✓ ✓
redirectTo ✓ ✓ ✓
switchTab ✓ ✓ ✓
navigateBack ✓ ✓ ✓
reLaunch ✓ ✓ ✓

动画

API 百度小程序 微信小程序 H5
createAnimation ✓ ✓ ✓
animation ✓ ✓ ✗

位置

API 百度小程序 微信小程序 H5
pageScrollTo ✓ ✓ ✓

背景

API 百度小程序 微信小程序 H5
setBackgroundColor ✓ ✓ ✗
setBackgroundTextStyle ✓ ✓ ✗

下拉刷新

API 百度小程序 微信小程序 H5
onPullDownRefresh ✓ ✓ ✓
stopPullDownRefresh ✓ ✓ ✓
startPullDownRefresh ✓ ✓ ✗

自定义组件

API 百度小程序 微信小程序 H5
nextTick ✓ ✓ ✗

菜单

API 百度小程序 微信小程序 H5
getmenuButtonBoundingClientRect ✓ ✓ ✗

节点信息

API 百度小程序 微信小程序 H5
createIntersectionObserver ✓ ✓ ✗
IntersectionObserver ✓ ✓ ✗
IntersectionObserver.api ✓ ✓ ✗
createSelectorQuery ✓ ✓ ✓
selectorQuery ✓ ✓ ✓
selectorQuery.api ✓ ✓ ✓

添加到我的小程序引导

API 百度小程序 微信小程序 H5
showFavoriteGuide ✓ ✗ ✗

设备

系统信息

API 百度小程序 微信小程序 H5 备注
getSystemInfo ✓ ✓ ✓ H5暂未支持信息:brand、fontSizeSetting、host、SDKVersion
getSystemInfoSync ✓ ✓ ✓ 同上
getEnvInfoSync ✓ ✓ ✗ -
canIUse ✓ ✓ ✗ -

内存

API 百度小程序 微信小程序 H5
onMemoryWarning ✓ ✓ ✗

网络状态

API 百度小程序 微信小程序 H5 备注
getNetworkType ✓ ✓ ✓ 存在设备差异,iOS下可能不太准确
onNetworkStatusChange ✓ ✓ ✓ 同上

加速度计

API 百度小程序 微信小程序 H5
onAccelerometerChange ✓ ✓ ✗
startAccelerometer ✓ ✓ ✗
stopAccelerometer ✓ ✓ ✗

罗盘

API 百度小程序 微信小程序 H5
onCompassChange ✓ ✓ ✗
startCompass ✓ ✓ ✗
stopCompass ✓ ✓ ✗
设备方向
API 百度小程序 微信小程序 H5
onDeviceMotionChange ✓ ✓ ✗
startDeviceMotionListening ✓ ✓ ✗
stopDeviceMotionListening ✓ ✓ ✗

获取电量信息

API 百度小程序 微信小程序 H5
getBatteryInfo ✓ ✓ ✗
getBatteryInfoSync ✓ ✓ ✗

扫码

API 百度小程序 微信小程序 H5
scanCode ✓ ✓ ✗

屏幕亮度

API 百度小程序 微信小程序 H5
setScreenBrightness ✓ ✓ ✗
getScreenBrightness ✓ ✓ ✗
setKeepScreenOn ✓ ✓ ✗

用户截屏事件

API 百度小程序 微信小程序 H5
onUserCaptureScreen ✓ ✓ ✗

振动

API 百度小程序 微信小程序 H5
vibrateLong ✓ ✓ ✗
vibrateShort ✓ ✓ ✗

手机联系人

API 百度小程序 微信小程序 H5
addPhoneContact ✓ ✓ ✗

拨打电话

API 百度小程序 微信小程序 H5
makePhoneCall ✓ ✓ ✓

剪贴板

API 百度小程序 微信小程序 H5
setClipboardData ✓ ✓ ✗
getClipboardData ✓ ✓ ✗

第三方平台

获取第三方平台数据

API 百度小程序 微信小程序 H5
getExtConfig ✓ ✓ ✗
getExtConfigSync ✓ ✓ ✗

开放接口

登录

请参照各平台详细说明。

授权

API 百度小程序 微信小程序 H5
authorize ✓ ✓ ✗

用户信息

请参照各平台详细说明。

设置

API 百度小程序 微信小程序 H5
openSetting ✓ ✓ ✗
getSetting ✓ ✓ ✗

分享

API 百度小程序 微信小程序 H5
onShareAppMessage ✓ ✓ ✗
openShare ✓ ✓ ✗

选择收货地址

API 百度小程序 微信小程序 H5
chooseAddress ✓ ✓ ✗

百度收银台支付

API 百度小程序 微信小程序 H5
requestPolymerPayment ✓ ✗ ✗

获取发票抬头

API 百度小程序 微信小程序 H5
chooseInvoiceTitle ✓ ✓ ✗

打开小程序

API 百度小程序 微信小程序 H5 备注
navigateToSmartProgram ✓ ✓ ✗ -
navigateBackSmartProgram ✓ ✗ ✗ -
H5页面打开小程序 ✓ ✗ ✓ 文档

模板消息

请参照百度小程序官方文档。

页面基础信息

请参照百度小程序官方文档。

分包预下载

请参照百度小程序官方文档。

信息流资源

请参照百度小程序官方文档。

更新

API 百度小程序 微信小程序 H5
getUpdateManager ✓ ✓ ✗

调试

API 百度小程序 微信小程序 H5
setEnableDebug ✓ ✓ ✗

数据分析

API 百度小程序 微信小程序 H5
reportAnalytics ✓ ✓ ✗