uni-appx启动参数备忘录

uni-appx启动参数备忘录

  1. 小说前端 🧩
  2. 2025-12-09 16:00
  3. 4 min read

本文记录uni-appx开发项目中启动参数的相关知识。

整体参数预览

  • path: 启动时的页面路径,首次启动时一般为pages.json中配置的首页(即第一项,如:/pages/index/index)。
  • query: 启动时携带的参数,目前在App端默认是UTSJSONObject类型的空对象,该参数主要为小程序端预留使用。
  • scene: 场景参数,用于指定启动的场景,App端默认值为1001,该参数主要为小程序端预留使用。
  • refererInfo: 来源信息,包含来源应用的AppID、启动场景等内容,目前在App端默认是UTSJSONObject类型的空对象,该参数主要为小程序端预留使用。
  • appScheme: 启动时的完整URL Scheme,仅App端支持,默认值为空字符串。
  • appLink: 通过通用链接AppLink启动时的完整appLink参数,用于传递AppLink相关信息,仅App端支持,默认值为空字符串。

目前在App端开发中,实际常用的参数只有3个:pathappSchemeappLink

API差异说明

  • uni.getLaunchOptionsSync():获取应用首次启动时的参数,返回值与App.onLaunch的回调参数结构一致。
  • uni.getEnterOptionsSync():获取应用本次进入前台时的参数,返回值与App.onShow的回调参数结构一致。

应用首次启动或杀死进程后重新启动时,会触发App.onLaunch回调;每次应用从后台进入前台显示时,都会触发App.onShow回调。

应用初始化时获取参数

如果需要在App.onLaunch中获取启动参数,可以直接使用其回调函数传递的参数:

<script lang="uts">
export default {
  onLaunch: function (launchOptions) {
    console.log('launchOptions:', launchOptions);
  }
}
</script>

如果需要在其他页面或公共函数中获取首次启动参数,无需在App.onLaunch中保存后再传递,直接调用uni.getLaunchOptionsSync()即可:

// 获取App.onLaunch首次启动时的参数
const launchOptions = uni.getLaunchOptionsSync();
console.log('launchOptions:', launchOptions);

应用显示时获取参数

如果需要在App.onShow中获取启动参数,可以直接使用其回调函数传递的参数:

<script lang="uts">
export default {
  onShow: function (enterOptions) {
    console.log('enterOptions:', enterOptions);
  }
}
</script>

同样,如果需要在其他页面或公共函数中获取本次进入前台的参数,无需在App.onShow中保存后再传递,直接调用uni.getEnterOptionsSync()即可:

// 获取App.onShow本次进入前台时的参数
const enterOptions = uni.getEnterOptionsSync();
console.log('enterOptions:', enterOptions);

iOS App端使用示例

通过AppLink启动时的参数

首次启动时launchOptions参数的返回示例:

{
    "path": "pages/index/index",
    "query": {},
    "scene": 1001,
    "referrerInfo": {},
    "appScheme": null,
    "appLink": "https://www.imwarn.com/hanzi/?channelId=1_imwarn_com_1"
}

每次进入前台时enterOptions参数的返回示例(例如:应用切入后台时显示的是pages/novel/novel页面):

{
    "path": "pages/novel/novel",
    "query": {},
    "scene": 1001,
    "referrerInfo": {},
    "appScheme": null,
    "appLink": "https://www.imwarn.com/hanzi/?channelId=1_imwarn_com_1"
}

更新日志

2025-12-09

  • HBuilderX版本:4.85 (ARM架构)
  • 重点:对iOS AppLink启动参数的记录
fe uniapp uniappx