swan.onAppShow

基础库 3.60.2 开始支持,低版本需做兼容处理swan.onAppShow - 图1

解释: 监听小程序切前台事件。该事件与 App.onShow 的回调参数一致。

方法参数

function callback小程序切前台事件的回调函数。

callback返回参数说明 :

Object res 返回的对象信息

属性类型说明最低版本
sceneString打开智能小程序的场景值
pathString打开小程序的路径。
queryObject打开小程序的query。
shareTicketString标记转发对象。
referrerInfoObject从另一个小程序打开该小程序时,返回此字段。
entryTypeString页面展现的来源标识,可取的值为: 'user'、'schema'、'sys',对应代表的意义如下表。2.10.7
appURLString展现时的调起协议,仅当entryType值为 schema 时存在。2.10.7

referrerInfo 的结构

属性类型说明
appIdString来源小程序的 appKey。
extraDataObject来源小程序传过来的数据

entryType 的取值说明

属性类型说明
userString表示通过home前后台切换或解锁屏幕等方式调起。
schemaString表示通过协议调起。
sysString其它。

示例

扫码体验

swan.onAppShow - 图2请使用百度APP扫码

图片示例

swan.onAppShow - 图3

swan.onAppShow - 图4

swan.onAppShow - 图5

代码示例

  1. // app.js
  2. App({
  3. onShow: function (res) {
  4. console.log('onShow', res)
  5. swan.showModal({
  6. title: 'res',
  7. content: JSON.stringify(res),
  8. showCancel: false
  9. });
  10. }
  11. });
  1. // app.js
  2. App({
  3. onLaunch: function () {
  4. swan.onAppShow(function(res) {
  5. console.warn('请在真机中进行中进行验证,在工具中点击工具栏的刷新按钮也可模拟onShow触发事件,开发者按照自己的业务逻辑进行监听,被触发时机和App.onShow一致。');
  6. swan.showModal({
  7. title: 'res',
  8. content: JSON.stringify(res),
  9. showCancel: false
  10. });
  11. console.log('scene', res.scene);
  12. console.log('path', res.path);
  13. console.log('query', res.query);
  14. console.log('shareTicket', res.shareTicket);
  15. console.log('referrerInfo', res.referrerInfo);
  16. console.log('entryType', res.entryType);
  17. console.log('appURL', res.appURL);
  18. });
  19. }
  20. });

Bug&Tip

  • 在解析 query 的时候,基础库会使用decodeURIComponent对query的参数值进行一次解码,该功能将在未来的基础库版本下线,并提前通知开发者下线的基础库版本号;
  • 如在打开或跳转小程序时传递了 encode 后的值作为参数,为避免发生页面错误,使用时请自行将拿到的值使用decodeURIComponent进行一次decode操作。