Authored by 郭成尧

banner-resource

const _ = require('lodash');
const co = Promise.coroutine;
const RegService = require('../models/reg-service');
const LoginNewModel = require('../models/login-new');
class Login {
/**
* 登录页面
*/
loginPage(req, res) {
loginPage(req, res, next) {
// 是否关闭账号登录
let closePassword = _.get(req.app.locals.wap, 'close.passwordLogin', false);
... ... @@ -15,22 +17,29 @@ class Login {
if (req.session.captchaValidCount == null) { // eslint-disable-line
req.session.captchaValidCount = 5;
}
res.render('login/login-new', {
module: 'passport',
page: 'login-new',
width750: true,
captchaShow: req.yoho.captchaShow,
backUrl: 'javascript:history.go(-1)', // eslint-disable-line
smsLoginUrl: '/passport/sms_login',
registerUrl: '/passport/reg/index', // 注册的URL链接
aliLoginUrl: '/passport/login/alipay', // 支付宝快捷登录的URL链接
weiboLoginUrl: '/passport/login/sina', // 微博登录的URL链接
qqLoginUrl: '/passport/login/qq', // 腾讯QQ登录的URL链接
wechatLoginUrl: '/passport/login/wechat', // 微信登录的URL链接
internationalUrl: '/passport/international', // 国际号登录的URL链接
phoneRetriveUrl: '/passport/back/mobile', // 通过手机号找回密码的URL链接
emailRetriveUrl: '/passport/back/email', // 通过邮箱找回密码的URL链接
});
co(function* () {
let bannerData = yield req.ctx(LoginNewModel).getTopBanner();
let banner = _.get(bannerData, 'result.data[0].data.list[0]', '');
res.render('login/login-new', {
module: 'passport',
page: 'login-new',
width750: true,
banner: banner,
captchaShow: req.yoho.captchaShow,
backUrl: 'javascript:history.go(-1)', // eslint-disable-line
smsLoginUrl: '/passport/sms_login',
registerUrl: '/passport/reg/index', // 注册的URL链接
aliLoginUrl: '/passport/login/alipay', // 支付宝快捷登录的URL链接
weiboLoginUrl: '/passport/login/sina', // 微博登录的URL链接
qqLoginUrl: '/passport/login/qq', // 腾讯QQ登录的URL链接
wechatLoginUrl: '/passport/login/wechat', // 微信登录的URL链接
internationalUrl: '/passport/international', // 国际号登录的URL链接
phoneRetriveUrl: '/passport/back/mobile', // 通过手机号找回密码的URL链接
emailRetriveUrl: '/passport/back/email', // 通过邮箱找回密码的URL链接
});
})().catch(next);
}
/**
... ...
const serviceApi = global.yoho.ServiceAPI;
const resources = {
yohobuy: 'b7a510c2ece17d205a8f17b06ee8d2af',
yohomars: '',
yohocoffee: ''
};
class LoginNewModel extends global.yoho.BaseModel {
constructor(ctx) {
super(ctx);
}
/**
* 调用接口获取登录页顶部的 Banner
*/
getTopBanner(which) {
let resource = resources.yohobuy;
if (which) {
resource = resources[which];
}
return serviceApi.get('operations/api/v5/resource/get', {
content_code: resource
});
}
}
module.exports = LoginNewModel;
... ...
<div class="login-new-page">
<div class="banner-box">
<img src="http:////7xnswo.com1.z0.glb.clouddn.com/uploads/2016-12-17/355de419d7a926a460e10dc652625b5e.jpg
?imageView2/1/w/750/h/400" alt="">
<img src="{{banner}}">
<div class="banner-info">
<div class="top-operation-bar">
<button class="close iconfont">&#xe72d;</button>
... ... @@ -13,10 +12,12 @@
</div>
<div class="login-form">
<div class="form-group username">
<label for="username" class="iconfont">&#xe727;</label><input type="text" name="username" placeholder="请输入手机号/邮箱"><i id="clearUsrname" class="iconfont clear">&#xe72a;</i>
<label for="username" class="iconfont">&#xe727;</label><input type="text" name="username" placeholder="请输入手机号/邮箱">
<i id="clearUsrname" class="iconfont clear">&#xe72a;</i>
</div>
<div class="form-group password">
<label for="password" class="iconfont">&#xe723;</label><input type="password" name="password" placeholder="请输入密码"><span id="passwordEyeIcon" class="eye"><i class="iconfont eye-close">&#xe716;</i><i class="iconfont eye-open hide">&#xe714;</i></span>
<label for="password" class="iconfont">&#xe723;</label><input type="password" name="password" placeholder="请输入密码">
<span id="passwordEyeIcon" class="eye"><i class="iconfont eye-close">&#xe716;</i><i class="iconfont eye-open hide">&#xe714;</i></span>
</div>
<div class="other-info">
<a href="{{internationalUrl}}">海外账号</a>
... ... @@ -35,9 +36,9 @@
</div>
<div class="third-logo-box">
<a href="{{wechatLoginUrl}}" class="iconfont">&#xe728;</a>
<a href="{{aliLoginUrl}}" class="iconfont">&#xe72c;</a>
<a href="{{weiboLoginUrl}}" class="iconfont">&#xe729;</a>
<a href="{{qqLoginUrl}}" class="iconfont">&#xe726;</a>
<a href="{{aliLoginUrl}}" class="iconfont">&#xe72c;</a>
<a href="{{weiboLoginUrl}}" class="iconfont">&#xe729;</a>
<a href="{{qqLoginUrl}}" class="iconfont">&#xe726;</a>
</div>
</div>
<div class="get-password-box hide">
... ... @@ -46,4 +47,4 @@
<a href="{{phoneRetriveUrl}}" class="by-mobile">手机找回</a>
</div>
</div>
</div>
</div>
\ No newline at end of file
... ...