热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

小程序onLaunch参数差别

今天在调整小程序项目获取参数的方法时,发现一直以来有个参数记错了,所以整理一下微信、支付宝、百度小程序的 App.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 参数源于前者。
小程序 onLaunch 参数差别
支付宝小程序
2. query 对象:
  • 支付宝小程序 App.onLaunchoptions.query 参数、 Page.onLoadoptions 参数应该是通过 Object.create(null) 创建的对象,不能通过 obj.cOnstructor=== Object (结果为 false)来判断是否为对象类型。

  • 微信小程序 App.onLaunchoptions.query 参数、 Page.onLoadoptions 参数 obj.cOnstructor=== Object (结果为 true


推荐阅读
author-avatar
666666顺2502878433
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有