Toggle navigation
Toggle navigation
This project
Loading...
Sign in
fe
/
yohobuy-node
·
Commits
Go to a project
GitLab
Go to group
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
1
Merge Requests
0
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Email Patches
Plain Diff
Browse Files
Authored by
htoooth
9 years ago
Commit
c4b83489b32926a0ab39cba97c8552dc0b08c112
1 parent
dfed0b18
master
...
baidu_ocpcapi
develop
feature/canbuy
feature/channelDataMap
feature/company-profile
feature/contact
feature/detail-link
feature/home-optimize
feature/overseas-edition
feature/payment
feature/pcurl
feature/reduce
feature/refactor_alert
feature/shoppingPay
feature/virtualOrder
hotfix/11
hotfix/cart
hotfix/changeappversion
hotfix/gift
hotfix/im
hotfix/link
hotfix/ocpc
hotfix/shop
hotfix/upload
hotfix/yohobi
release/6.9.0
release/6.9.2
2019-12-5
all
add status
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
96 additions
and
52 deletions
apps/passport/controllers/back.js
apps/passport/controllers/captcha.js
apps/passport/models/auth-helper.js
apps/passport/models/back-api.js
apps/passport/models/back-helper.js
apps/passport/models/back-service.js
apps/passport/models/index-api.js
apps/passport/models/passport-helper.js
apps/passport/models/user-api.js
apps/passport/router.js
apps/passport/controllers/back.js
View file @
c4b8348
...
...
@@ -5,19 +5,17 @@
'use strict'
;
const
library
=
'../../../library'
;
const
helpers
=
require
(
`
$
{
library
}
/helpers`
)
;
const
helpers
=
global
.
yoho
.
helpers
;
const
service
=
require
(
'../models/back-service'
);
const
passportHelper
=
require
(
'../models/passport-helper'
);
const
moment
=
require
(
'moment'
);
// 本地地址 localhost
helpers
.
urlFormat
=
helpers
.
fakeUrlFormat
;
/**
* 找回密码主页面
*/
const
index
Page
=
(
req
,
res
,
next
)
=>
{
const
index
=
(
req
,
res
,
next
)
=>
{
service
.
indexPageDataAsync
()
.
then
(
result
=>
{
res
.
render
(
'back/index'
,
Object
.
assign
({
...
...
@@ -169,7 +167,8 @@ const sendEmailPage = (req, res, next) => {
email
:
req
.
body
.
emailUrl
}
}));
}).
catch
(
next
);
})
.
catch
(
next
);
};
...
...
@@ -361,7 +360,7 @@ const validateMobileInSession = (req, res, next) => {
};
module
.
exports
=
{
index
Page
,
index
,
validateInputAPI
,
validateUserPage
,
getUserInfoAPI
,
...
...
apps/passport/controllers/captcha.js
View file @
c4b8348
...
...
@@ -4,11 +4,10 @@
'use strict'
;
const
library
=
'../../../library'
;
const
captcha
=
require
(
'../models/captcha-service'
);
const
helpers
=
require
(
library
+
'/helpers'
)
;
const
helpers
=
global
.
yoho
.
helpers
;
const
validate
API
=
(
req
,
res
,
next
)
=>
{
const
required
API
=
(
req
,
res
,
next
)
=>
{
let
captchaToken
=
(
req
.
body
.
verifyCode
||
''
).
toLowerCase
();
if
(
captchaToken
===
req
.
session
.
captcha
)
{
...
...
@@ -21,7 +20,7 @@ const validateAPI = (req, res, next) => {
}
};
const
validate
Page
=
(
req
,
res
,
next
)
=>
{
const
required
Page
=
(
req
,
res
,
next
)
=>
{
let
captchaToken
=
(
req
.
body
.
verifyCode
||
''
).
toLowerCase
();
if
(
captchaToken
===
req
.
session
.
captcha
)
{
...
...
@@ -48,8 +47,8 @@ const generatePage = (req, res, next) => {
};
module
.
exports
=
{
validateAPI
,
validatePage
,
requiredAPI
,
requiredPage
,
validate
,
generatePage
};
...
...
apps/passport/models/auth-helper.js
View file @
c4b8348
'use strict'
;
const
sign
=
global
.
yoho
.
sign
;
const
api
=
global
.
yoho
.
API
;
const
api
=
global
.
yoho
.
API
;
class
Auth
{
static
signinByOpenID
(
nickname
,
openId
,
sourceType
,
shoppingKey
)
{
let
param
=
{
nickname
:
nickname
,
openId
:
openId
,
nickname
:
nickname
,
openId
:
openId
,
source_type
:
sourceType
,
method
:
'app.passport.signinByOpenID'
method
:
'app.passport.signinByOpenID'
};
if
(
shoppingKey
)
{
...
...
@@ -22,11 +22,11 @@ class Auth {
static
signinByWechat
(
nickname
,
openId
,
unionId
,
sourceType
,
shoppingKey
)
{
let
param
=
{
nickname
:
nickname
,
openId
:
openId
,
unionId
:
unionId
,
nickname
:
nickname
,
openId
:
openId
,
unionId
:
unionId
,
source_type
:
sourceType
,
method
:
'app.passport.signinByWechat'
method
:
'app.passport.signinByWechat'
};
if
(
shoppingKey
)
{
...
...
@@ -38,7 +38,7 @@ class Auth {
static
profile
(
uid
)
{
let
param
=
{
uid
:
uid
,
uid
:
uid
,
method
:
'app.passport.profile'
};
...
...
@@ -48,22 +48,24 @@ class Auth {
static
syncUserSession
(
uid
,
req
,
res
)
{
return
Auth
.
profile
(
uid
).
then
((
userInfo
)
=>
{
let
token
=
sign
.
makeToken
(
uid
);
let
data
=
userInfo
.
data
;
let
data
=
userInfo
.
data
;
if
(
data
)
{
let
uidCookie
=
`
$
{
data
.
profile_name
}
::
$
{
data
.
uid
}
::
$
{
data
.
vip_info
.
title
}
::
$
{
token
}
`
;
req
.
session
.
_TOKEN
=
token
;
req
.
session
.
_TOKEN
=
token
;
req
.
session
.
_LOGIN_UID
=
uid
;
res
.
cookie
(
'_UID'
,
uidCookie
,
{
domain
:
'yohobuy.com'
});
res
.
cookie
(
'_TOKEN'
,
token
,
{
domain
:
'yohobuy.com'
});
}
});
req
.
session
.
_TOKEN
=
token
;
// esline-disable-line
req
.
session
.
_LOGIN_UID
=
uid
;
// esline-disable-line
res
.
cookie
(
'_TOKEN'
,
token
,
{
domain
:
'yohobuy.com'
});
// esline-disable-line
}).
catch
(
console
.
log
);
}
}
...
...
apps/passport/models/back-api.js
View file @
c4b8348
...
...
@@ -4,11 +4,7 @@
'use strict'
;
var
API
=
require
(
'../../../library/api'
).
API
;
const
library
=
'../../../library'
;
var
api
=
new
API
();
const
api
=
global
.
yoho
.
API
;
const
YOHOBUY_URL
=
'http://www.yohobuy.com/'
;
/**
...
...
apps/passport/models/back-helper.js
0 → 100644
View file @
c4b8348
/**
* Created by TaoHuang on 2016/6/27.
*/
'use strict'
;
/**
* 签名算法参考微信支付加密算法
* 参考链接:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_3
*
*/
const
SALT
=
"_+@#$%^"
;
/**
* 生成加密token
* @param data json
* @returns string
*/
const
makeToken
=
(
data
)
=>
{
let
saltData
=
Object
.
assign
(
data
,
{
key
:
this
.
SALT
});
let
str
=
this
.
_packageObject
(
saltData
);
return
this
.
_encodeMD5
(
str
);
};
const
validateToken
=
(
data
,
token
)
=>
{
let
saltData
=
Object
.
assign
(
data
,
{
key
:
this
.
SALT
});
let
str
=
this
.
_packageObject
(
saltData
);
return
this
.
_encodeMD5
(
str
)
===
token
;
};
const
_packageObject
=
(
data
)
=>
{
return
_
.
keys
(
data
).
sort
().
map
(
key
=>
`
$
{
key
}
=
$
{
data
[
key
]}
`
).
join
(
'&'
).
toUpperCase
();
};
const
_encodeMD5
=
(
str
)
=>
{
const
md5
=
require
(
'md5'
);
return
md5
(
str
).
toUpperCase
();
};
module
.
exports
=
{
makeToken
,
validateToken
};
...
...
apps/passport/models/back-service.js
View file @
c4b8348
...
...
@@ -4,7 +4,7 @@
'use strict'
;
const
helpers
=
require
(
`
$
{
library
}
/helpers`
)
;
const
helpers
=
global
.
yoho
.
helpers
;
const
api
=
require
(
'./back-api'
);
const
Promise
=
require
(
'bluebird'
);
const
co
=
Promise
.
coroutine
;
...
...
@@ -13,7 +13,7 @@ const moment = require('moment');
const
userService
=
require
(
'./user-service'
);
const
passportHelper
=
require
(
'./passport-helper'
);
const
authHelper
=
require
(
'./auth
-helper'
);
const
backHelper
=
require
(
'./back
-helper'
);
const
BACK_LEFT_BANNER_CODE
=
'3bbaf502c447a2ddad60879042e286d8'
;
//找回密码左边的banner
...
...
@@ -90,7 +90,7 @@ const _sendCodeToMobileAsync = (areaCode, userInput) => {
}).
catch
(()
=>
{
return
{};
});
}
}
;
const
sendCodeToUserAsync
=
(
type
,
mobile
,
areaCode
)
=>
{
let
sendTo
=
{
...
...
@@ -149,7 +149,7 @@ const verifyCodyByMobileAsync = (area, mobile, mobileCode) => {
create_time
:
moment
().
unix
()
};
data
.
code
=
new
Buffer
(
auth
Helper
.
makeToken
(
data
)).
toString
(
'base64'
);
data
.
code
=
new
Buffer
(
back
Helper
.
makeToken
(
data
)).
toString
(
'base64'
);
return
{
code
:
200
,
message
:
'验证成功'
,
...
...
@@ -160,7 +160,7 @@ const verifyCodyByMobileAsync = (area, mobile, mobileCode) => {
};
const
authRequest
=
(
data
,
token
)
=>
{
if
(
!
auth
Helper
.
validateToken
(
data
,
token
))
{
if
(
!
back
Helper
.
validateToken
(
data
,
token
))
{
return
{};
}
...
...
apps/passport/models/index-api.js
View file @
c4b8348
...
...
@@ -3,8 +3,7 @@
*/
'use strict'
;
const
ServiceAPI
=
require
(
library
+
"/api"
).
ServiceAPI
;
const
serviceAPI
=
new
ServiceAPI
();
const
serviceAPI
=
global
.
yoho
.
ServiceAPI
;
module
.
exports
.
getResourceAsync
=
(
resourceCode
)
=>
{
return
serviceAPI
.
get
(
'/operations/api/v5/resource/get'
,
{
...
...
apps/passport/models/passport-helper.js
View file @
c4b8348
...
...
@@ -5,7 +5,7 @@
'use strict'
;
const
helpers
=
require
(
library
+
'/helpers'
)
;
const
helpers
=
global
.
yoho
.
helpers
;
const
Promise
=
require
(
'bluebird'
);
const
co
=
Promise
.
coroutine
;
const
_
=
require
(
'lodash'
);
...
...
apps/passport/models/user-api.js
View file @
c4b8348
...
...
@@ -3,11 +3,8 @@
*/
'use strict'
;
const
library
=
'../../../library'
;
const
API
=
require
(
'../../../library/api'
).
API
;
const
_
=
require
(
'lodash'
);
const
api
=
new
API
();
const
_
=
require
(
'lodash'
);
const
api
=
global
.
yoho
.
API
;
const
EMPTY
=
{};
/**
...
...
apps/passport/router.js
View file @
c4b8348
...
...
@@ -22,24 +22,24 @@ router.get('/login/wechat/callback', login.wechat.callback);
* 找回密码首页信息
*/
// 找回密码首页
router
.
get
(
'/back/index
.html'
,
Back
.
indexPage
);
router
.
get
(
'/back/index
'
,
Back
.
index
);
// 实时验证输入是否正确
router
.
post
(
'/back/authcode'
,
Captcha
.
validate
API
,
Captcha
.
required
API
,
Back
.
validateInputAPI
,
Back
.
getUserInfoAPI
);
// 提交按钮邮件API
router
.
post
(
'/back/email'
,
Captcha
.
validate
Page
,
Captcha
.
required
Page
,
Back
.
validateUserPage
,
Back
.
sendCodePage
,
Back
.
saveInSession
);
// 提交按钮手机API
router
.
post
(
'/back/mobile'
,
Captcha
.
validate
Page
,
Captcha
.
required
Page
,
Back
.
validateUserPage
,
Back
.
sendCodePage
,
Back
.
saveInSession
);
...
...
@@ -58,18 +58,18 @@ router.get('/back/sendEmail.html',
// 验证手机短信页面
router
.
get
(
'/back/verification.html'
,
Back
.
validateMobileInSession
,
Captcha
.
validate
Page
,
Captcha
.
required
Page
,
Back
.
verifyCodeByMobilePage
);
// 重新发送短信接口
router
.
post
(
'/back/sendBackMobile'
,
Captcha
.
validate
API
,
Captcha
.
required
API
,
Back
.
validateMobileAPI
,
Back
.
sendBackMobileAPI
);
// 验证手机验证码接口
router
.
post
(
'/back/backMobile'
,
Captcha
.
validate
API
,
Captcha
.
required
API
,
Back
.
verifyCodeByMobileAPI
);
/**
...
...
Please
register
or
login
to post a comment