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