Appearance
uni-app API及应用场景
网络请求 API
uni.request
- 功能:发起网络请求
- 参数:
- url: 请求地址
- data: 请求数据
- header: 请求头
- method: 请求方法
- dataType: 数据类型
- responseType: 响应类型
- 应用场景:
- 调用后端接口获取数据
- 提交表单数据
- 上传文件
uni.uploadFile
- 功能:上传文件
- 参数:
- url: 上传地址
- filePath: 文件路径
- name: 文件名称
- formData: 表单数据
- 应用场景:
- 上传图片
- 上传视频
- 上传文档
uni.downloadFile
- 功能:下载文件
- 参数:
- url: 下载地址
- filePath: 保存路径
- 应用场景:
- 下载图片
- 下载视频
- 下载文档
界面 API
uni.showToast
- 功能:显示消息提示框
- 参数:
- title: 提示内容
- duration: 显示时长
- icon: 图标
- mask: 是否显示遮罩
- 应用场景:
- 操作成功提示
- 操作失败提示
- 加载中提示
uni.showLoading
- 功能:显示加载提示
- 参数:
- title: 提示内容
- mask: 是否显示遮罩
- 应用场景:
- 数据加载中
- 操作处理中
uni.hideLoading
- 功能:隐藏加载提示
- 应用场景:
- 数据加载完成
- 操作处理完成
uni.showModal
- 功能:显示模态对话框
- 参数:
- title: 标题
- content: 内容
- showCancel: 是否显示取消按钮
- cancelText: 取消按钮文本
- confirmText: 确认按钮文本
- 应用场景:
- 确认操作
- 提示重要信息
- 显示错误信息
uni.showActionSheet
- 功能:显示操作菜单
- 参数:
- itemList: 菜单项列表
- itemColor: 菜单项颜色
- 应用场景:
- 选择操作
- 分享菜单
- 更多操作
导航 API
uni.navigateTo
- 功能:保留当前页面,跳转到应用内的某个页面
- 参数:
- url: 跳转地址
- animationType: 动画类型
- animationDuration: 动画时长
- 应用场景:
- 普通页面跳转
- 带参数跳转
uni.redirectTo
- 功能:关闭当前页面,跳转到应用内的某个页面
- 参数:
- url: 跳转地址
- animationType: 动画类型
- animationDuration: 动画时长
- 应用场景:
- 登录成功后跳转
- 支付成功后跳转
uni.reLaunch
- 功能:关闭所有页面,跳转到应用内的某个页面
- 参数:
- url: 跳转地址
- 应用场景:
- 退出登录后跳转
- 应用重置
uni.switchTab
- 功能:跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面
- 参数:
- url: 跳转地址
- 应用场景:
- 切换底部 tab
uni.navigateBack
- 功能:关闭当前页面,返回上一页面或多级页面
- 参数:
- delta: 返回的页面数
- 应用场景:
- 返回上一页
- 返回多级页面
设备 API
uni.getSystemInfo
- 功能:获取系统信息
- 应用场景:
- 适配不同设备
- 获取设备信息
uni.getNetworkType
- 功能:获取网络类型
- 应用场景:
- 网络状态检测
- 网络切换处理
uni.getLocation
- 功能:获取当前位置
- 参数:
- type: 位置类型
- altitude: 是否需要高度
- isHighAccuracy: 是否开启高精度
- 应用场景:
- 地图应用
- 位置服务
- 附近推荐
uni.makePhoneCall
- 功能:拨打电话
- 参数:
- phoneNumber: 电话号码
- 应用场景:
- 联系客服
- 拨打电话
存储 API
uni.setStorage
- 功能:存储数据
- 参数:
- key: 键
- data: 数据
- 应用场景:
- 存储用户信息
- 存储配置信息
- 缓存数据
uni.getStorage
- 功能:获取存储数据
- 参数:
- key: 键
- 应用场景:
- 获取用户信息
- 获取配置信息
- 读取缓存数据
uni.removeStorage
- 功能:删除存储数据
- 参数:
- key: 键
- 应用场景:
- 清除用户信息
- 清除缓存数据
uni.clearStorage
- 功能:清除所有存储数据
- 应用场景:
- 退出登录
- 清除缓存
媒体 API
uni.chooseImage
- 功能:选择图片
- 参数:
- count: 选择数量
- sizeType: 图片尺寸
- sourceType: 图片来源
- 应用场景:
- 上传头像
- 发布图片
- 选择图片
uni.chooseVideo
- 功能:选择视频
- 参数:
- sourceType: 视频来源
- maxDuration: 最大时长
- camera: 相机类型
- 应用场景:
- 上传视频
- 发布视频
- 选择视频
uni.playVoice
- 功能:播放语音
- 参数:
- filePath: 文件路径
- 应用场景:
- 播放语音消息
- 播放提示音
支付 API
uni.requestPayment
- 功能:发起支付
- 参数:
- provider: 支付 provider
- timeStamp: 时间戳
- nonceStr: 随机字符串
- package: 订单信息
- signType: 签名类型
- paySign: 签名
- 应用场景:
- 商品购买
- 服务付费
- 会员充值
推送 API
uni.subscribePush
- 功能:订阅消息推送
- 参数:
- templateId: 模板 ID
- data: 订阅数据
- 应用场景:
- 消息通知
- 活动提醒
- 订单状态更新
uni.push
- 功能:推送消息
- 参数:
- title: 标题
- content: 内容
- payload: 附加数据
- 应用场景:
- 消息通知
- 活动提醒
- 订单状态更新
地图 API
uni.getLocation
- 功能:获取当前位置
- 参数:
- type: 位置类型
- altitude: 是否需要高度
- isHighAccuracy: 是否开启高精度
- 应用场景:
- 地图定位
- 附近搜索
- 路径规划
uni.openLocation
- 功能:打开地图
- 参数:
- latitude: 纬度
- longitude: 经度
- name: 位置名称
- address: 位置地址
- 应用场景:
- 查看位置
- 导航到指定位置
应用 API
uni.getApp
- 功能:获取应用实例
- 应用场景:
- 全局数据共享
- 跨页面通信
uni.getBackgroundAudioManager
- 功能:获取背景音乐管理器
- 应用场景:
- 播放背景音乐
- 控制音乐播放
uni.createVideoContext
- 功能:创建视频上下文
- 参数:
- id: 视频组件 ID
- 应用场景:
- 控制视频播放
- 视频操作
第三方服务 API
uni.login
- 功能:登录
- 参数:
- provider: 登录 provider
- 应用场景:
- 微信登录
- 支付宝登录
- 其他平台登录
uni.share
- 功能:分享
- 参数:
- title: 标题
- content: 内容
- url: 链接
- imageUrl: 图片地址
- 应用场景:
- 分享到微信
- 分享到朋友圈
- 分享到其他平台
API 调用注意事项
权限管理
- 部分 API 需要申请权限,如位置、相机、麦克风等
- 需要在 manifest.json 中配置权限
- 需要在运行时向用户请求权限
平台差异
- 不同平台的 API 支持情况可能不同
- 需要使用条件编译处理平台差异
- 参考官方文档了解各平台 API 支持情况
性能优化
- 避免频繁调用 API
- 合理使用缓存
- 优化网络请求
错误处理
- 对 API 调用进行错误处理
- 提供友好的错误提示
- 监控 API 调用失败情况
API 最佳实践
网络请求
- 使用封装的网络请求工具
- 统一处理请求头、错误等
- 使用拦截器处理登录态等
界面交互
- 合理使用 Toast、Loading 等提示
- 保持界面响应速度
- 提供友好的用户反馈
数据存储
- 合理使用本地存储
- 避免存储敏感信息
- 定期清理缓存数据
设备能力
- 合理使用设备能力
- 尊重用户隐私
- 提供降级方案