小程序 onLaunch 参数差别

简介: 小程序 onLaunch 参数差别

前言


今天在调整小程序项目获取参数的方法时,发现一直以来有个参数记错了,所以整理一下微信、支付宝、百度小程序的 App.onLaunch 参数的差别,大体相似,但还是有细微的区别。


正文


微信小程序


相关说明

{
  path: 'pages/handle/handle', // 启动小程序的路径
  scene: '1037', // 场景值
  query: {
    // 启动小程序的 query 参数
    // 若没有启动参数,则返回一个空对象
    // ...
  },
  shareTicket: undefined, // string 类型,转发信息
  referrerInfo: {
    // 来源信息
    appId: '', // 来源小程序、公众号或者 App 的 AppId
    extraData: {
      // 来源小程序传过来的数据,scene=1037 或者 1038 时支持
      // ...
    }
  }
}


返回有效 referrerInfo 的场景有这些


支付宝小程序


相关说明


  • 小程序首次启动时,App.onLaunch 方法可获取 querypath 属性值。
  • 小程序在后台被用 scheme 打开,也可从 App.onShow 方法中获取 querypath 属性值。

{
  path: 'pages/handle/handle', // 当前小程序的页面地址,从启动参数 page 字段解析而来,page 忽略时默认为首页。
  scene: '1037', // 场景值
  query: {
    // 启动小程序的 query 参数
    // 若没有启动参数,则不会返回 query 参数。这点跟微信小程序有区别
    // ...
  },
  referrerInfo: {
    // 来源消息
    appId: '', // 来源小程序
    sourceServiceId: '', // 来源插件,当处于插件运行模式时可见。(注意:基础库 1.11.0 版本开始支持)
    extraData: {
      // 来源小程序传过来的数据。
      // ...
    }
  }
}


百度小程序


相关说明


需要注意的是,百度小程序之间跳转是通过 appKey 的,所以获取到的 referrerInfo.appId 也是指 appKey。这点跟微信、支付宝小程序是有区别的。

{
  path: 'pages/handle/handle', // 打开小程序的路径。
  scene: '11700000', // 打开智能小程序的场景值,scene 值统一由百度小程序场景值管理中心在 B 端平台统一配置后下发到宿主(例如百度 App),调起协议中会携带相应入口的 scene 值。
  query: {
    // 打开当前页面路径中的参数
    // ...
  },
  shareTicket: '', // 标记转发对象
  referrerInfo: {
    // 从另一个小程序打开该小程序时,返回此字段
    appId: '', // 来源小程序的 appKey
    extraData: {
      // 来源小程序传过来的数据
      // ...
    }
  }
}


三者的部分区别


1. query 来源:


  • 微信小程序的 query 参数源于所打开页面路径的参数
  • 支付宝小程序是区分全局参数页面参数的,其 query 参数源于前者。


000.webp.jpg

支付宝小程序


2. query 对象:


  • 支付宝小程序 App.onLaunchoptions.query 参数、 Page.onLoadoptions 参数应该是通过 Object.create(null) 创建的对象,不能通过 obj.constructor === Object (结果为 false)来判断是否为对象类型。
  • 微信小程序 App.onLaunchoptions.query 参数、 Page.onLoadoptions 参数 obj.constructor === Object (结果为 true
目录
相关文章
|
7月前
|
小程序 IDE 开发工具
【社区每周】小程序开放服务类型调整;my.pageScrollTo新增偏移量参数(10月第一期)
【社区每周】小程序开放服务类型调整;my.pageScrollTo新增偏移量参数(10月第一期)
50 0
|
7月前
|
小程序 前端开发
uniapp 小程序接入友盟 ,自定义事件携带参数
uniapp 小程序接入友盟 ,自定义事件携带参数
141 0
|
小程序 前端开发
小程序扫码成功后带着参数跳转到指定页面
小程序扫码成功后带着参数跳转到指定页面
173 0
|
小程序 JavaScript
微信小程序 页面跳转 传递参数
微信小程序 页面跳转 传递参数
61 0
|
小程序 开发者
微信小程序通过普通二维码扫码进入指定页面带参数
微信小程序通过普通二维码扫码进入指定页面带参数
|
小程序 前端开发 PHP
PHP实现生成小程序二维码带参数进入指定页面、小程序URL scheme实现携带数据跳转小程序
PHP实现生成小程序二维码带参数进入指定页面、小程序URL scheme实现携带数据跳转小程序
240 0
|
小程序
微信小程序扫描二维码的内容,作为参数跳转填入到下一个页面input框
微信小程序扫描二维码的内容,作为参数跳转填入到下一个页面input框
92 1
|
存储 小程序 索引
小程序跨页面传递参数的几种方式
小程序跨页面传递参数的几种方式
398 0
|
7月前
|
开发框架 小程序 .NET
C#动态生成带参数的小程序二维码
C#动态生成带参数的小程序二维码
|
7月前
|
小程序 安全 算法
mPaaS问题之使用小程序传参数报错如何解决
mPaaS小程序是阿里巴巴移动平台服务(mPaaS)推出的一种轻量级应用解决方案,旨在帮助开发者快速构建跨平台的小程序应用;本合集将聚焦mPaaS小程序的开发流程、技术架构和最佳实践,以及如何解决开发中遇到的问题,从而助力开发者高效打造和维护小程序应用。
123 2

热门文章

最新文章