Toggle navigation
Toggle navigation
This project
Loading...
Sign in
fe
/
yoho-blk
·
Commits
Go to a project
GitLab
Go to group
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
0
Merge Requests
1
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Email Patches
Plain Diff
Browse Files
Authored by
htoooth
9 years ago
Commit
76995e429b5f933060f7d439d9adf5dd4e9d12a9
1 parent
9257c36e
调整函数注释位置
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
219 additions
and
95 deletions
apps/passport/controllers/back.js
apps/passport/controllers/bind.js
apps/passport/controllers/captcha.js
apps/passport/controllers/login.js
apps/passport/controllers/reg.js
apps/passport/models/login-service.js
apps/passport/router.js
apps/passport/controllers/back.js
View file @
76995e4
...
...
@@ -10,7 +10,10 @@ const BackService = require('../models/back-service');
const
PassportHelper
=
require
(
'../models/passport-helper'
);
const
_
=
require
(
'lodash'
);
const
index
=
(
req
,
res
,
next
)
=>
{
/**
* 首页
*/
const
indexPage
=
(
req
,
res
,
next
)
=>
{
BackService
.
indexPageDataAsync
()
.
then
(
result
=>
{
res
.
display
(
'back/index'
,
Object
.
assign
({
...
...
@@ -23,6 +26,9 @@ const index = (req, res, next) => {
.
catch
(
next
);
};
/**
* 通过邮箱或手机号获得用户信息
*/
const
validateInputAPI
=
(
req
,
res
,
next
)
=>
{
let
userInput
=
req
.
body
.
phoneNum
||
''
;
let
areaCode
=
(
req
.
body
.
area
||
'86'
).
replace
(
'+'
,
''
);
...
...
@@ -40,6 +46,9 @@ const validateInputAPI = (req, res, next) => {
});
};
/**
* 验证用户输入的邮箱或者手机是否合法
*/
const
validateInputPage
=
(
req
,
res
,
next
)
=>
{
let
userInput
=
req
.
body
.
phoneNum
||
''
;
let
areaCode
=
(
req
.
body
.
area
||
'86'
).
replace
(
'+'
,
''
);
...
...
@@ -54,6 +63,9 @@ const validateInputPage = (req, res, next) => {
});
};
/**
* 通过邮箱或手机号获得用户信息
*/
const
getUserInfoAPI
=
(
req
,
res
,
next
)
=>
{
let
inputInfo
=
req
.
inputInfo
;
...
...
@@ -64,6 +76,9 @@ const getUserInfoAPI = (req, res, next) => {
.
catch
(
next
);
};
/**
* 发送验证码到邮箱或者手机
*/
const
sendCodePage
=
(
req
,
res
,
next
)
=>
{
let
inputInfo
=
req
.
inputInfo
;
...
...
@@ -78,6 +93,9 @@ const sendCodePage = (req, res, next) => {
.
catch
(
next
);
};
/**
* 保存状态信息到 session 中
*/
const
saveInSession
=
(
req
,
res
)
=>
{
switch
(
req
.
inputInfo
.
type
)
{
case
'email'
:
...
...
@@ -96,6 +114,9 @@ const saveInSession = (req, res) => {
}
};
/**
* 发送短信验证码到手机
*/
const
sendBackMobileAPI
=
(
req
,
res
,
next
)
=>
{
let
mobile
=
req
.
body
.
mobile
||
''
;
let
area
=
req
.
body
.
area
||
'86'
;
...
...
@@ -107,6 +128,9 @@ const sendBackMobileAPI = (req, res, next) => {
.
catch
(
next
);
};
/**
* 验证手机号码是否合法
*/
const
validateMobileAPI
=
(
req
,
res
,
next
)
=>
{
let
mobile
=
req
.
body
.
mobile
||
''
;
const
ERR
=
{
code
:
400
,
message
:
'验证失败'
};
...
...
@@ -118,6 +142,9 @@ const validateMobileAPI = (req, res, next) => {
next
();
};
/**
* 验证邮箱是否在session中
*/
const
validateEmailInSession
=
(
req
,
res
,
next
)
=>
{
let
email
=
req
.
session
.
email
||
''
;
...
...
@@ -134,6 +161,9 @@ const validateEmailInSession = (req, res, next) => {
next
();
};
/**
* 发送成功邮件页面
*/
const
sendEmailPage
=
(
req
,
res
)
=>
{
res
.
display
(
'back/send-email'
,
Object
.
assign
({
module
:
'passport'
,
...
...
@@ -147,6 +177,9 @@ const sendEmailPage = (req, res) => {
}));
};
/**
* 验证邮箱验证码
*/
const
validateCodeByEmailPage
=
(
req
,
res
,
next
)
=>
{
let
code
=
req
.
query
.
code
||
''
;
...
...
@@ -165,6 +198,9 @@ const validateCodeByEmailPage = (req, res, next) => {
.
catch
(
next
);
};
/**
* 重新设置密码页面
*/
const
resetPasswordPage
=
(
req
,
res
)
=>
{
let
code
=
req
.
query
.
code
||
''
;
...
...
@@ -180,6 +216,9 @@ const resetPasswordPage = (req, res) => {
}));
};
/**
* 验证手机验证码页面
*/
const
verifyCodeByMobilePage
=
(
req
,
res
)
=>
{
res
.
display
(
'back/verification'
,
Object
.
assign
({
...
...
@@ -196,6 +235,9 @@ const verifyCodeByMobilePage = (req, res) => {
}));
};
/**
* 验证重设密码状态
*/
const
validateSuccessStatusPage
=
(
req
,
res
,
next
)
=>
{
let
successType
=
req
.
session
.
successType
||
''
;
...
...
@@ -207,6 +249,9 @@ const validateSuccessStatusPage = (req, res, next) => {
next
();
};
/**
* 设置密码成功页面
*/
const
resetPwdSuccessPage
=
(
req
,
res
)
=>
{
res
.
display
(
'back/reset-success'
,
Object
.
assign
({
module
:
'passport'
,
...
...
@@ -216,6 +261,9 @@ const resetPwdSuccessPage = (req, res) => {
}));
};
/**
* 验证手机验证码
*/
const
verifyCodeByMobileAPI
=
(
req
,
res
)
=>
{
let
mobile
=
req
.
body
.
mobile
||
''
;
let
area
=
req
.
body
.
area
||
'86'
;
...
...
@@ -241,6 +289,9 @@ const verifyCodeByMobileAPI = (req, res) => {
});
};
/**
* 验证页面是否带有验证信息
*/
const
validateExistCodePage
=
(
req
,
res
,
next
)
=>
{
let
code
=
req
.
query
.
code
||
req
.
body
.
code
;
...
...
@@ -251,6 +302,9 @@ const validateExistCodePage = (req, res, next) => {
next
();
};
/**
* 验证手机生成码
*/
const
validateCodeByMobilePage
=
(
req
,
res
,
next
)
=>
{
let
code
=
req
.
query
.
code
||
req
.
body
.
code
;
let
mobile
=
req
.
query
.
mobile
||
req
.
body
.
mobile
;
...
...
@@ -276,6 +330,9 @@ const validateCodeByMobilePage = (req, res, next) => {
next
();
};
/**
* 验证密码页面
*/
const
validatePwdPage
=
(
req
,
res
,
next
)
=>
{
let
pwd
=
req
.
body
.
pwd
||
''
;
...
...
@@ -286,6 +343,9 @@ const validatePwdPage = (req, res, next) => {
next
();
};
/**
* 更新密码
*/
const
updatePwdAPI
=
(
req
,
res
,
next
)
=>
{
let
code
=
req
.
body
.
code
||
''
;
let
mobileAuth
=
req
.
mobileAuth
||
{};
...
...
@@ -303,6 +363,9 @@ const updatePwdAPI = (req, res, next) => {
.
catch
(
next
);
};
/**
* 密码是否在 session 中
*/
const
validateMobileInSession
=
(
req
,
res
,
next
)
=>
{
req
.
body
.
mobile
=
req
.
session
.
mobile
||
''
;
req
.
body
.
verifyCode
=
req
.
session
.
captcha
||
''
;
...
...
@@ -316,34 +379,34 @@ const validateMobileInSession = (req, res, next) => {
};
module
.
exports
=
{
index
,
// 首页
getUserInfoAPI
,
// 通过邮箱或手机号获得用户信息
sendCodePage
,
// 发送验证码到邮箱或者手机,然后跳转页面
saveInSession
,
// 保存状态到session中
indexPage
,
getUserInfoAPI
,
sendCodePage
,
saveInSession
,
sendEmailPage
,
// 发送邮件成功的页面
sendEmailPage
,
verifyCodeByMobilePage
,
// 验证手机验证码的页面
verifyCodeByMobileAPI
,
// 验证手机验证码
sendBackMobileAPI
,
// 重新发送验证码到手机
verifyCodeByMobilePage
,
verifyCodeByMobileAPI
,
sendBackMobileAPI
,
resetPasswordPage
,
// 重设密码页面
updatePwdAPI
,
// 重设密码接口
validateMobileAPI
,
// 验证手机号是否合法
resetPwdSuccessPage
,
// 重设密码成功页面
resetPasswordPage
,
updatePwdAPI
,
validateMobileAPI
,
resetPwdSuccessPage
,
validateInputAPI
,
// 验证用户输入的邮箱或者手机是否合法,返回是json
validateInputPage
,
// 验证用户输入的邮箱或者手机是否合法,跳转是页面
validateInputAPI
,
validateInputPage
,
validateEmailInSession
,
// 验证邮箱是否在session中
validateMobileInSession
,
// 验证手机是否在session中
validateEmailInSession
,
validateMobileInSession
,
validateCodeByEmailPage
,
// 验证邮箱验证码
validateCodeByMobilePage
,
// 验证手机验证码
validateCodeByEmailPage
,
validateCodeByMobilePage
,
validateSuccessStatusPage
,
// 验证重设密码状态
validateExistCodePage
,
// 验证参数是否存在code
validateSuccessStatusPage
,
validateExistCodePage
,
validatePwdPage
// 验证密码是否合法
validatePwdPage
};
...
...
apps/passport/controllers/bind.js
View file @
76995e4
/**
* 第三方登录后绑定
*
* @author:
jiangfeng<jeff.jiang@yoho.cn>
* @author:
TaoHuang
*/
'use strict'
;
...
...
@@ -22,6 +22,9 @@ const Sources = {
const
DEFAULT_URL
=
'http://img10.static.yhbimg.com/headimg/2013/11/28/09/01cae078abe5fe320c88cdf4c220212688.gif?imageView/2/w/100/h/100'
;
/**
* 首页
*/
const
indexPage
=
(
req
,
res
)
=>
{
let
openId
=
req
.
query
.
openId
;
let
sourceType
=
req
.
query
.
sourceType
;
...
...
@@ -41,6 +44,9 @@ const indexPage = (req, res) => {
}));
};
/**
* 设置密码
*/
const
bindSetPwdPage
=
(
req
,
res
)
=>
{
let
mobile
=
req
.
query
.
thirdPart
.
mobile
;
let
sourceType
=
req
.
query
.
thirdPart
.
sourceType
;
...
...
@@ -61,6 +67,9 @@ const bindSetPwdPage = (req, res) => {
};
/**
* 绑定确认页面
*/
const
bindConfirmPage
=
(
req
,
res
)
=>
{
let
thirdPart
=
req
.
query
.
thirdPart
;
let
user
=
req
.
query
.
user
;
...
...
@@ -90,6 +99,9 @@ const bindConfirmPage = (req, res) => {
}));
};
/**
* 绑定成功页面
*/
const
bindSuccessPage
=
(
req
,
res
)
=>
{
let
sourceType
=
_
.
trim
(
req
.
query
.
sourceType
);
let
sourceInfo
=
sourceType
.
split
(
'_'
);
...
...
@@ -106,6 +118,9 @@ const bindSuccessPage = (req, res) => {
}));
};
/**
* 已绑定过手机页面
*/
const
bindedPage
=
(
req
,
res
)
=>
{
let
thirdPart
=
req
.
query
.
thirdPart
;
let
user
=
req
.
query
.
user
;
...
...
@@ -127,6 +142,9 @@ const bindedPage = (req, res) => {
}));
};
/**
* 关联成功页面
*/
const
relateSuccessPage
=
(
req
,
res
)
=>
{
let
sourceType
=
_
.
trim
(
req
.
query
.
sourceType
);
let
sourceInfo
=
sourceType
.
split
(
'_'
);
...
...
@@ -143,6 +161,9 @@ const relateSuccessPage = (req, res) => {
}));
};
/**
* 关联手机号确定页面
*/
const
relateConfirmPage
=
(
req
,
res
)
=>
{
let
thirdPart
=
req
.
query
.
thirdPart
;
let
user
=
req
.
query
.
user
;
...
...
@@ -168,6 +189,9 @@ const relateConfirmPage = (req, res) => {
}));
};
/**
* 检查手机号和第三方绑定情况
*/
const
bindCheck
=
(
req
,
res
,
next
)
=>
{
let
mobile
=
req
.
body
.
mobile
;
let
openId
=
req
.
body
.
openId
;
...
...
@@ -217,6 +241,9 @@ const bindCheck = (req, res, next) => {
}
};
/**
* 发送绑定短信页面
*/
const
sendBindMsg
=
(
req
,
res
,
next
)
=>
{
let
mobile
=
req
.
body
.
mobile
;
let
area
=
req
.
body
.
area
;
...
...
@@ -229,6 +256,10 @@ const sendBindMsg = (req, res, next) => {
}
}).
catch
(
next
);
};
/**
* 验证绑定短信
*/
const
checkBindMsg
=
(
req
,
res
,
next
)
=>
{
let
mobile
=
req
.
body
.
mobile
;
let
area
=
req
.
body
.
area
;
...
...
@@ -243,6 +274,9 @@ const checkBindMsg = (req, res, next) => {
}).
catch
(
next
);
};
/**
* 绑定第三方到手机号
*/
const
bindMobile
=
(
req
,
res
,
next
)
=>
{
let
mobile
=
_
.
trim
(
req
.
body
.
mobile
);
let
area
=
_
.
trim
(
req
.
body
.
area
)
||
'86'
;
...
...
@@ -271,6 +305,9 @@ const bindMobile = (req, res, next) => {
}).
catch
(
next
);
};
/**
* 关联第三方到手机号
*/
const
relateMobile
=
(
req
,
res
,
next
)
=>
{
let
mobile
=
req
.
body
.
mobile
;
let
openId
=
req
.
body
.
openId
;
...
...
@@ -299,16 +336,16 @@ const relateMobile = (req, res, next) => {
};
module
.
exports
=
{
indexPage
,
// 首页
bindSetPwdPage
,
// 设置密码页面
bindConfirmPage
,
// 绑定确认页面
bindSuccessPage
,
// 绑定成功页面
bindedPage
,
// 已绑定相同类型第三方的页面
relateConfirmPage
,
// 关联确认页面
relateSuccessPage
,
// 关联成功页面
bindCheck
,
// 检查第三方和手机号的绑定情况
sendBindMsg
,
// 发送绑定手机验证码
checkBindMsg
,
// 检查手机验证码
bindMobile
,
// 绑定手机号
relateMobile
// 关联手机号
indexPage
,
bindSetPwdPage
,
bindConfirmPage
,
bindSuccessPage
,
bindedPage
,
relateConfirmPage
,
relateSuccessPage
,
bindCheck
,
sendBindMsg
,
checkBindMsg
,
bindMobile
,
relateMobile
};
...
...
apps/passport/controllers/captcha.js
View file @
76995e4
/**
* 图形验证码
* Created by TaoHuang on 2016/6/18.
*/
...
...
@@ -7,6 +8,9 @@
const
captchaService
=
require
(
'../models/captcha-service'
);
const
helpers
=
global
.
yoho
.
helpers
;
/**
* 验证图形验证码中间件,返回JSON
*/
const
requiredAPI
=
(
req
,
res
,
next
)
=>
{
let
captchaToken
=
req
.
body
.
verifyCode
||
''
;
...
...
@@ -20,6 +24,9 @@ const requiredAPI = (req, res, next) => {
}
};
/**
* 验证图形验证码,失败后跳转页面
*/
const
requiredPage
=
(
req
,
res
,
next
)
=>
{
let
captchaToken
=
req
.
body
.
verifyCode
||
''
;
...
...
@@ -30,6 +37,9 @@ const requiredPage = (req, res, next) => {
}
};
/**
* 生成图形验证码
*/
const
generate
=
(
req
,
res
)
=>
{
let
width
=
req
.
query
.
w
||
150
;
let
height
=
req
.
query
.
h
||
50
;
...
...
@@ -45,6 +55,9 @@ const generate = (req, res) => {
res
.
end
(
captcha
.
image
);
};
/**
* 验证图形码
*/
const
requiredPost
=
(
req
,
res
)
=>
{
let
captchaToken
=
req
.
body
.
verifyCode
||
''
;
...
...
@@ -62,8 +75,8 @@ const requiredPost = (req, res) => {
};
module
.
exports
=
{
requiredAPI
,
// 中间件的验证
requiredPage
,
// 跳转页面的验证
generate
,
// 生成验证码
requiredPost
// 端点验证码
requiredAPI
,
requiredPage
,
generate
,
requiredPost
};
...
...
apps/passport/controllers/login.js
View file @
76995e4
...
...
@@ -21,14 +21,16 @@ const LoginService = require('../models/login-service');
const
PassportHelper
=
require
(
'../models/passport-helper'
);
const
loginPageURL
=
`
$
{
config
.
siteUrl
}
/passport/
login
`
;
const
b
lockRedirectFilter
=
/sign|login|passport/
;
const
B
lockRedirectFilter
=
/sign|login|passport/
;
// 第三方登录回调
/**
* 第三方登录回调
*/
const
_doPassportCallback
=
(
req
,
res
,
user
)
=>
{
let
shoppingKey
=
cookie
.
getShoppingKey
(
req
);
let
refer
=
req
.
cookies
.
refer
||
config
.
siteUrl
;
refer
=
!
b
lockRedirectFilter
.
test
(
decodeURI
(
refer
))
?
decodeURI
(
refer
)
:
config
.
siteUrl
;
refer
=
!
B
lockRedirectFilter
.
test
(
decodeURI
(
refer
))
?
decodeURI
(
refer
)
:
config
.
siteUrl
;
if
(
user
.
openId
&&
user
.
nickname
)
{
let
signinByOpenID
=
LoginService
.
signinByOpenIDAsync
(
...
...
@@ -59,6 +61,9 @@ const _doPassportCallback = (req, res, user) => {
};
const
common
=
{
/**
* 获得跳转前的链接
*/
beforeLogin
:
(
req
,
res
,
next
)
=>
{
let
refer
=
req
.
query
.
refer
;
...
...
@@ -70,16 +75,21 @@ const common = {
});
next
();
},
/**
* 登录时,大于3次,需要图形验证码
*/
needCaptcha
:
(
req
,
res
,
next
)
=>
{
let
account
=
req
.
query
.
account
;
let
result
=
{
code
:
400
,
message
:
''
,
data
:
''
};
const
MAX_ALLOW_ERROR_LOGIN
=
3
;
if
(
account
)
{
let
errorLoginKey
=
'account_errorlogin_'
+
account
;
cache
.
get
(
errorLoginKey
).
then
(
errloginTimes
=>
{
errloginTimes
=
parseInt
(
errloginTimes
,
0
)
||
0
;
if
(
!
isNaN
(
errloginTimes
)
&&
errloginTimes
>=
3
)
{
if
(
!
isNaN
(
errloginTimes
)
&&
errloginTimes
>=
MAX_ALLOW_ERROR_LOGIN
)
{
result
.
data
=
{
needCaptcha
:
true
};
}
res
.
json
(
result
);
...
...
@@ -90,6 +100,9 @@ const common = {
}
};
/**
* 本地登录
*/
const
local
=
{
loginPage
:
(
req
,
res
)
=>
{
// 设置登录有效时间30分钟, 防机器刷,cache不稳定,改为cookie
...
...
@@ -141,6 +154,7 @@ const local = {
}
});
}
else
{
// 同步用户数据
co
(
function
*
()
{
let
isRemember
=
req
.
body
.
isRemember
===
'true'
;
let
refer
=
req
.
cookies
.
refer
;
...
...
@@ -153,15 +167,7 @@ const local = {
},
req
,
res
);
}
if
(
refer
)
{
refer
=
decodeURI
(
req
.
cookies
.
refer
);
}
else
{
refer
=
`
$
{
config
.
siteUrl
}
`
;
}
if
(
blockRedirectFilter
.
test
(
refer
))
{
refer
=
`
$
{
config
.
siteUrl
}
`
;
}
refer
=
!
BlockRedirectFilter
.
test
(
decodeURI
(
refer
))
?
decodeURI
(
refer
)
:
config
.
siteUrl
;
yield
LoginService
.
syncUserSession
(
user
.
uid
,
req
,
res
).
then
(()
=>
{
res
.
json
({
...
...
@@ -171,45 +177,29 @@ const local = {
}
});
});
})();
})()
.
catch
(
next
)
;
}
})(
req
,
res
,
next
);
},
logout
:
(
req
,
res
)
=>
{
req
.
session
.
destroy
();
res
.
clearCookie
(
'_UID'
,
{
domain
:
config
.
cookieDomain
});
res
.
clearCookie
(
'_TOKEN'
,
{
domain
:
config
.
cookieDomain
});
res
.
clearCookie
(
'_USERNAME'
,
{
domain
:
config
.
cookieDomain
});
res
.
clearCookie
(
'_SPK'
,
{
domain
:
config
.
cookieDomain
});
res
.
clearCookie
(
'_g'
,
{
domain
:
config
.
cookieDomain
});
res
.
clearCookie
(
'isRemember'
,
{
domain
:
config
.
cookieDomain
});
const
clearAll
=
(
v
,
k
)
=>
{
console
.
log
(
k
);
res
.
clearCookie
(
k
,
{
domain
:
config
.
cookieDomain
});
};
res
.
clearCookie
(
'remem'
,
{
domain
:
config
.
cookieDomain
});
_
.
forOwn
(
req
.
cookies
,
clearAll
);
res
.
redirect
(
config
.
siteUrl
);
}
};
/**
* 微信登录
*/
const
wechat
=
{
login
:
(
req
,
res
,
next
)
=>
{
req
.
session
=
req
.
session
||
{};
...
...
@@ -240,6 +230,9 @@ const wechat = {
}
};
/**
* 新浪登录
*/
const
sina
=
{
login
:
(
req
,
res
,
next
)
=>
{
req
.
session
=
req
.
session
||
{};
...
...
@@ -270,6 +263,9 @@ const sina = {
}
};
/**
* QQ登录
*/
const
qq
=
{
login
:
(
req
,
res
,
next
)
=>
{
req
.
session
=
req
.
session
||
{};
...
...
@@ -301,6 +297,9 @@ const qq = {
}
};
/**
* 支付宝登录
*/
const
alipay
=
{
login
:
(
req
,
res
,
next
)
=>
{
return
passport
.
authenticate
(
'alipay'
)(
req
,
res
,
next
);
...
...
@@ -326,9 +325,9 @@ const alipay = {
module
.
exports
=
{
common
,
local
,
// 本地系统登录
wechat
,
// 微信登录
qq
,
// QQ登录
sina
,
// 新浪登录
alipay
// 支付宝登录
local
,
wechat
,
qq
,
sina
,
alipay
};
...
...
apps/passport/controllers/reg.js
View file @
76995e4
...
...
@@ -262,6 +262,9 @@ let mobileRegister = (req, res, next) => {
})().
catch
(
next
);
};
/**
* 成功页
*/
let
success
=
(
req
,
res
)
=>
{
let
goUrl
=
req
.
query
.
next
||
config
.
siteUrl
;
let
goShoppingUrl
=
req
.
query
.
goShoppingUrl
||
config
.
siteUrl
;
...
...
@@ -279,13 +282,13 @@ let success = (req, res) => {
};
module
.
exports
=
{
checkCode
,
// 检查图形验证码中间件
checkPassword
,
// 检查密码格式
index
,
// 首页
success
,
// 成功页
checkMobile
,
// 检查手机号码是否注册过
picCaptcha
,
// 检查图形验证码
sendBindMsg
,
// 发送注册验证码
msgCaptcha
,
// 验证图形验证码
mobileRegister
// 手机号注册
checkCode
,
checkPassword
,
index
,
success
,
checkMobile
,
picCaptcha
,
sendBindMsg
,
msgCaptcha
,
mobileRegister
};
...
...
apps/passport/models/login-service.js
View file @
76995e4
...
...
@@ -13,6 +13,9 @@ const config = global.yoho.config;
const
api
=
require
(
'./login-api'
);
const
UserService
=
require
(
'./user-service'
);
/**
* 登录,包括微信和其它第三方
*/
const
signinByOpenIDAsync
=
(
nickname
,
openId
,
sourceType
,
shoppingKey
,
unionId
)
=>
{
let
signinFunc
=
{
other
:
api
.
signinByOtherOpenIDAsync
,
...
...
@@ -25,6 +28,9 @@ const signinByOpenIDAsync = (nickname, openId, sourceType, shoppingKey, unionId)
return
signinFunc
[
type
](
nickname
,
openId
,
sourceType
,
shoppingKey
,
unionId
);
};
/**
* 同步用户信息到session
*/
const
syncUserSession
=
(
uid
,
req
,
res
)
=>
{
return
UserService
.
profileAsync
(
uid
).
then
((
userInfo
)
=>
{
let
token
=
sign
.
makeToken
(
uid
);
...
...
@@ -55,6 +61,9 @@ const syncUserSession = (uid, req, res) => {
});
};
/**
* 把个人信息保存在缓存
*/
const
rememberAccountAsync
=
(
accountInfo
,
req
,
res
)
=>
{
let
aWeek
=
(
new
Date
()).
getTime
()
/
1000
+
504000
;
// 504000-一周
let
rememKey
=
md5
(
md5
(
accountInfo
.
account
+
accountInfo
.
password
+
accountInfo
.
area
));
...
...
apps/passport/router.js
View file @
76995e4
...
...
@@ -24,7 +24,7 @@ router.post('/login/user', back.validateInputAPI, back.getUserInfoAPI);
router
.
get
(
'/logout'
,
login
.
local
.
logout
);
// 微信登录
router
.
get
(
'/autosign/wechat'
,
login
.
common
.
beforeLogin
,
login
.
wechat
.
login
);
// 微信登录, 兼容 PHP 的路径
router
.
get
(
'/autosign/wechat'
,
login
.
common
.
beforeLogin
,
login
.
wechat
.
login
);
router
.
get
(
'/login/wechat/callback'
,
login
.
wechat
.
callback
);
// sina登录
...
...
@@ -78,7 +78,7 @@ router.get('/reg/success', reg.success);
* 找回密码首页信息
*/
// 找回密码首页
router
.
get
(
'/back/index'
,
back
.
index
);
router
.
get
(
'/back/index'
,
back
.
index
Page
);
// 实时验证输入是否正确
router
.
post
(
'/back/authcode'
,
...
...
Please
register
or
login
to post a comment