1、正常启动应用,在AppDelegate文件中设置根控制器,
对第一次安装应用正常启动应用时:将引导页控制器设置为根控制器,引导页结束后,更新根控制器;
对非第一次安装应用正常启动应用时:将主控制器设置为根控制器,在主控制器中判断登录有效期,方法有两种:
(1)、调用后台接口判断登录Cookie的有效期。即在主控制器 override func viewDidLoad() {}方法中,调用后台接口验证Cookie是否有效,若Cookie有效则后台会自动更新Cookie,前端能正常访问其他接口;若Cookie无效则前端需跳转至登录页面重新登录更新Cookie。
(2)、正常访问其他接口,若未登录状态,后台会在接口请求返回中返回一个code未登录状态码,根据这个状态码,跳转至登录页面。
注意:在MainController(主控制器)中跳转至登录页面时,采用self.present(LoginController()(登录控制器), animated: true, completion: {})方法跳转,一般会将登录控制器设置为导航控制器;从登录控制器登录成功后采用self.dismiss(animated: true, completion: nil);方法回导主控制器;当用户主动退出登录(需切换账号)时,跳转方式和在主控制器中一样(即通过模态视图跳转方式切换页面)。