用onShareAppMessage转发之后,如何在打开时能确保进入指定的页面?
发布于 5 年前 作者 yanjing 7919 次浏览 来自 问答

我在转发的时候通过 path 指定了一个特别的页面(并带有 query 参数),多数情况下,别人点击那个“分享卡片”就能进入指定的页面。

但是,有一种情况很麻烦,就是某个人如果刚刚从这个小程序退出来(实际上只是 hide 并没有真正关闭),这时他如果点击那个“分享卡片”就不是进入指定的页面,而是重新打开他刚刚退出来的那个页面(应该就是直接 show 出来了)。

这就产生了一个很严重的问题,我的程序需要在分享卡片对应的那个页面里做一个特殊功能的(比如建立邀请关系),由于前面说的这种情况,这个功能有可能会失效。请问有什么办法能解决吗?

6 回复

很好解决的啊! 转发的时候获取转发用户unionid然后当成参数一起转发出去;当被转发用户点击卡片进入指定页面的时候就把unionid  用 setStorageSync保存起来! 当被转发用户点击关注商铺的时候;判断这个被转发用户之前是不是你们的注册用户,如果是的话就不绑定邀请关系;如果没有就跟unionid绑定邀请关系!用setStorageSync是为了防止用户不是从转发卡片哪里点进去注册的!

哇,你这业务不错啊!最后怎么搞定的?

遇到了这个问题,处理逻辑放在在app.js中onShow: function(options) {}就可以解决

解决了吗?

自己顶一下。

澄清一点,我原帖中提到【建立邀请关系】并不是【邀请朋友来使用这个小程序】,因为如果别的朋友以前没有使用过这个小程序的话,是不会遇到这个问题的。

我这里只是举例说明,比如点评类的应用,我看到一个店铺很不错,就转发到群里,其他群友点击我的分享卡片进入小程序后,也关注了这个店铺,但这个朋友是我邀请来的,系统会给我增加店铺积分。现在的问题在于,那个朋友本身已经是这个小程序的用户,而且他刚刚从小程序离开(只是 hide,并没有真正退出小程序,因为小程序根本就是不能退出的),此时点击我分享的卡片,只是 show 出来,而没有进入我转发时指定的页面链接,因此系统就无法给我增加店铺积分了。这个缺陷给运营方面带来了很大的困扰!

回到顶部