微信服务号网页开发中遇到的问题:iOS版与安卓/鸿蒙版的微信服务号网页链接点击后动作不一致
本项目为需登录的H5业务服务系统,可在PC端、移动端(包含iOS、安卓、鸿蒙)等系统原生浏览器中都正常服务。 现在进行了微信服务号的网页开发:在微信服务号上创建自定义菜单,菜单指向系统route_a然后跳转至页面page_a。 设计的逻辑是:已关注服务号的微信用户点击链接,进入route_a,判断该用户是否已经登陆系统,如果未登陆系统,那么自动跳转至系统登陆页面要求用户输入系统UID/PWD登录,系统自动在用户点击登录按钮后绑定其微信号和系统用户,那么下次该微信用户再次点击该链接,系统自动获取微信open_id进行静默登录。而如果检查到用户已经登陆了(request.session.uid)那么自动跳转至page_a(直到用户本地session超时后,再次进入则可静默登录)。 现在遇到问题: 1、iOS版微信服务号中,任意用户都可以顺利按照上述逻辑走通,这是符合预期OK的; 2、安卓版或鸿蒙版微信服务号,任意用户(包含上述在iOS版中通过的用户)点击菜单链接,即使经过了静默登录处理,且从日志确认静默登录成功(查看了session.uid,并设置了request.params['login_success']=True),但是仍被系统默认跳转到了登陆页面。然后在登录页面看到request.params['login_success']=False。 针对这样的问题,在controller中应该如何处理才能使安卓版和鸿蒙版都能像iOS版一样,即:如果检测到用户已登录,那么就能成功跳转至目标页面;如果检测到用户未登录,那么经过静默登录后也能跳转至目标页面。 请高手指点!