微信小程序开发逻辑梳理

一、要考虑的点

1、登录方面(接口超时后要重新拉登录)

(1)把登录封装一下,以便在各个接口超时时调用。

(2)做登录页面,登录完成后若不需授权则跳转活动页面,若还需授权则跳转至授权页面(获取信息,获取手机号)。

2、是否要做一个登录的标记:若为true,则已登录,若为false,则进行登录,并判断是否授权,获取用户信息。

3、***哪个页面作为首页

(1)需在未登录状态下展示活动:授权页面作为首页,先进行授权,后进入活动。

(2)需在未登录状态下展示活动:活动主页作为首页,若有登录按钮,则此按钮为授权用户信息按钮,若无则做一个虚拟按钮,登录后展示真实按钮。

二、大致流程

1、主要的部分 :  先判断是否已授权

已授权:获取用户信息  =》获取缓存中的openid =》获取到=》跳转活动页面

                                                                                未获取到=》进行登录

未授权:获取授权=》进行登录

 

2、授权页为首页:  先检查登录状态是否过期

未过期:判断是否已授权=》已授权:获取用户信息  =》获取缓存中的openid =》获取到=》跳转活动页面

                                    未获取到=》到登录页面=》跳至活动页

                                           未授权:到登录页面(登录,授权,手机号获取)=》跳至活动页

已过期(session_key失效):到登录页面(登录,授权,手机号获取)=》跳至活动页

缺点:

1)涉及到3个页面:授权页,登录页,活动页  页面跳转会有页面切换效果,太明显

2)因为授权页作为首页,所以需要登录页面作为中转页面,然后跳至活动页,否则首次登录和重登录会混淆。

3)接口超时重新登录,success后跳转活动页,需获取手机号码则跳转至授权页

     授权页登录,success后跳活动页,需获取手机号码则不需跳转

     所以导致:俩部分的登录没法写成一个公共方法,都是各自的,代码冗余。

 

3、活动页面为首页:   先判断是否已授权

已授权:检验是否过期=》未过期=》获取活动信息,参与活动

                                        已过期=》调登录

未授权:点击授权按钮(以获取用户信息)=》调登录

调登录:wx.login =》传递后台code(保存opedId) =》判断授权状态=》获取用户信息。

           若需传递用户信息则传递,若需手机号则跳转授权页面,授权后传递接口,success后跳转活动主页。

此时登录可封装为一个公共方法,在各处调用。

 

posted @ 2020-09-21 09:41  阳光下的向日葵  阅读(3)  评论(0编辑  收藏  举报