Skip to content

uniapp

🕒 Published at:

1. 用户信息

API 名称常用参数功能描述
uni.getUserInfo({withCredentials})withCredentials(是否包含敏感信息)获取用户信息,包括昵称、头像等
uni.login({success(res){}})获取用户登录凭证(code)

2. 数据存储

API 名称常用参数功能描述
uni.setStorageSync(key, data)key(键名)、data(存储的数据)同步方式存储数据到本地缓存
uni.getStorageSync(key)key(键名)同步方式从本地缓存获取数据
uni.removeStorageSync(key)key(键名)同步方式移除本地缓存数据
uni.clearStorageSync()同步方式清空本地缓存

3. 网络请求

API 名称常用参数功能描述
uni.request(url, data, method)url(请求地址)、data(请求参数)、method(请求方法)发起 HTTPS 网络请求

4. 支付

API 名称常用参数功能描述
uni.requestPayment(timeStamp, nonceStr, package)timeStamp(时间戳)、nonceStr(随机字符串)、package(订单信息)发起微信支付请求

5. 设备信息

API 名称常用参数功能描述
uni.getSystemInfoSync()获取系统信息,如屏幕宽度、高度等

6. 位置信息

API 名称常用参数功能描述
uni.getLocation({type, isHighAccuracy})type(坐标类型, wgs84 返回 gps 坐标,gcj02 返回可用于 wx. openLocation 的坐标)、
isHighAccuracy(是否高精度)
highAccuracyExpireTime 高精度超时时间,要求 3000ms 以上
获取用户地理位置

7. 媒体

API 名称常用参数功能描述
uni.chooseImage(count, sizeType)count(选择图片数量)、sizeType(图片尺寸类型)从相册或相机选择图片
uni.previewImage(urls, current)urls(图片链接列表)、current(当前显示图片的链接)预览图片

8. 分享

API 名称常用参数功能描述
uni.shareAppMessage(title, path)title(分享标题)、path(分享路径)分享小程序页面

9. 文件操作

API 名称常用参数功能描述
uni.chooseFile(count, type)count(选择文件数量)、type(文件类型,如 imagevideo从本地选择文件
uni.uploadFile(url, filePath, name)url(上传地址)、filePath(文件路径)、name(文件字段名)上传文件到服务器

10. 导航

API 名称常用参数功能描述
uni.navigateTo(url)url(目标页面路径)跳转到非 tabBar 页面
uni.switchTab(url)url(目标 tabBar 页面路径)跳转到 tabBar 页面

11. 通知

API 名称常用参数功能描述
uni.showToast(title, icon, duration)title(提示内容)、icon(图标类型)、duration(显示时长)显示消息提示框
uni.showModal(title, content)title(标题)、content(内容)显示模态对话框

12. 设备能力

API 名称常用参数功能描述
uni.scanCode(onlyFromCamera)onlyFromCamera(是否只从相机扫码)调起扫码功能
uni.vibrateLong()使手机振动

13. 网络状态

API 名称常用参数功能描述
uni.getNetworkType()获取当前网络类型
uni.onNetworkStatusChange(callback)callback(网络状态变化回调函数)监听网络状态变化

14. 补充 API

API 名称常用参数功能描述
uni.createInnerAudioContext()创建音频播放器
uni.createMapContext(mapId)mapId(地图组件 ID)创建地图上下文
uni.makePhoneCall(phoneNumber)phoneNumber(电话号码)拨打电话
uni.setClipboardData(data)data(要复制的数据)设置剪贴板数据

Uniapp 登录流程

  1. 调用 uni.login()
    小程序调用 uni.login() 获取临时登录凭证 code

  2. 发送 code 到服务器
    code 发送到开发者服务器,服务器通过微信接口(如 code2Session)换取用户的唯一标识 openid 和会话密钥 session_key

  3. 生成自定义登录态
    服务器根据 openidsession_key 生成自定义登录态(如 token),并返回给小程序。

  4. 存储登录态
    小程序将登录态存储在本地(如 uni.setStorageSync),用于后续请求的身份验证。

Uniapp 支付流程

  1. 生成订单
    用户在小程序中选择商品并提交订单,后端生成支付订单,包括订单号、金额等信息。

  2. 调用统一下单接口
    后端调用微信支付的统一下单接口,获取支付参数(如 timeStampnonceStrpackage 等)。

  3. 发起支付请求
    小程序调用 uni.requestPayment(),传入支付参数,唤起微信支付界面。

  4. 支付结果回调
    用户完成支付后,微信服务器会通知后端支付结果,后端更新订单状态并返回支付结果给小程序。

  5. 支付成功提示
    小程序根据支付结果提示用户支付成功或失败。 以下是关于小程序 分包配置 的详细说明,重新整理并解释每个配置的作用,使用 Markdown 语法编写:

小程序分包配置详解

分包是将小程序的代码和资源拆分为多个包,以减少主包体积,提升加载速度。以下是 app.json 中分包相关配置的详细说明。

1. 主包配置

主包是小程序的默认包,包含启动页面和核心功能。

配置项作用描述
pages定义主包的页面路径。主包页面会优先加载,通常包括首页和核心功能页面。

示例

json
{
  "pages": [
    "pages/index/index",
    "pages/logs/logs"
  ]
}

2. 分包配置

分包用于将非核心功能的代码和资源拆分为独立的包,按需加载。

配置项作用描述
subPackages定义分包信息,包括分包根目录和分包页面路径。
root指定分包的根目录路径。分包的所有页面和资源都应放在该目录下。
pages定义分包中的页面路径。路径相对于分包根目录。
independent(可选)是否独立分包。独立分包不依赖主包,可以单独加载。默认值为 false

示例

json
{
  "subPackages": [
    {
      "root": "subpackage1",
      "pages": [
        "pages/subpage1/subpage1",
        "pages/subpage2/subpage2"
      ]
    },
    {
      "root": "subpackage2",
      "pages": [
        "pages/subpage3/subpage3"
      ],
      "independent": true
    }
  ]
}

3. 预下载配置

预下载用于提前下载分包资源,提升用户体验。

配置项作用描述
preloadRule定义分包预下载规则。可以指定在某个页面加载时,预下载哪些分包。
packages指定需要预下载的分包路径。可以是分包根目录或主包路径("__APP__")。
network(可选)指定预下载的网络环境,如 wifiall。默认值为 wifi

示例

json
{
  "preloadRule": {
    "pages/index/index": {
      "packages": ["subpackage1"],
      "network": "wifi"
    }
  }
}

4. 分包与发布注意事项

  1. 分包限制
    • 主包大小不超过 2MB,所有分包大小不超过 20MB。
    • 单个分包大小不超过 2MB。
  2. 独立分包
    • 独立分包不依赖主包,可以单独加载,适合功能相对独立的分包。
  3. 预下载优化
    • 合理使用预下载功能,可以提升用户访问分包页面的速度。

使用微信开发者工具检测包大小

微信开发者工具提供了内置的检测功能,可以快速检查包是否符合规范。

操作步骤: 打开微信开发者工具。 在工具栏中点击详情 -> 基本信息。 查看当前代码包大小,确保主包和分包的大小符合限制: 主包大小不超过 2MB。 所有分包大小不超过 20MB。 单个分包大小不超过 2MB。 点击详情 -> 本地设置,勾选上传时压缩代码,进一步优化包体积。