[AngularJS] Store the entry url and redirect to entry url after Logged in

For example when a outside application need to visit your app address:

https://www.example.com/#/lobby/abc

But before enter '/lobby/abc', user need to login, so the application will redirect user to 

https://www.example.com/#/login

Now what you want is after user logged in, you can redirect them to 

https://www.example.com/#/lobby/abc

Instead of other pages like:

https://www.example.com/#/lobby

So to solve the problem, we need to do two things

1. Store the entry url

扫描二维码关注公众号,回复: 3059419 查看本文章

2. After logged in, redirect user to entry url

1. Store the entry ur:

angular.module('app')
     // When can get pull url by using $location.absUrl()
    // Because run block only run once for the module and app module is our main application module, so this should only store our entry url
    // To reuse the entryUrl later, we store it in LoginService
    .run(($location, LoginService) => LoginService.entryUrl = $location.absUrl())

2. After logged in, then we can redirect user to the entry url by doing:

$location.url(LoginService.entryUrl)

猜你喜欢

转载自www.cnblogs.com/Answer1215/p/9589788.html
URL