zoukankan      html  css  js  c++  java
  • 为什么不建议在微信小程序的TarBar上检查统一登录后跳转页面

    1.问题发现

    最近一个微信小程序,在tarbar上做了登录检查:当用户点击tarbar“我的"和”购物车“时,会请求后台API检查用户是否登录,如果未登录,则跳转一个统一的登录界面。

    登录界面有两个按钮,一个登录,一个取消登录(不要问为什么,因为微信官方宣:”在体验小程序功能后,用户主动点击登录按钮后触发登录流程,且为用户提供暂不登录选项。“)

    而问题来了,当用户不想登录,点击取消登录跳转首页的代码如下:

    wx.switchTab({
         url: '/pages/index/index',
       });

    用户点击取消跳转后,隔了1~2秒,又重新跳转回登录界面了。

    2.调试

    debug发现如下流程:

    点击取消登录按钮-->跳转进入首页-->小程序的VM悄悄重载”我的页面“-->检查是否登录-->跳回登录页面。这样循环多次,而在微信开发者工具上没问题,Iphone6/Ihone8/IPX可能是所有手机上会有循环问题。

    一脸朦逼。。。。。

    3.解释合理的流程???

    wx.switchTab会关闭销毁所有非tabBar页面,但不会关闭tarBar页面,所以此时把隐藏的tabBar(比如此时懵逼的 ”我的“)重新后台加载一次,而程序逻辑中加载“我的”tarBar会触发检查用户是否登录

    4.这大要就是这样的解释了吧???

    5.解决

    把wx.switchTab换成wx.reLaunch,问题解决,但reLaunch会关闭所有的小程序页面,有比较明显的迟钝问题。所以为什么不建议在微信小程序的TarBar上检查统一登录后跳转页面?

    而我也因为这被微信拒绝了一次:

    1: 你好,小程序登录功能暂未符合规范要求,在登录环节,应当为用户提供可取消或拒绝的选项按钮,不强制用户进行登录。请整改后再重新提交审核,具体登录规范及整改可参考:
    https://developers.weixin.qq.com/community/operate/doc/000640bb8441b82900e89f48351401
  • 相关阅读:
    Golang-单元测试
    Golang-Json序列化和反序列化
    Golang-文件操作
    Golang-demo
    Golang-demo练习
    Golang-类型断言
    Golang-面向对象编程三大特性-多态
    Golang-接口(interface)
    Golang-面向对象编程三大特性-继承、多重继承
    块状元素和内联元素 【转】
  • 原文地址:https://www.cnblogs.com/tangyan/p/12490255.html
Copyright © 2011-2022 走看看