本来想直接开发跑步小程序,发现有些地图API和地图相关组件还要学下,那就照书继续学下去,避免欲速则不达。
之前学习了从开发小程序到上线的全部流程。在该过程已经接触了一些小程序的API,如wx.navigateTo,wx.showToast和wx.getUserInfo。
小程序API是一系列定义好的函数,封装在wx对象。这个对象在页面js文件和app.js文件直接使用。
本章对小程序API进行系统介绍,包括以下内容:
1.基础API
2.账号信息API
3.路由API
4.交互API
5.界面API
6.网络API
7.数据缓存API
8.文件API
9.图片API
10.录音API
11.内部音频API
12.背景音频API
13.视频API
14.位置API
15.设备API
16.事件监听API
基础API是一类API的统称,可以在小程序中获取到一些基础信息或实现一些基本功能
使用系统信息API,可获取用户手机品牌、型号、屏幕大小、操作系统、微信版本号、小程序基础库版本号。该API有同步和异步两版本。使用方式如下:
????//?同步版本,系统信息随返回值直接返回,异常处理需要使用try?catch?语法
????try{
??????const?res?=?wx.getSystemInfoSync()
??????console.log(res.version)
????}?catch?(e)?{
????}
????//?异步版本,系统信息在success回馈中返回,异常处理在fail回调中进行
????wx.getSystemInfo({
??????success(res)?{
????????console.log(res.version)
??????},
??????fail(e){},
??????complete(res){}
????})
基础API会返回一个Object值,该值包含的属性以及属性含义如下所示:
version | 微信版本号 |
brand | 设备品牌,最低版本1.5.0 |
pixelRatio | 设备像素比 |
screenWidth | 屏幕宽度,单位px,1.1.0 |
screenHeight | 屏幕高度,px |
windowWidth | 可使用窗口宽度,px |
windowHeight | 可使用窗口高度,px |
statusBarHeight | 状态栏高度,px,1.9.0 |
language | 微信设置的语言 |
system | 操作系统及版本 |
platform | 客户端平台 |
fontSizeSetting | 用户字体大小,1.5.0 |
SDKVersion | 客户端基础库版本,1.1.0 |
albumAuthorized | 允许微信使用相册的开关,仅IOS,2.6.0 |
cameraAuthorized | 允微使摄像头开关,2.6.0 |
locationAuthorized | 允微使定位开关,2.6.0 |
microphoneAuthorized | ..麦克风开关,2.6.0 |
notificationAuthorized | ..微信通知开关,2.6.0 |
notificationAlertAuthorized | ..微信通知带有提醒的开关,仅IOS,2.6.0 |
notificationBadgeAuthorized | ..微信通知带有标记的开关,仅IOS,2.6.0 |
notificationSoundAuthorized | ..微信通知带有声音的开关,仅IOS,2.6.0 |
BlueToothEnabled | 蓝牙的系统开关,2.6.0 |
locationEnabled | 地理位置的系统开发,2.6.0 |
wifiEnabled | wifi的系统开关,2.6.0 |
safeArea | 在竖屏正方向下的安全区域,2.7.0 |
res.safeArea,Object类型,是保证不被系统的状态栏、导航栏等区域覆盖的可视化区域,结构如下表所示:
left | 安全区域左上角横坐标 |
right | 安全区域右下角横坐标 |
top | 安全区域左上角纵坐标 |
bottom | 安全区域右下角纵坐标 |
width | 安全区域的宽度,单位逻辑像素 |
height | 安全区域的高度,单位逻辑像素 |
解决小程序兼容性的方法有两种,一种是设置小程序的基础库最低版本。第二种是在程序中通过逻辑判断用户的微信版本,对低版本和高版本分别进行处理。通过系统信息API可以获取微信版本和小程序基础库版本信息,实现第二种方法。