美文网首页
【小程序】判断用户是否是通过点击别人分享的小卡片进入页面

【小程序】判断用户是否是通过点击别人分享的小卡片进入页面

作者: 空城皆是旧梦 | 来源:发表于2019-03-01 21:23 被阅读36次

    用户进入小程序的方法有很多种,可以通过好友分享、群聊分享、微信聊天主页面下拉或者发现栏小程序等等多种途径。但如果通过好友分享或者群聊分享打开的是某一个小程序页面,其页面可能无论如何操作都不能返回主页面,这时就需要在分享的页面中加入一个返回主页面的按钮,所以需要判断用户进入的渠道。

    解决方法:

    1. 通过小程序场景值。对于小程序,可以在 App 的 onLaunch 和 onShow,或wx.getLaunchOptionsSync 中获取场景值。1007(单人聊天会话)1008(群聊会话中小程序)查看具体场景值,具体代码如下:
    //app.js
    App({
      onLaunch: function () {
        // 小程序初始化
      },
      onShow: function (options) {
        if (options.scene == 1007) {
          // 通过单人聊天会话分享进入
        }
        if (options.scene == 1008) {
          // 通过群聊会话分享进入
        }
        if (options.scene == 1001) {
          // 通过发现栏小程序进入
        }
    
        // ......
      },
      onHide: function () {
        // 小程序隐藏
      }
    })
    
    

    一般场景值是不会在onLaunch()方法中判断,其原因是onLaunch方法是小程序初始化完成时触发,全局只触发一次。当其返回退出还是点击右上角的按钮退出,小程序还是在微信后台运行除非用户手动关闭微信。所以当后台运行的情况下用户再次打开小程序时onLaunch()方法是不会运行的。

    1. 在分享的时候添加某些特定的字段作为参数,在进入页面的onLoad()方法中获取所有的参数,如果有该特定参数,则是分享进入。

    相关文章

      网友评论

          本文标题:【小程序】判断用户是否是通过点击别人分享的小卡片进入页面

          本文链接:https://www.haomeiwen.com/subject/bhgjuqtx.html