uni-app是一个基于Vue.js的跨平台开发框架,它允许开发者使用Vue.js的语法和API来开发微信小程序、H5、App等多个平台的应用。uni-app提供了丰富的API,涵盖了页面生命周期、导航、数据存储、网络请求、图片操作、地理位置等多个方面。以下是对uni-app常见API的详细解析:
1. 页面生命周期API
页面生命周期API用于在页面的不同生命周期阶段执行相应的操作。常见的页面生命周期API包括:
- onLoad(options):页面加载时触发,一个页面只会调用一次,可以在onLoad的参数中获取打开当前页面路径中的参数。
- onShow():页面显示/切入前台时触发。
- onReady():页面初次渲染完成时触发,只触发一次,代表页面已经准备妥当,可以和视图层进行交互。
- onHide():页面隐藏/切入后台时触发。
- onUnload():页面卸载时触发。
2. 导航API
导航API用于实现页面之间的跳转和传参。常见的导航API包括:
- navigateTo(OBJECT):保留当前页面,跳转到应用内的某个页面,但不能跳转到 tabBar 页面。
- redirectTo(OBJECT):关闭当前页面,跳转到应用内的某个页面。
- switchTab(OBJECT):跳转到 tabBar 页面,并关闭其他非 tabBar 页面。
- reLaunch(OBJECT):关闭所有页面,打开到应用内的某个页面。
3. 数据存储API
数据存储API用于实现数据的存储和读取。常见的数据存储API包括:
- uni.setStorage(OBJECT):将数据存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个异步接口。
- uni.setStorageSync(KEY,DATA):将 data 存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个同步接口。
- uni.getStorage(OBJECT):从本地缓存中异步获取指定 key 对应的内容。
- uni.getStorageSync(KEY):从本地缓存中同步获取指定 key 对应的内容。
- uni.removeStorage(OBJECT):从本地缓存中异步移除指定 key。
- uni.removeStorageSync(KEY):从本地缓存中同步移除指定 key。
- uni.clearStorage():清理本地数据缓存。
- uni.clearStorageSync():同步清理本地数据缓存。
4. 网络请求API
网络请求API用于实现与后台接口的交互。常见的网络请求API包括:
- uni.request(OBJECT):发起网络请求。通过uni.request可以发起GET、POST等HTTP请求,并处理响应数据。
- uni.uploadFile(OBJECT):将本地资源上传到服务器。客户端发起一个 HTTPS POST 请求,其中 content-type 为 multipart/form-data。
- uni.downloadFile(OBJECT):下载文件资源到本地。客户端直接发起一个 HTTP GET 请求,返回文件的本地临时路径(本地路径),单次下载允许的最大文件为 200MB。
5. 图片操作API
图片操作API用于实现图片的选择、预览、压缩等功能。常见的图片操作API包括:
- uni.chooseImage(OBJECT):从本地相册选择图片或使用相机拍照。
- uni.previewImage(OBJECT):预览图片。
- uni.getImageInfo(OBJECT):获取图片信息。
- uni.compressImage(OBJECT):压缩图片接口,可选压缩质量。
6. 地理位置API
地理位置API用于获取用户的地理位置信息。常见的地理位置API包括:
- uni.getLocation(OBJECT):获取当前的地理位置、速度。
- uni.openLocation(OBJECT):使用微信内置地图查看位置。
7. 设备信息API
设备信息API用于获取设备的基本信息,如系统信息、屏幕信息等。常见的设备信息API包括:
- uni.getSystemInfo(OBJECT):获取系统信息。
- uni.getSystemInfoSync():同步获取系统信息。
8. 界面交互API
界面交互API用于实现一些常见的界面交互效果,如显示加载提示、弹出提示框等。常见的界面交互API包括:
- uni.showToast(OBJECT):显示消息提示框。
- uni.hideToast():隐藏消息提示框。
- uni.showLoading(OBJECT):显示加载提示。
- uni.hideLoading():隐藏加载提示。
- uni.showModal(OBJECT):显示模态对话框。
9. 其他API
除了上述几类API外,uni-app还提供了许多其他实用的API,如文件操作API(uni.saveFile、uni.removeSavedFile等)、扫码API(uni.scanCode)、分享API(uni.showShareMenu、uni.onShareAppMessage等)等。
总的来说,uni-app的API非常丰富,涵盖了开发过程中可能遇到的各种需求。开发者可以根据项目的实际需求选择合适的API进行开发。同时,随着uni-app的不断更新迭代,新的API也会不断被加入进来,为开发者提供更加便捷的开发体验。