Authored by 杨延青

Merge branch 'feature/wechatLogin' into 'release/0110'

wechat quick login



See merge request !1655
@@ -182,6 +182,19 @@ const common = { @@ -182,6 +182,19 @@ const common = {
182 } 182 }
183 next(); 183 next();
184 }, 184 },
  185 + wechatQuickLoginCheck: (req, res, next) => {
  186 + let refer = req.query.refer;
  187 +
  188 + // 仅yoluck业务展示快捷登陆引导页
  189 + if (req.yoho.isWechat && refer && refer.indexOf('activity/yoluck') > 0) {
  190 + _.assign(res.locals, {
  191 + wechatQuickLoginRefer: encodeURIComponent(refer),
  192 + useWechatQuickLogin: true
  193 + });
  194 + }
  195 +
  196 + next();
  197 + },
185 clearCookie: (req, res, next) => { 198 clearCookie: (req, res, next) => {
186 res.clearCookie('_SESSION_KEY', { 199 res.clearCookie('_SESSION_KEY', {
187 domain: 'yohobuy.com' 200 domain: 'yohobuy.com'
@@ -147,6 +147,7 @@ const loginNew = new LoginNew(); @@ -147,6 +147,7 @@ const loginNew = new LoginNew();
147 147
148 router.get('/passport/login', 148 router.get('/passport/login',
149 login.common.clearCookie, 149 login.common.clearCookie,
  150 + login.common.wechatQuickLoginCheck,
150 validateCode.load, 151 validateCode.load,
151 login.common.beforeLogin, 152 login.common.beforeLogin,
152 loginNew.loginPage); // 普通登录 153 loginNew.loginPage); // 普通登录
@@ -164,6 +165,7 @@ router.post('/passport/register-new', @@ -164,6 +165,7 @@ router.post('/passport/register-new',
164 reg.register); // 注册请求 165 reg.register); // 注册请求
165 router.get('/passport/sms_login', 166 router.get('/passport/sms_login',
166 login.common.clearCookie, 167 login.common.clearCookie,
  168 + login.common.wechatQuickLoginCheck,
167 validateCode.load, 169 validateCode.load,
168 smsLogin.smsLoginPage); // 短信验证码登录 170 smsLogin.smsLoginPage); // 短信验证码登录
169 router.post('/passport/sms_login/step1_check', validateCode.check, smsLogin.indexCheck); 171 router.post('/passport/sms_login/step1_check', validateCode.check, smsLogin.indexCheck);
@@ -174,6 +176,7 @@ router.get('/signin.html', @@ -174,6 +176,7 @@ router.get('/signin.html',
174 login.common.thirdLogin, 176 login.common.thirdLogin,
175 177
176 // login.common.weixinCheck, 178 // login.common.weixinCheck,
  179 + login.common.wechatQuickLoginCheck,
177 validateCode.load, 180 validateCode.load,
178 login.common.beforeLogin, 181 login.common.beforeLogin,
179 smsLogin.smsLoginPage); // 短信验证码登录 182 smsLogin.smsLoginPage); // 短信验证码登录
@@ -181,6 +184,7 @@ router.get('/signin.html', @@ -181,6 +184,7 @@ router.get('/signin.html',
181 router.get('/signin.htm', 184 router.get('/signin.htm',
182 login.common.clearCookie, 185 login.common.clearCookie,
183 login.common.thirdLogin, 186 login.common.thirdLogin,
  187 + login.common.wechatQuickLoginCheck,
184 validateCode.load, 188 validateCode.load,
185 login.common.beforeLogin, 189 login.common.beforeLogin,
186 smsLogin.smsLoginPage); // 短信验证码登录 190 smsLogin.smsLoginPage); // 短信验证码登录
@@ -26,7 +26,7 @@ @@ -26,7 +26,7 @@
26 <a id="getPswrdBtn" href="javascript:void(0);">忘记密码?</a> 26 <a id="getPswrdBtn" href="javascript:void(0);">忘记密码?</a>
27 </div> 27 </div>
28 </form> 28 </form>
29 - {{!-- <div class="third-party-login"> 29 +{{!-- <div class="third-party-login">
30 <div class="tip-box"> 30 <div class="tip-box">
31 <span class="left-line"></span> 31 <span class="left-line"></span>
32 <span class="tip">使用第三方登录</span> 32 <span class="tip">使用第三方登录</span>
@@ -48,4 +48,5 @@ @@ -48,4 +48,5 @@
48 <a class="by-mobile" onclick="location.href='{{phoneRetriveUrl}}'">手机找回</a> 48 <a class="by-mobile" onclick="location.href='{{phoneRetriveUrl}}'">手机找回</a>
49 </div> 49 </div>
50 </div> 50 </div>
  51 + {{> passport/wechat-quick-login}}
51 </div> 52 </div>
@@ -35,7 +35,7 @@ @@ -35,7 +35,7 @@
35 <a id="getPswrdBtn" href="javascript:void(0);">忘记密码?</a> 35 <a id="getPswrdBtn" href="javascript:void(0);">忘记密码?</a>
36 </div> 36 </div>
37 </form> 37 </form>
38 - {{!-- <div class="third-party-login"> 38 +{{!-- <div class="third-party-login">
39 <div class="tip-box"> 39 <div class="tip-box">
40 <span class="left-line"></span> 40 <span class="left-line"></span>
41 <span class="tip">使用第三方登录</span> 41 <span class="tip">使用第三方登录</span>
@@ -56,4 +56,5 @@ @@ -56,4 +56,5 @@
56 <a class="by-mobile" onclick="location.href='{{phoneRetriveUrl}}'">手机找回</a> 56 <a class="by-mobile" onclick="location.href='{{phoneRetriveUrl}}'">手机找回</a>
57 </div> 57 </div>
58 </div> 58 </div>
  59 + {{> passport/wechat-quick-login}}
59 </div> 60 </div>
  1 +{{#if @root.useWechatQuickLogin}}
  2 + <div class="wechat-quick-wrap">
  3 + <div class="quick-login-main">
  4 + <div class="quick-login-logo"></div>
  5 + <div class="local-login-btn quick-btn">使用有货账号登录</div>
  6 + <div class="quick-login-btn quick-btn">
  7 + <a href="/passport/login/wechat?refer={{@root.wechatQuickLoginRefer}}">微信快捷登录</a>
  8 + </div>
  9 + </div>
  10 + </div>
  11 +{{/if}}
@@ -14,6 +14,8 @@ const validate = new Validate($captcha, { @@ -14,6 +14,8 @@ const validate = new Validate($captcha, {
14 } 14 }
15 }); 15 });
16 16
  17 +require('./wechat-quick-login');
  18 +
17 class Login { 19 class Login {
18 constructor() { 20 constructor() {
19 this.view = { 21 this.view = {
  1 +const $ = require('yoho-jquery');
  2 +
  3 +(function() {
  4 + let $quickWrap = $('.wechat-quick-wrap');
  5 +
  6 + if (!$quickWrap.length) {
  7 + return;
  8 + }
  9 +
  10 + $quickWrap.on('click', '.local-login-btn', function() {
  11 + $quickWrap.hide();
  12 + });
  13 +}());
@@ -13,6 +13,8 @@ const validate = new Validate($captcha, { @@ -13,6 +13,8 @@ const validate = new Validate($captcha, {
13 } 13 }
14 }); 14 });
15 15
  16 +require('../login/wechat-quick-login');
  17 +
16 class SmsLoginNew extends Page { 18 class SmsLoginNew extends Page {
17 constructor() { 19 constructor() {
18 super(); 20 super();
1 @import "~scss/layout/img-check"; 1 @import "~scss/layout/img-check";
  2 +@import "wechat-quick-login";
2 3
3 @mixin banner-box-elem { 4 @mixin banner-box-elem {
4 position: absolute; 5 position: absolute;
1 @import "~scss/layout/img-check"; 1 @import "~scss/layout/img-check";
  2 +@import "wechat-quick-login";
2 3
3 @mixin banner-box-elem { 4 @mixin banner-box-elem {
4 position: absolute; 5 position: absolute;
  1 +.wechat-quick-wrap {
  2 + position: fixed;
  3 + top: 0;
  4 + bottom: 0;
  5 + left: 0;
  6 + right: 0;
  7 + background: #fff;
  8 + z-index: 9999;
  9 + display: flex;
  10 + justify-content: center;
  11 + align-items: center;
  12 +
  13 + .quick-login-main {
  14 + width: 100%;
  15 + margin-top: -50px;
  16 + }
  17 +
  18 + .quick-login-logo {
  19 + width: 372px;
  20 + height: 374px;
  21 + background-image: url("img/passport/quick-login-logo.png");
  22 + background-size: 100% 100%;
  23 + margin: auto;
  24 + margin-bottom: 180px;
  25 + }
  26 +
  27 + .quick-btn {
  28 + width: 68%;
  29 + height: 80px;
  30 + color: #fff;
  31 + line-height: 82px;
  32 + background-color: #444;
  33 + margin: 30px auto;
  34 + text-align: center;
  35 + border-radius: 40px;
  36 + overflow: hidden;
  37 +
  38 + a {
  39 + width: 100%;
  40 + color: #fff;
  41 + display: block;
  42 + }
  43 + }
  44 +}