Merge branch 'hotfix/wechat' into 'feature/shop'
微信登录优化 See merge request !522
Showing
2 changed files
with
23 additions
and
15 deletions
@@ -117,8 +117,29 @@ const common = { | @@ -117,8 +117,29 @@ const common = { | ||
117 | return next(); | 117 | return next(); |
118 | }); | 118 | }); |
119 | } | 119 | } |
120 | - } | 120 | + }, |
121 | + isLoginUser: (req, res, next) => { | ||
122 | + // 微信里边已经登录的时候,不再跳转登录 | ||
123 | + if (req.user.uid) { | ||
124 | + AuthHelper.profile(req.user.uid).then(function(result) { | ||
125 | + if (result.code !== 200) { | ||
126 | + return next(); | ||
127 | + } | ||
128 | + let refer = req.query.refer || decodeURI(req.cookies.refer) || config.siteUrl; | ||
121 | 129 | ||
130 | + if (/sign|login/.test(refer)) { | ||
131 | + refer = `${config.siteUrl}/home`; | ||
132 | + } | ||
133 | + | ||
134 | + refer = utils.refererLimit(refer); | ||
135 | + return res.redirect(refer); | ||
136 | + }).catch(() => { | ||
137 | + return next(); | ||
138 | + }); | ||
139 | + } else { | ||
140 | + return next(); | ||
141 | + } | ||
142 | + } | ||
122 | }; | 143 | }; |
123 | 144 | ||
124 | 145 | ||
@@ -280,19 +301,6 @@ const local = { | @@ -280,19 +301,6 @@ const local = { | ||
280 | 301 | ||
281 | const wechat = { | 302 | const wechat = { |
282 | login: (req, res, next) => { | 303 | login: (req, res, next) => { |
283 | - // 微信里边已经登录的时候,不再跳转登录 | ||
284 | - // 与 5.6 的 session 有冲突 | ||
285 | - // if (req.user.uid) { | ||
286 | - // let refer = req.query.refer || decodeURI(req.cookies.refer) || config.siteUrl; | ||
287 | - | ||
288 | - // if (/sign|login/.test(refer)) { | ||
289 | - // refer = `${config.siteUrl}/home`; | ||
290 | - // } | ||
291 | - | ||
292 | - // refer = utils.refererLimit(refer); | ||
293 | - // return res.redirect(refer); | ||
294 | - // } | ||
295 | - | ||
296 | // 设置为原链接标识originalUrl | 304 | // 设置为原链接标识originalUrl |
297 | req.session.originalUrl = 'true'; | 305 | req.session.originalUrl = 'true'; |
298 | req.session.authState = uuid.v4(); | 306 | req.session.authState = uuid.v4(); |
@@ -75,7 +75,7 @@ router.post('/passport/sms_login/password.json', smsLogin.password); | @@ -75,7 +75,7 @@ router.post('/passport/sms_login/password.json', smsLogin.password); | ||
75 | router.get('/passport/login/user', login.user); | 75 | router.get('/passport/login/user', login.user); |
76 | 76 | ||
77 | // 微信登录 | 77 | // 微信登录 |
78 | -router.get('/passport/login/wechat', login.common.beforeLogin, login.wechat.login); | 78 | +router.get('/passport/login/wechat', login.common.beforeLogin, login.common.isLoginUser, login.wechat.login); |
79 | router.get('/passport/login/wechat/callback', login.wechat.callback); | 79 | router.get('/passport/login/wechat/callback', login.wechat.callback); |
80 | 80 | ||
81 | // sina登录 | 81 | // sina登录 |
-
Please register or login to post a comment