前是用 AngularJS + Rails 架构,前端都扔给 AngularJS,后端 Rails 来判断是否当前业务操作是否需要用户登录,如果需要,返回错误信息,比如 401 之类,前端 AngularJS 接收到请求认证之后,弹出 modal dialog 登录窗口,请求用户进行登录,如果登录成功,需要继续执行之类的业务操作,这个怎么处理?
G 了大部分代码都是基于 url 登录页面来保存操作业务的 url,然后登录完成之后再进行 Redirect,像我这种 弹出窗口的,成功之后继续执行某个操作的好像没有。
再 G 了一回,Ruby 中有类似的包装模式,执行完成之后,然后回调 ControlName#MethodName,这样挺美好的。
但是 JS 中怎么实现呢?这种弹出窗口根据业务需要可能不止一层,比如:先判断是否登录,再判断帐户余额是否够,再判断用户是否符合操作权限,一层一层下来,最终回调一开始要执行的业务操作,这中间怎么传递呢?又怎么回调执行呢?
找到终极解决方案:https://github.com/GaetanGiraud/angular-login.git