Showing
1 changed file
with
7 additions
and
4 deletions
@@ -15,7 +15,7 @@ const AuthHelper = require('../models/auth-helper'); | @@ -15,7 +15,7 @@ const AuthHelper = require('../models/auth-helper'); | ||
15 | 15 | ||
16 | const loginPage = `${config.siteUrl}/passport/login/index`; | 16 | const loginPage = `${config.siteUrl}/passport/login/index`; |
17 | 17 | ||
18 | -function doPassportCallback(openId, nickname, req, res) { | 18 | +function doPassportCallback(openId, nickname, sourceType, req, res) { |
19 | let shoppingKey = cookie.getShoppingKey(req); | 19 | let shoppingKey = cookie.getShoppingKey(req); |
20 | let refer = req.cookies.refer; | 20 | let refer = req.cookies.refer; |
21 | 21 | ||
@@ -26,11 +26,11 @@ function doPassportCallback(openId, nickname, req, res) { | @@ -26,11 +26,11 @@ function doPassportCallback(openId, nickname, req, res) { | ||
26 | } | 26 | } |
27 | 27 | ||
28 | if (openId && nickname) { | 28 | if (openId && nickname) { |
29 | - AuthHelper.signinByOpenID(nickname, openId, 'wechat', shoppingKey).then((result) => { | 29 | + AuthHelper.signinByOpenID(nickname, openId, sourceType, shoppingKey).then((result) => { |
30 | if (result.data['is_bind'] && result.data['is_bind'] === 'N') { //eslint-disable-line | 30 | if (result.data['is_bind'] && result.data['is_bind'] === 'N') { //eslint-disable-line |
31 | return helpers.urlFormat('/passport/bind/index', { | 31 | return helpers.urlFormat('/passport/bind/index', { |
32 | openId: openId, | 32 | openId: openId, |
33 | - sourceType: 'wechat', | 33 | + sourceType: sourceType, |
34 | refer: refer | 34 | refer: refer |
35 | }); | 35 | }); |
36 | } else if (result.code === 200 && result.data.uid) { | 36 | } else if (result.code === 200 && result.data.uid) { |
@@ -52,6 +52,9 @@ const wechat = { | @@ -52,6 +52,9 @@ const wechat = { | ||
52 | beforeLogin: (req, res, next) => { | 52 | beforeLogin: (req, res, next) => { |
53 | let refer = req.query.refer; | 53 | let refer = req.query.refer; |
54 | 54 | ||
55 | + if (!refer) { | ||
56 | + refer = req.get('Referer'); | ||
57 | + } | ||
55 | refer && res.cookie('refer', encodeURI(refer)); | 58 | refer && res.cookie('refer', encodeURI(refer)); |
56 | next(); | 59 | next(); |
57 | }, | 60 | }, |
@@ -67,7 +70,7 @@ const wechat = { | @@ -67,7 +70,7 @@ const wechat = { | ||
67 | let nickname = user.displayName || user._json.nickname; | 70 | let nickname = user.displayName || user._json.nickname; |
68 | let openId = user.id || user._json.unionid; | 71 | let openId = user.id || user._json.unionid; |
69 | 72 | ||
70 | - doPassportCallback(openId, nickname, req, res); | 73 | + doPassportCallback(openId, nickname, 'wechat', req, res); |
71 | })(req, res, next); | 74 | })(req, res, next); |
72 | } | 75 | } |
73 | }; | 76 | }; |
-
Please register or login to post a comment