如何通过分享卡片或通知消息重新进入指定小程序页面

微信小程序中的常见入口场景及解决方案

  最近一直在做小程序,虽然是第二次做,但距离上次已经一年了,结果还是踩了不少坑。这次是从零开始,除了遇到一些莫名其妙的兼容性问题,大部分坑都集中在微信小程序的入口场景上。今天就来聊聊这些常见的入口场景,以及如何应对这些问题。

启动小程序并进入

  这是最常见的进入小程序的方式,比如通过搜索或点击最近使用的小程序进入。在这种场景下,有几个关键点需要注意:

  1. 登录判断:登录不一定要在这个阶段完成,但登录信息的判断是必须的。通常,前端会将登录信息存储在小程序中,并在事件中判断是否登录。如果未登录,跳转到登录页面;如果已登录,跳转到首页。登录判断一定要放在ApponLaunch中,而不是首页的onLoad里,因为小程序启动时一定会进入App,但不一定会进入首页。

  2. 请求处理:如果在onLaunch中发出请求,并在请求完成后进行页面跳转或设置,需要注意请求时间过长时,首页的onLoad可能已经执行。为了避免这种情况,建议在onLaunch中尽量避免复杂操作,或者使用加载页面来承载这些功能。

  3. 数据初始化:首页的数据初始化通常放在onLoad中执行,但有些特殊需求可能需要放在onShow里。onLoadonShow的区别在于,当载入首页时,先触发onLoad,再触发onShow。如果通过wx.navigateTo跳转到其他页面,首页并没有被关闭,返回时不会触发onLoad,但会触发onShow

退出重进小程序

  这种场景下,退出小程序后再次进入时,会回到退出时的页面,而不会触发onLoad,但会触发onShow。需要注意onShow中是否有不可重复执行的操作,比如获取用户喜欢吃的食物并加载到列表中。如果不加判断,可能会出现重复数据。

退出重进首页

  通过扫二维码再次进入小程序时,会进入首页。除了需要注意退出重进小程序的问题,还需要关注onShow中是否会触发奇怪的操作,比如页面跳转。

启动并进入指定页面

  这种场景通常是通过小程序的分享卡片或微信通知消息进入小程序。与第一种场景不同,这里可能直接进入非首页的页面,且可能涉及复杂的业务功能。在设计阶段应尽量简化此处的业务逻辑,或加大估时。

  1. 登录判断:在onLaunch中判断是否登录,未登录则跳转到登录页面。登录成功后,应跳转到指定页面,而不是首页。因此,登录页面设计时需要传入一个参数,明确登录成功后跳转的页面。

  2. 返回首页功能:在跳转到指定页面的情况下,通常需要一个回到首页的按钮。比如通过邀请卡片进入文章详情页时,如果没有返回首页功能,用户可能无法回到首页。

涉及身份的邀请函

  这种场景下,进入小程序时需要根据参数切换身份,可能涉及登录。比如打车软件中,用户可能是司机或乘客,且上次登录的身份会影响到本次登录。在这种情况下,建议在onLaunch中获取身份信息,并根据身份跳转到相应页面。为了避免复杂逻辑,可以设计一个专门的加载页面来处理身份判断和页面跳转。

总结

  以上几种场景基本涵盖了微信小程序的常见入口情况。整理这些场景的目的,主要是为了在需求和设计阶段避免遗漏,从而减少后期和维护的难度。所谓加班和项目延期,往往是因为前期考虑不周。我们无法考虑到所有场景,但应尽量做到尽善尽美。谋定而后动,前事不忘后事之师,这才是之道。

© 版权声明
THE END
分享