Merge branch 'feature/session' into 'release/5.5.1'
Feature/session See merge request !405
Showing
15 changed files
with
239 additions
and
107 deletions
@@ -13,7 +13,25 @@ const headerModel = require('../../../doraemon/models/header'); // 头部model | @@ -13,7 +13,25 @@ const headerModel = require('../../../doraemon/models/header'); // 头部model | ||
13 | const _ = require('lodash'); | 13 | const _ = require('lodash'); |
14 | const urlP = require('url'); | 14 | const urlP = require('url'); |
15 | 15 | ||
16 | - | 16 | +/** |
17 | + * 处理旧版本的app兼容新接口 | ||
18 | + * @param {*} url url | ||
19 | + * @param {*} data data | ||
20 | + * @param {*} param param | ||
21 | + * @param {*} method method | ||
22 | + */ | ||
23 | +const middleApi = (url, data, param, method) => { | ||
24 | + try { | ||
25 | + let promise = method === 'post' ? api.post : api.get; | ||
26 | + | ||
27 | + if (!_.get(data, 'uid.sessionKey', '') && data.uid) { | ||
28 | + data.app_version = '5.5.0'; | ||
29 | + } | ||
30 | + return promise.call(api, url, data, param); | ||
31 | + } catch (err) { | ||
32 | + return null; | ||
33 | + } | ||
34 | +}; | ||
17 | const getResource = code => { | 35 | const getResource = code => { |
18 | return serviceApi.get('operations/api/v5/resource/get', { | 36 | return serviceApi.get('operations/api/v5/resource/get', { |
19 | content_code: code, | 37 | content_code: code, |
@@ -21,43 +39,43 @@ const getResource = code => { | @@ -21,43 +39,43 @@ const getResource = code => { | ||
21 | }); | 39 | }); |
22 | }; | 40 | }; |
23 | const vip = (limit) => { | 41 | const vip = (limit) => { |
24 | - return api.get('', { | 42 | + return middleApi('', { |
25 | method: 'app.student.vip', | 43 | method: 'app.student.vip', |
26 | limit: limit || 60 | 44 | limit: limit || 60 |
27 | }); | 45 | }); |
28 | }; | 46 | }; |
29 | const verifiedStudentTotal = () => { | 47 | const verifiedStudentTotal = () => { |
30 | - return api.get('', { | 48 | + return middleApi('', { |
31 | method: 'app.student.verifiedStudentTotal' | 49 | method: 'app.student.verifiedStudentTotal' |
32 | }); | 50 | }); |
33 | }; | 51 | }; |
34 | const getProvince = () => { | 52 | const getProvince = () => { |
35 | - return api.get('', { | 53 | + return middleApi('', { |
36 | method: 'app.studentMarket.getAddressList' | 54 | method: 'app.studentMarket.getAddressList' |
37 | }, { | 55 | }, { |
38 | cache: true | 56 | cache: true |
39 | }); | 57 | }); |
40 | }; | 58 | }; |
41 | const getSchool = code => { | 59 | const getSchool = code => { |
42 | - return api.get('', { | 60 | + return middleApi('', { |
43 | method: 'app.studentMarket.getSchoolInfoList', | 61 | method: 'app.studentMarket.getSchoolInfoList', |
44 | areaCode: code | 62 | areaCode: code |
45 | }); | 63 | }); |
46 | }; | 64 | }; |
47 | const getEducationLevelList = () => { | 65 | const getEducationLevelList = () => { |
48 | - return api.get('', { | 66 | + return middleApi('', { |
49 | method: 'app.studentMarket.getEducationLevelList' | 67 | method: 'app.studentMarket.getEducationLevelList' |
50 | }); | 68 | }); |
51 | }; | 69 | }; |
52 | const userAcquireStatus = (uid, couponIds) => { | 70 | const userAcquireStatus = (uid, couponIds) => { |
53 | - return api.get('', { | 71 | + return middleApi('', { |
54 | method: 'app.coupons.userAcquireStatus', | 72 | method: 'app.coupons.userAcquireStatus', |
55 | uid: uid, | 73 | uid: uid, |
56 | couponIds: couponIds | 74 | couponIds: couponIds |
57 | }); | 75 | }); |
58 | }; | 76 | }; |
59 | const verifyStudent = (uid, collegename, educationdegree, enrollmentyear) => { | 77 | const verifyStudent = (uid, collegename, educationdegree, enrollmentyear) => { |
60 | - return api.get('', { | 78 | + return middleApi('', { |
61 | method: 'app.student.verifyStudent', | 79 | method: 'app.student.verifyStudent', |
62 | uid: uid, | 80 | uid: uid, |
63 | client_type: 'h5', | 81 | client_type: 'h5', |
@@ -67,7 +85,7 @@ const verifyStudent = (uid, collegename, educationdegree, enrollmentyear) => { | @@ -67,7 +85,7 @@ const verifyStudent = (uid, collegename, educationdegree, enrollmentyear) => { | ||
67 | }); | 85 | }); |
68 | }; | 86 | }; |
69 | const verifyIdentity = (uid, certno, name, pageurl) => { | 87 | const verifyIdentity = (uid, certno, name, pageurl) => { |
70 | - return api.get('', { | 88 | + return middleApi('', { |
71 | method: 'app.student.verifyIdentity', | 89 | method: 'app.student.verifyIdentity', |
72 | uid: uid, | 90 | uid: uid, |
73 | client_type: 'h5', | 91 | client_type: 'h5', |
@@ -83,7 +101,7 @@ const getUser = (uid) => { | @@ -83,7 +101,7 @@ const getUser = (uid) => { | ||
83 | data: {} | 101 | data: {} |
84 | }); | 102 | }); |
85 | } | 103 | } |
86 | - return api.get('', { | 104 | + return middleApi('', { |
87 | method: 'app.passport.profile', | 105 | method: 'app.passport.profile', |
88 | uid: uid | 106 | uid: uid |
89 | }, { | 107 | }, { |
@@ -100,6 +118,12 @@ const getPlatForm = (req) => { | @@ -100,6 +118,12 @@ const getPlatForm = (req) => { | ||
100 | let arrs = []; | 118 | let arrs = []; |
101 | let isNewVersion = false; | 119 | let isNewVersion = false; |
102 | const isProduction = process.env.NODE_ENV === 'production'; | 120 | const isProduction = process.env.NODE_ENV === 'production'; |
121 | + let sessionKey = req.query.session_key || req.session.SESSION_KEY; | ||
122 | + let uid; | ||
123 | + | ||
124 | + if (sessionKey && !req.session.SESSION_KEY) { | ||
125 | + req.session.SESSION_KEY = sessionKey; | ||
126 | + } | ||
103 | 127 | ||
104 | // console.log(req.get('User-Agent')); | 128 | // console.log(req.get('User-Agent')); |
105 | // console.log(req.query.uid); | 129 | // console.log(req.query.uid); |
@@ -137,8 +161,16 @@ const getPlatForm = (req) => { | @@ -137,8 +161,16 @@ const getPlatForm = (req) => { | ||
137 | if (isProduction) { | 161 | if (isProduction) { |
138 | yoho.http = 'https:'; | 162 | yoho.http = 'https:'; |
139 | } | 163 | } |
140 | - yoho.uid = uids && uids.length === 2 ? uids[1] : ''; // 8041246 | ||
141 | - yoho.uid = req.user.uid || yoho.uid || req.query.uid || ''; | 164 | + uid = uids && uids.length === 2 ? uids[1] : ''; // 8041246 |
165 | + uid = req.user.uid && req.user.uid.toString() || uid || req.query.uid || req.cookies.studentUID || ''; | ||
166 | + if (uid) { | ||
167 | + yoho.uid = { | ||
168 | + toString: () => { | ||
169 | + return uid; | ||
170 | + }, | ||
171 | + sessionKey: sessionKey | ||
172 | + }; | ||
173 | + } | ||
142 | yoho.isLogin = yoho.uid ? true : false; | 174 | yoho.isLogin = yoho.uid ? true : false; |
143 | return co(function*() { | 175 | return co(function*() { |
144 | let data = yield getUser(yoho.uid); | 176 | let data = yield getUser(yoho.uid); |
@@ -312,6 +344,9 @@ exports.register = (req, res, next) => { | @@ -312,6 +344,9 @@ exports.register = (req, res, next) => { | ||
312 | 344 | ||
313 | res.redirect(helpers.urlFormat(refer)); | 345 | res.redirect(helpers.urlFormat(refer)); |
314 | } else { | 346 | } else { |
347 | + if (req.query.uid) { | ||
348 | + res.cookie('studentUID', req.query.uid); | ||
349 | + } | ||
315 | res.render('register', { | 350 | res.render('register', { |
316 | title: '认证信息填写', | 351 | title: '认证信息填写', |
317 | isApp: req.__USER__.isApp, | 352 | isApp: req.__USER__.isApp, |
@@ -363,7 +398,6 @@ exports.verifyidentity = (req, res, next) => { | @@ -363,7 +398,6 @@ exports.verifyidentity = (req, res, next) => { | ||
363 | shareId: shareId | 398 | shareId: shareId |
364 | 399 | ||
365 | }) + '&'; | 400 | }) + '&'; |
366 | - | ||
367 | verifyIdentity(uid, params.cert_no, params.name, url).then((result) => { | 401 | verifyIdentity(uid, params.cert_no, params.name, url).then((result) => { |
368 | res.json(result); | 402 | res.json(result); |
369 | }).catch(next); | 403 | }).catch(next); |
@@ -371,7 +405,7 @@ exports.verifyidentity = (req, res, next) => { | @@ -371,7 +405,7 @@ exports.verifyidentity = (req, res, next) => { | ||
371 | 405 | ||
372 | // 添加分享成功记录 | 406 | // 添加分享成功记录 |
373 | const addStudent = (ownuid, shareId) => { | 407 | const addStudent = (ownuid, shareId) => { |
374 | - return api.get('', { | 408 | + return middleApi('', { |
375 | method: 'app.student.addShare', | 409 | method: 'app.student.addShare', |
376 | uid: ownuid, | 410 | uid: ownuid, |
377 | shareUid: shareId | 411 | shareUid: shareId |
@@ -29,7 +29,7 @@ const _banksInit = () => { | @@ -29,7 +29,7 @@ const _banksInit = () => { | ||
29 | // 还款列表公共处理块 | 29 | // 还款列表公共处理块 |
30 | const _repaymentList = (req, res, opt, params) => { | 30 | const _repaymentList = (req, res, opt, params) => { |
31 | params = _.assign({ | 31 | params = _.assign({ |
32 | - uid: req.cookies.installmentUid | 32 | + uid: req.user.uid |
33 | }, params); | 33 | }, params); |
34 | 34 | ||
35 | installmentModel.getQueryAmtList(params).then((result) => { | 35 | installmentModel.getQueryAmtList(params).then((result) => { |
@@ -49,7 +49,8 @@ const _repaymentList = (req, res, opt, params) => { | @@ -49,7 +49,8 @@ const _repaymentList = (req, res, opt, params) => { | ||
49 | 49 | ||
50 | // 开通分期首页 | 50 | // 开通分期首页 |
51 | const index = (req, res) => { | 51 | const index = (req, res) => { |
52 | - let uid = req.query.uid; | 52 | + console.log(req.query.session_key); |
53 | + let uid = req.user.uid; | ||
53 | 54 | ||
54 | Promise.all([ | 55 | Promise.all([ |
55 | installmentModel.getStauts(uid), | 56 | installmentModel.getStauts(uid), |
@@ -124,7 +125,7 @@ const index = (req, res) => { | @@ -124,7 +125,7 @@ const index = (req, res) => { | ||
124 | if (!result) { | 125 | if (!result) { |
125 | return; | 126 | return; |
126 | } | 127 | } |
127 | - res.cookie('installmentUid', req.query.uid); | 128 | + res.cookie('installmentUid', uid.toString()); |
128 | res.cookie('yhChannel', req.query.yh_channel); | 129 | res.cookie('yhChannel', req.query.yh_channel); |
129 | res.cookie('udid', req.query.udid); | 130 | res.cookie('udid', req.query.udid); |
130 | res.cookie('clientType', req.query.client_type); | 131 | res.cookie('clientType', req.query.client_type); |
@@ -172,7 +173,7 @@ const getInstallmentGoods = (req, res) => { | @@ -172,7 +173,7 @@ const getInstallmentGoods = (req, res) => { | ||
172 | // 开通结果显示 | 173 | // 开通结果显示 |
173 | const review = (req, res) => { | 174 | const review = (req, res) => { |
174 | let openStatus = req.query.status || false; | 175 | let openStatus = req.query.status || false; |
175 | - let uid = req.query.uid; | 176 | + let uid = req.user.uid; |
176 | let data = { | 177 | let data = { |
177 | module: 'home', | 178 | module: 'home', |
178 | page: 'installment', | 179 | page: 'installment', |
@@ -302,7 +303,7 @@ const repayRecordPage = (req, res) => { | @@ -302,7 +303,7 @@ const repayRecordPage = (req, res) => { | ||
302 | // ajax 请求还款记录 | 303 | // ajax 请求还款记录 |
303 | const getRepayRecord = (req, res) => { | 304 | const getRepayRecord = (req, res) => { |
304 | let params = _.assign({ | 305 | let params = _.assign({ |
305 | - uid: req.cookies.installmentUid, | 306 | + uid: req.user.uid, |
306 | pageNo: req.query.page || 1 | 307 | pageNo: req.query.page || 1 |
307 | }); | 308 | }); |
308 | 309 | ||
@@ -328,7 +329,7 @@ const account = (req, res) => { | @@ -328,7 +329,7 @@ const account = (req, res) => { | ||
328 | var url = req.yoho.isApp || req.cookies.appVersion ? '/home/installment/account' : '/home/installment/bank-card'; | 329 | var url = req.yoho.isApp || req.cookies.appVersion ? '/home/installment/account' : '/home/installment/bank-card'; |
329 | 330 | ||
330 | if (req.cookies.appVersion) { | 331 | if (req.cookies.appVersion) { |
331 | - var versions = req.cookies.appVersion.split('.'); | 332 | + let versions = req.cookies.appVersion.split('.'); |
332 | 333 | ||
333 | if (versions.length >= 2) { | 334 | if (versions.length >= 2) { |
334 | if (versions[0] < 5 || (parseInt(versions[0], 10) === 5 && versions[1] <= 1)) { | 335 | if (versions[0] < 5 || (parseInt(versions[0], 10) === 5 && versions[1] <= 1)) { |
@@ -367,7 +368,7 @@ const bindCard = (req, res) => { | @@ -367,7 +368,7 @@ const bindCard = (req, res) => { | ||
367 | // 添加新银行卡请求 | 368 | // 添加新银行卡请求 |
368 | const postAccount = (req, res) => { | 369 | const postAccount = (req, res) => { |
369 | var params = _.assign({ | 370 | var params = _.assign({ |
370 | - uid: req.cookies.installmentUid | 371 | + uid: req.user.uid |
371 | }, req.query); | 372 | }, req.query); |
372 | 373 | ||
373 | installmentModel.postAccount(params).then((result) => { | 374 | installmentModel.postAccount(params).then((result) => { |
@@ -410,7 +411,7 @@ function getRealIP(req) { | @@ -410,7 +411,7 @@ function getRealIP(req) { | ||
410 | const activateService = (req, res) => { | 411 | const activateService = (req, res) => { |
411 | 412 | ||
412 | installmentModel.activateService({ | 413 | installmentModel.activateService({ |
413 | - uid: req.cookies.installmentUid, | 414 | + uid: req.user.uid, |
414 | userName: req.body.userName, | 415 | userName: req.body.userName, |
415 | identityCardNo: req.body.identityCardNo, | 416 | identityCardNo: req.body.identityCardNo, |
416 | cardNo: req.body.cardNo, | 417 | cardNo: req.body.cardNo, |
@@ -434,7 +435,7 @@ const activateService = (req, res) => { | @@ -434,7 +435,7 @@ const activateService = (req, res) => { | ||
434 | const getBankInfo = (req, res) => { | 435 | const getBankInfo = (req, res) => { |
435 | installmentModel.getBankInfo({ | 436 | installmentModel.getBankInfo({ |
436 | cardNo: req.query.cardNo, | 437 | cardNo: req.query.cardNo, |
437 | - uid: req.cookies.installmentUid | 438 | + uid: req.user.uid |
438 | }).then((result)=> { | 439 | }).then((result)=> { |
439 | res.json(result); | 440 | res.json(result); |
440 | }).catch(() => { | 441 | }).catch(() => { |
@@ -445,7 +446,7 @@ const getBankInfo = (req, res) => { | @@ -445,7 +446,7 @@ const getBankInfo = (req, res) => { | ||
445 | }; | 446 | }; |
446 | 447 | ||
447 | const verifyCode = (req, res) => { | 448 | const verifyCode = (req, res) => { |
448 | - installmentModel.sendVerifyCode(req.cookies.installmentUid || 1, req.query.mobile).then((result)=> { | 449 | + installmentModel.sendVerifyCode(req.user.uid || 1, req.query.mobile).then((result)=> { |
449 | res.json(result); | 450 | res.json(result); |
450 | }).catch(() => { | 451 | }).catch(() => { |
451 | _serverCrash(res, { | 452 | _serverCrash(res, { |
@@ -467,7 +468,7 @@ const orderIndex = (req, res) => { | @@ -467,7 +468,7 @@ const orderIndex = (req, res) => { | ||
467 | 468 | ||
468 | const orderList = (req, res) => { | 469 | const orderList = (req, res) => { |
469 | const params = { | 470 | const params = { |
470 | - uid: req.cookies.installmentUid, | 471 | + uid: req.user.uid, |
471 | type: req.query.type || 1, | 472 | type: req.query.type || 1, |
472 | page: req.query.page || 1, | 473 | page: req.query.page || 1, |
473 | limit: req.query.limit || 10 | 474 | limit: req.query.limit || 10 |
@@ -503,7 +504,7 @@ const orderList = (req, res) => { | @@ -503,7 +504,7 @@ const orderList = (req, res) => { | ||
503 | 504 | ||
504 | const orderDetail = (req, res) => { | 505 | const orderDetail = (req, res) => { |
505 | const params = { | 506 | const params = { |
506 | - uid: req.cookies.installmentUid, | 507 | + uid: req.user.uid, |
507 | orderCode: req.params.id | 508 | orderCode: req.params.id |
508 | }; | 509 | }; |
509 | 510 | ||
@@ -597,7 +598,7 @@ const orderDetail = (req, res) => { | @@ -597,7 +598,7 @@ const orderDetail = (req, res) => { | ||
597 | // 还款详情 | 598 | // 还款详情 |
598 | const repayDetail = (req, res) => { | 599 | const repayDetail = (req, res) => { |
599 | let params = { | 600 | let params = { |
600 | - uid: req.cookies.installmentUid, | 601 | + uid: req.user.uid, |
601 | rePayNo: req.query.id || '', | 602 | rePayNo: req.query.id || '', |
602 | pageNo: 1 | 603 | pageNo: 1 |
603 | }; | 604 | }; |
@@ -643,7 +644,7 @@ const totalAmount = (req, res) => { | @@ -643,7 +644,7 @@ const totalAmount = (req, res) => { | ||
643 | 644 | ||
644 | // 检查验证码 | 645 | // 检查验证码 |
645 | const checkVerifyCode = (req, res) => { | 646 | const checkVerifyCode = (req, res) => { |
646 | - installmentModel.checkVerifyCode(req.cookies.installmentUid, req.query.mobile, req.query.code).then((result) => { | 647 | + installmentModel.checkVerifyCode(req.user.uid, req.query.mobile, req.query.code).then((result) => { |
647 | res.json(result); | 648 | res.json(result); |
648 | }).catch(() => { | 649 | }).catch(() => { |
649 | _serverCrash(res, { | 650 | _serverCrash(res, { |
@@ -659,7 +660,7 @@ const serverCrash = (req, res) => { | @@ -659,7 +660,7 @@ const serverCrash = (req, res) => { | ||
659 | 660 | ||
660 | // 银行卡列表 | 661 | // 银行卡列表 |
661 | const bankCard = (req, res) => { | 662 | const bankCard = (req, res) => { |
662 | - let uid = req.cookies.installmentUid; | 663 | + let uid = req.user.uid; |
663 | 664 | ||
664 | installmentModel.getBankCards(uid).then((result) => { | 665 | installmentModel.getBankCards(uid).then((result) => { |
665 | res.render('installment/bank-card', { | 666 | res.render('installment/bank-card', { |
@@ -680,7 +681,7 @@ const bankCard = (req, res) => { | @@ -680,7 +681,7 @@ const bankCard = (req, res) => { | ||
680 | 681 | ||
681 | // 银行卡详情 | 682 | // 银行卡详情 |
682 | const cardDetail = (req, res) => { | 683 | const cardDetail = (req, res) => { |
683 | - let uid = req.cookies.installmentUid; | 684 | + let uid = req.user.uid; |
684 | let cardIdNo = req.query.cardIdNo; | 685 | let cardIdNo = req.query.cardIdNo; |
685 | 686 | ||
686 | installmentModel.getCardDetail(uid, cardIdNo).then((result) => { | 687 | installmentModel.getCardDetail(uid, cardIdNo).then((result) => { |
@@ -703,7 +704,7 @@ const cardDetail = (req, res) => { | @@ -703,7 +704,7 @@ const cardDetail = (req, res) => { | ||
703 | // 删除绑定 | 704 | // 删除绑定 |
704 | const delBankCard = (req, res) => { | 705 | const delBankCard = (req, res) => { |
705 | let params = { | 706 | let params = { |
706 | - uid: req.cookies.installmentUid, | 707 | + uid: req.user.uid, |
707 | cardIdNo: req.query.cardIdNo | 708 | cardIdNo: req.query.cardIdNo |
708 | }; | 709 | }; |
709 | 710 | ||
@@ -720,7 +721,7 @@ const delBankCard = (req, res) => { | @@ -720,7 +721,7 @@ const delBankCard = (req, res) => { | ||
720 | // 切换银行卡绑定 | 721 | // 切换银行卡绑定 |
721 | const setMasterCard = (req, res) => { | 722 | const setMasterCard = (req, res) => { |
722 | let params = { | 723 | let params = { |
723 | - uid: req.cookies.installmentUid, | 724 | + uid: req.user.uid, |
724 | cardIdNo: req.query.cardIdNo | 725 | cardIdNo: req.query.cardIdNo |
725 | }; | 726 | }; |
726 | 727 | ||
@@ -734,6 +735,22 @@ const setMasterCard = (req, res) => { | @@ -734,6 +735,22 @@ const setMasterCard = (req, res) => { | ||
734 | }); | 735 | }); |
735 | }; | 736 | }; |
736 | 737 | ||
738 | +const sessionKeyAuth = (req, res, next) => { | ||
739 | + let uid = req.query.uid || req.cookies.installmentUid; | ||
740 | + let sessionKey = req.query.session_key || req.session.SESSION_KEY; | ||
741 | + | ||
742 | + if (sessionKey && !req.session.SESSION_KEY) { | ||
743 | + req.session.SESSION_KEY = uid.sessionKey; | ||
744 | + } | ||
745 | + req.user.uid = { | ||
746 | + toString: () => { | ||
747 | + return uid; | ||
748 | + }, | ||
749 | + sessionKey: sessionKey | ||
750 | + }; | ||
751 | + next(); | ||
752 | +}; | ||
753 | + | ||
737 | module.exports = { | 754 | module.exports = { |
738 | index, | 755 | index, |
739 | review, | 756 | review, |
@@ -763,5 +780,6 @@ module.exports = { | @@ -763,5 +780,6 @@ module.exports = { | ||
763 | postAccount, | 780 | postAccount, |
764 | cardDetail, | 781 | cardDetail, |
765 | delBankCard, | 782 | delBankCard, |
766 | - setMasterCard | 783 | + setMasterCard, |
784 | + sessionKeyAuth | ||
767 | }; | 785 | }; |
@@ -19,6 +19,26 @@ const codeContent = { | @@ -19,6 +19,26 @@ const codeContent = { | ||
19 | advertisement: 'f3fe0793a7d59479542a14b15359c47d' | 19 | advertisement: 'f3fe0793a7d59479542a14b15359c47d' |
20 | }; | 20 | }; |
21 | 21 | ||
22 | +/** | ||
23 | + * 处理旧版本的app兼容新接口 | ||
24 | + * @param {*} url url | ||
25 | + * @param {*} data data | ||
26 | + * @param {*} param param | ||
27 | + * @param {*} method method | ||
28 | + */ | ||
29 | +const middleApi = (url, data, param, method) => { | ||
30 | + try { | ||
31 | + let promise = method === 'post' ? api.post : api.get; | ||
32 | + | ||
33 | + if (!_.get(data, 'uid.sessionKey', '') && data.uid) { | ||
34 | + data.app_version = '5.5.0'; | ||
35 | + } | ||
36 | + return promise.call(api, url, data, param); | ||
37 | + } catch (err) { | ||
38 | + return null; | ||
39 | + } | ||
40 | +}; | ||
41 | + | ||
22 | // 处理还款列表数据 | 42 | // 处理还款列表数据 |
23 | const _processAmtList = (listData, queryDays) => { | 43 | const _processAmtList = (listData, queryDays) => { |
24 | let overduecount = 0; | 44 | let overduecount = 0; |
@@ -197,7 +217,7 @@ const _DEBUG = false;// true; | @@ -197,7 +217,7 @@ const _DEBUG = false;// true; | ||
197 | 217 | ||
198 | // 获取分期开通状态 | 218 | // 获取分期开通状态 |
199 | const getStauts = (uid) => { | 219 | const getStauts = (uid) => { |
200 | - return api.get('', { | 220 | + return middleApi('', { |
201 | method: 'user.instalment.getStatus', | 221 | method: 'user.instalment.getStatus', |
202 | uid: uid | 222 | uid: uid |
203 | }, { | 223 | }, { |
@@ -214,7 +234,7 @@ const getStauts = (uid) => { | @@ -214,7 +234,7 @@ const getStauts = (uid) => { | ||
214 | 234 | ||
215 | // 获取用户可用额度信息 | 235 | // 获取用户可用额度信息 |
216 | const getQueryCreditInfo = (uid) => { | 236 | const getQueryCreditInfo = (uid) => { |
217 | - return api.get('', { | 237 | + return middleApi('', { |
218 | method: 'user.instalment.queryCreditLimit', | 238 | method: 'user.instalment.queryCreditLimit', |
219 | uid: uid | 239 | uid: uid |
220 | }, { | 240 | }, { |
@@ -231,7 +251,7 @@ const getQueryCreditInfo = (uid) => { | @@ -231,7 +251,7 @@ const getQueryCreditInfo = (uid) => { | ||
231 | 251 | ||
232 | // 获取用户待还款金额 | 252 | // 获取用户待还款金额 |
233 | const getQueryAmtInfo = (uid) => { | 253 | const getQueryAmtInfo = (uid) => { |
234 | - return api.get('', { | 254 | + return middleApi('', { |
235 | method: 'app.order.queryAmtInfo', | 255 | method: 'app.order.queryAmtInfo', |
236 | uid: uid | 256 | uid: uid |
237 | }, { | 257 | }, { |
@@ -250,7 +270,7 @@ const getQueryAmtInfo = (uid) => { | @@ -250,7 +270,7 @@ const getQueryAmtInfo = (uid) => { | ||
250 | 270 | ||
251 | // 获取用户待还列表信息 queryDays -1:逾期待还;0:全部待还;7:七日待还;30:本月待还 | 271 | // 获取用户待还列表信息 queryDays -1:逾期待还;0:全部待还;7:七日待还;30:本月待还 |
252 | const getQueryAmtList = (params) => { | 272 | const getQueryAmtList = (params) => { |
253 | - return api.get('', _.assign({ | 273 | + return middleApi('', _.assign({ |
254 | method: 'app.order.queryAmtList', | 274 | method: 'app.order.queryAmtList', |
255 | pageSize: '20' | 275 | pageSize: '20' |
256 | }, params), { | 276 | }, params), { |
@@ -267,7 +287,7 @@ const getQueryAmtList = (params) => { | @@ -267,7 +287,7 @@ const getQueryAmtList = (params) => { | ||
267 | 287 | ||
268 | // 分期专享推荐商品 | 288 | // 分期专享推荐商品 |
269 | const getSearchIntallment = (params) => { | 289 | const getSearchIntallment = (params) => { |
270 | - return api.post('', { | 290 | + return middleApi('', { |
271 | method: 'app.search.instalment', | 291 | method: 'app.search.instalment', |
272 | limit: '50', | 292 | limit: '50', |
273 | order: 's_t_desc', | 293 | order: 's_t_desc', |
@@ -275,7 +295,7 @@ const getSearchIntallment = (params) => { | @@ -275,7 +295,7 @@ const getSearchIntallment = (params) => { | ||
275 | }, { | 295 | }, { |
276 | cache: true, | 296 | cache: true, |
277 | timeout: API_TIMEOUT | 297 | timeout: API_TIMEOUT |
278 | - }).then((result) => { | 298 | + }, 'post').then((result) => { |
279 | if (result && result.code === 200) { | 299 | if (result && result.code === 200) { |
280 | let goods = productProcess.processProductList(result.data.product_list); | 300 | let goods = productProcess.processProductList(result.data.product_list); |
281 | 301 | ||
@@ -300,7 +320,7 @@ const getSearchIntallment = (params) => { | @@ -300,7 +320,7 @@ const getSearchIntallment = (params) => { | ||
300 | * @param mobile 手机号码 | 320 | * @param mobile 手机号码 |
301 | */ | 321 | */ |
302 | const sendVerifyCode = (uid, mobile) => { | 322 | const sendVerifyCode = (uid, mobile) => { |
303 | - return api.get('', { | 323 | + return middleApi('', { |
304 | method: 'user.instalment.getSnsCheckCode', | 324 | method: 'user.instalment.getSnsCheckCode', |
305 | uid: uid, | 325 | uid: uid, |
306 | mobile: mobile, | 326 | mobile: mobile, |
@@ -323,7 +343,7 @@ const sendVerifyCode = (uid, mobile) => { | @@ -323,7 +343,7 @@ const sendVerifyCode = (uid, mobile) => { | ||
323 | * @returns {*} | 343 | * @returns {*} |
324 | */ | 344 | */ |
325 | const activateService = (params) => { | 345 | const activateService = (params) => { |
326 | - return api.get('', Object.assign({ | 346 | + return middleApi('', Object.assign({ |
327 | method: 'user.instalment.activate' | 347 | method: 'user.instalment.activate' |
328 | }, params), { | 348 | }, params), { |
329 | timeout: 30000 | 349 | timeout: 30000 |
@@ -338,7 +358,7 @@ const activateService = (params) => { | @@ -338,7 +358,7 @@ const activateService = (params) => { | ||
338 | * @returns {*} | 358 | * @returns {*} |
339 | */ | 359 | */ |
340 | const getBankInfo = (params) => { | 360 | const getBankInfo = (params) => { |
341 | - return api.get('', { | 361 | + return middleApi('', { |
342 | method: 'user.instalment.getBankInfoByCardNo', | 362 | method: 'user.instalment.getBankInfoByCardNo', |
343 | cardNo: params.cardNo, | 363 | cardNo: params.cardNo, |
344 | uid: params.uid | 364 | uid: params.uid |
@@ -361,7 +381,7 @@ const getInstallmentOrders = (params) => { | @@ -361,7 +381,7 @@ const getInstallmentOrders = (params) => { | ||
361 | const method = 'app.SpaceOrders.getInstallment'; | 381 | const method = 'app.SpaceOrders.getInstallment'; |
362 | 382 | ||
363 | if (!_DEBUG) { | 383 | if (!_DEBUG) { |
364 | - return api.get('', { | 384 | + return middleApi('', { |
365 | method: method, | 385 | method: method, |
366 | uid: params.uid, | 386 | uid: params.uid, |
367 | type: params.type || 1, | 387 | type: params.type || 1, |
@@ -379,7 +399,7 @@ const getInstallmentOrders = (params) => { | @@ -379,7 +399,7 @@ const getInstallmentOrders = (params) => { | ||
379 | 399 | ||
380 | // 还款记录查询 | 400 | // 还款记录查询 |
381 | const getQueryRePayList = (params) => { | 401 | const getQueryRePayList = (params) => { |
382 | - return api.get('', _.assign({ | 402 | + return middleApi('', _.assign({ |
383 | method: 'app.order.queryRePayList', | 403 | method: 'app.order.queryRePayList', |
384 | pageSize: '20' | 404 | pageSize: '20' |
385 | }, params), { | 405 | }, params), { |
@@ -396,7 +416,7 @@ const getQueryRePayList = (params) => { | @@ -396,7 +416,7 @@ const getQueryRePayList = (params) => { | ||
396 | 416 | ||
397 | // 账号管理 | 417 | // 账号管理 |
398 | const getBankCards = (uid) => { | 418 | const getBankCards = (uid) => { |
399 | - return api.get('', { | 419 | + return middleApi('', { |
400 | method: 'user.instalment.getBankCards', | 420 | method: 'user.instalment.getBankCards', |
401 | uid: uid | 421 | uid: uid |
402 | }, { | 422 | }, { |
@@ -422,7 +442,7 @@ const getBankCards = (uid) => { | @@ -422,7 +442,7 @@ const getBankCards = (uid) => { | ||
422 | const getInstallmentOrderDetail = (params) => { | 442 | const getInstallmentOrderDetail = (params) => { |
423 | const method = 'app.SpaceOrders.installDetail'; | 443 | const method = 'app.SpaceOrders.installDetail'; |
424 | 444 | ||
425 | - return api.get('', { | 445 | + return middleApi('', { |
426 | method: method, | 446 | method: method, |
427 | uid: params.uid, | 447 | uid: params.uid, |
428 | order_code: params.orderCode | 448 | order_code: params.orderCode |
@@ -443,7 +463,7 @@ const getInstallmentOrderDetail = (params) => { | @@ -443,7 +463,7 @@ const getInstallmentOrderDetail = (params) => { | ||
443 | const totalAmount = (params) => { | 463 | const totalAmount = (params) => { |
444 | const method = 'app.order.calPrice'; | 464 | const method = 'app.order.calPrice'; |
445 | 465 | ||
446 | - return api.get('', { | 466 | + return middleApi('', { |
447 | method: method, | 467 | method: method, |
448 | prices: params | 468 | prices: params |
449 | }, { | 469 | }, { |
@@ -457,7 +477,7 @@ const totalAmount = (params) => { | @@ -457,7 +477,7 @@ const totalAmount = (params) => { | ||
457 | const checkVerifyCode = (uid, mobile, code) => { | 477 | const checkVerifyCode = (uid, mobile, code) => { |
458 | const method = 'user.instalment.validateSnsCheckCode'; | 478 | const method = 'user.instalment.validateSnsCheckCode'; |
459 | 479 | ||
460 | - return api.get('', { | 480 | + return middleApi('', { |
461 | uid: uid, | 481 | uid: uid, |
462 | method: method, | 482 | method: method, |
463 | mobile: mobile, | 483 | mobile: mobile, |
@@ -472,7 +492,7 @@ const checkVerifyCode = (uid, mobile, code) => { | @@ -472,7 +492,7 @@ const checkVerifyCode = (uid, mobile, code) => { | ||
472 | 492 | ||
473 | // 添加银行卡请求 | 493 | // 添加银行卡请求 |
474 | const postAccount = (params) => { | 494 | const postAccount = (params) => { |
475 | - return api.get('', _.assign({ | 495 | + return middleApi('', _.assign({ |
476 | method: 'user.instalment.bindingCards' | 496 | method: 'user.instalment.bindingCards' |
477 | }, params), { | 497 | }, params), { |
478 | timeout: 6000 | 498 | timeout: 6000 |
@@ -481,7 +501,7 @@ const postAccount = (params) => { | @@ -481,7 +501,7 @@ const postAccount = (params) => { | ||
481 | 501 | ||
482 | // 获取银行卡详情 | 502 | // 获取银行卡详情 |
483 | const getCardDetail = (uid, cardIdNo) => { | 503 | const getCardDetail = (uid, cardIdNo) => { |
484 | - return api.get('', { | 504 | + return middleApi('', { |
485 | method: 'user.instalment.getBankCardDetail', | 505 | method: 'user.instalment.getBankCardDetail', |
486 | uid: uid, | 506 | uid: uid, |
487 | cardIdNo: cardIdNo | 507 | cardIdNo: cardIdNo |
@@ -499,7 +519,7 @@ const getCardDetail = (uid, cardIdNo) => { | @@ -499,7 +519,7 @@ const getCardDetail = (uid, cardIdNo) => { | ||
499 | 519 | ||
500 | // 解除银行卡绑定 | 520 | // 解除银行卡绑定 |
501 | const delBankCard = (params) => { | 521 | const delBankCard = (params) => { |
502 | - return api.get('', _.assign({ | 522 | + return middleApi('', _.assign({ |
503 | method: 'user.instalment.unbindCard' | 523 | method: 'user.instalment.unbindCard' |
504 | }, params)).then((res) => { | 524 | }, params)).then((res) => { |
505 | return res; | 525 | return res; |
@@ -508,7 +528,7 @@ const delBankCard = (params) => { | @@ -508,7 +528,7 @@ const delBankCard = (params) => { | ||
508 | 528 | ||
509 | // 切换银行卡主卡 | 529 | // 切换银行卡主卡 |
510 | const setMasterCard = (params) => { | 530 | const setMasterCard = (params) => { |
511 | - return api.get('', _.assign({ | 531 | + return middleApi('', _.assign({ |
512 | method: 'user.instalment.toggleCard' | 532 | method: 'user.instalment.toggleCard' |
513 | }, params)).then((res) => { | 533 | }, params)).then((res) => { |
514 | return res; | 534 | return res; |
@@ -517,7 +537,7 @@ const setMasterCard = (params) => { | @@ -517,7 +537,7 @@ const setMasterCard = (params) => { | ||
517 | 537 | ||
518 | // 公告 | 538 | // 公告 |
519 | const getNotices = () => { | 539 | const getNotices = () => { |
520 | - return api.get('', { | 540 | + return middleApi('', { |
521 | method: 'app.resources.getNotices', | 541 | method: 'app.resources.getNotices', |
522 | position: 8, | 542 | position: 8, |
523 | client_type: 'iphone' | 543 | client_type: 'iphone' |
@@ -536,6 +556,7 @@ const getNotices = () => { | @@ -536,6 +556,7 @@ const getNotices = () => { | ||
536 | }); | 556 | }); |
537 | }; | 557 | }; |
538 | 558 | ||
559 | + | ||
539 | module.exports = { | 560 | module.exports = { |
540 | getStauts, | 561 | getStauts, |
541 | getQueryCreditInfo, | 562 | getQueryCreditInfo, |
@@ -104,39 +104,39 @@ router.get('/onlineservice', onlineService.getOnlineServiceInfo); | @@ -104,39 +104,39 @@ router.get('/onlineservice', onlineService.getOnlineServiceInfo); | ||
104 | router.get('/onlineservicedetail', onlineService.getOnlineServiceDetail); | 104 | router.get('/onlineservicedetail', onlineService.getOnlineServiceDetail); |
105 | 105 | ||
106 | // 分期付款 | 106 | // 分期付款 |
107 | -router.get('/installment/index', installment.index); // 开通分期首页 | ||
108 | -router.get('/installment/review', installment.review); // 开通分期首页 | ||
109 | -router.get('/installment/starting-service', installment.startingService); // 分期付款开通 | ||
110 | -router.get('/installment/starting-service/verify-code', installment.verifyCode); | ||
111 | -router.get('/installment/starting-service/check-verify-code', installment.checkVerifyCode); | ||
112 | -router.get('/installment/get-goods', installment.getInstallmentGoods); // ajax请求分期专享商品数据 | ||
113 | - | ||
114 | -router.get('/installment/repay/overdue', installment.overdueList); // 逾期未还款列表 | ||
115 | -router.get('/installment/repay/7daylist', installment.sevenDayList); // 7日待还款列表 | ||
116 | -router.get('/installment/repay/month', installment.monthRepayList); // 本月待还款列表 | ||
117 | -router.get('/installment/repay/total', installment.totalRepayList); // 待还总金额列表 | ||
118 | -router.get('/installment/repay/record', installment.repayRecordPage); // 还款记录 | ||
119 | -router.get('/installment/repay/get-record', installment.getRepayRecord); // ajax请求还款记录 | ||
120 | -router.get('/installment/repay/detail', installment.repayDetail); // 还款详情 | ||
121 | - | ||
122 | -router.get('/installment/account', installment.account); // 账户管理 | ||
123 | -router.get('/installment/bind-card', installment.bindCard); // 添加新银行卡 | ||
124 | -router.get('/installment/post-account', installment.postAccount); // 添加新卡请求 | ||
125 | -router.get('/installment/bank-info', installment.getBankInfo); | ||
126 | -router.post('/installment/activate-service', installment.activateService); | ||
127 | -router.get('/installment/order', installment.orderIndex); | ||
128 | -router.get('/installment/order.html', installment.orderList); | ||
129 | -router.get('/installment/order/:id', installment.orderDetail); | ||
130 | -router.get('/installment/total-amount.json', installment.totalAmount); | ||
131 | - | ||
132 | -router.get('/installment/help', installment.help);// 帮助静态页面 | ||
133 | -router.get('/installment/agreement', installment.agreement);// 服务协议静态页面 | ||
134 | - | ||
135 | -router.get('/installment/server-crash', installment.serverCrash); // 服务器崩溃 | ||
136 | -router.get('/installment/bank-card', installment.bankCard); // 银行卡列表 | ||
137 | -router.get('/installment/card-detail', installment.cardDetail); // 银行卡详情 | ||
138 | -router.get('/installment/delBankCard', installment.delBankCard); // 删除绑定 | ||
139 | -router.get('/installment/setMasterCard', installment.setMasterCard); // 切换主卡 | 107 | +router.get('/installment/index', installment.sessionKeyAuth, installment.index); // 开通分期首页 |
108 | +router.get('/installment/review', installment.sessionKeyAuth, installment.review); // 开通分期首页 | ||
109 | +router.get('/installment/starting-service', installment.sessionKeyAuth, installment.startingService); // 分期付款开通 | ||
110 | +router.get('/installment/starting-service/verify-code', installment.sessionKeyAuth, installment.verifyCode); | ||
111 | +router.get('/installment/starting-service/check-verify-code', installment.sessionKeyAuth, installment.checkVerifyCode); | ||
112 | +router.get('/installment/get-goods', installment.sessionKeyAuth, installment.getInstallmentGoods); // ajax请求分期专享商品数据 | ||
113 | + | ||
114 | +router.get('/installment/repay/overdue', installment.sessionKeyAuth, installment.overdueList); // 逾期未还款列表 | ||
115 | +router.get('/installment/repay/7daylist', installment.sessionKeyAuth, installment.sevenDayList); // 7日待还款列表 | ||
116 | +router.get('/installment/repay/month', installment.sessionKeyAuth, installment.monthRepayList); // 本月待还款列表 | ||
117 | +router.get('/installment/repay/total', installment.sessionKeyAuth, installment.totalRepayList); // 待还总金额列表 | ||
118 | +router.get('/installment/repay/record', installment.sessionKeyAuth, installment.repayRecordPage); // 还款记录 | ||
119 | +router.get('/installment/repay/get-record', installment.sessionKeyAuth, installment.getRepayRecord); // ajax请求还款记录 | ||
120 | +router.get('/installment/repay/detail', installment.sessionKeyAuth, installment.repayDetail); // 还款详情 | ||
121 | + | ||
122 | +router.get('/installment/account', installment.sessionKeyAuth, installment.account); // 账户管理 | ||
123 | +router.get('/installment/bind-card', installment.sessionKeyAuth, installment.bindCard); // 添加新银行卡 | ||
124 | +router.get('/installment/post-account', installment.sessionKeyAuth, installment.postAccount); // 添加新卡请求 | ||
125 | +router.get('/installment/bank-info', installment.sessionKeyAuth, installment.getBankInfo); | ||
126 | +router.post('/installment/activate-service', installment.sessionKeyAuth, installment.activateService); | ||
127 | +router.get('/installment/order', installment.sessionKeyAuth, installment.orderIndex); | ||
128 | +router.get('/installment/order.html', installment.sessionKeyAuth, installment.orderList); | ||
129 | +router.get('/installment/order/:id', installment.sessionKeyAuth, installment.orderDetail); | ||
130 | +router.get('/installment/total-amount.json', installment.sessionKeyAuth, installment.totalAmount); | ||
131 | + | ||
132 | +router.get('/installment/help', installment.sessionKeyAuth, installment.help);// 帮助静态页面 | ||
133 | +router.get('/installment/agreement', installment.sessionKeyAuth, installment.agreement);// 服务协议静态页面 | ||
134 | + | ||
135 | +router.get('/installment/server-crash', installment.sessionKeyAuth, installment.serverCrash); // 服务器崩溃 | ||
136 | +router.get('/installment/bank-card', installment.sessionKeyAuth, installment.bankCard); // 银行卡列表 | ||
137 | +router.get('/installment/card-detail', installment.sessionKeyAuth, installment.cardDetail); // 银行卡详情 | ||
138 | +router.get('/installment/delBankCard', installment.sessionKeyAuth, installment.delBankCard); // 删除绑定 | ||
139 | +router.get('/installment/setMasterCard', installment.sessionKeyAuth, installment.setMasterCard); // 切换主卡 | ||
140 | 140 | ||
141 | router.get('/getaddress.json', addressController.newGetAddress); // TODO 模拟省数据 | 141 | router.get('/getaddress.json', addressController.newGetAddress); // TODO 模拟省数据 |
142 | 142 |
@@ -254,7 +254,7 @@ const bind = { | @@ -254,7 +254,7 @@ const bind = { | ||
254 | let refer = helpers.urlFormat('/passport/bind/success?type=bind'); | 254 | let refer = helpers.urlFormat('/passport/bind/success?type=bind'); |
255 | 255 | ||
256 | if (result && result.code && result.code === 200 && result.data.uid) { | 256 | if (result && result.code && result.code === 200 && result.data.uid) { |
257 | - return AuthHelper.syncUserSession(result.data.uid, req, res).then(() => { | 257 | + return AuthHelper.syncUserSession(result.data.uid, req, res, result.data.session_key).then(() => { |
258 | result.data.refer = refer; | 258 | result.data.refer = refer; |
259 | return result; | 259 | return result; |
260 | }); | 260 | }); |
@@ -288,7 +288,7 @@ const bind = { | @@ -288,7 +288,7 @@ const bind = { | ||
288 | let refer = helpers.urlFormat('/passport/bind/success', { sourceType: sourceType }); | 288 | let refer = helpers.urlFormat('/passport/bind/success', { sourceType: sourceType }); |
289 | 289 | ||
290 | if (result && result.code && result.code === 200 && result.data.uid) { | 290 | if (result && result.code && result.code === 200 && result.data.uid) { |
291 | - return AuthHelper.syncUserSession(result.data.uid, req, res).then(() => { | 291 | + return AuthHelper.syncUserSession(result.data.uid, req, res, result.data.session_key).then(() => { |
292 | result.data.refer = refer; | 292 | result.data.refer = refer; |
293 | return result; | 293 | return result; |
294 | }); | 294 | }); |
@@ -429,7 +429,7 @@ let setPassword = (req, res, next) => { | @@ -429,7 +429,7 @@ let setPassword = (req, res, next) => { | ||
429 | 429 | ||
430 | resultCopy = result; | 430 | resultCopy = result; |
431 | 431 | ||
432 | - return AuthHelper.syncUserSession(result.data.uid, req, res); | 432 | + return AuthHelper.syncUserSession(result.data.uid, req, res, result.data.session_key); |
433 | }).then(() => { | 433 | }).then(() => { |
434 | if (!resultCopy) { | 434 | if (!resultCopy) { |
435 | return; | 435 | return; |
@@ -376,7 +376,7 @@ exports.check = (req, res, next) => { | @@ -376,7 +376,7 @@ exports.check = (req, res, next) => { | ||
376 | return Promise.reject(info); | 376 | return Promise.reject(info); |
377 | } | 377 | } |
378 | 378 | ||
379 | - return AuthHelper.syncUserSession(info.data.uid, req, res); | 379 | + return AuthHelper.syncUserSession(info.data.uid, req, res, info.data.session_key); |
380 | }) | 380 | }) |
381 | .then(() => { | 381 | .then(() => { |
382 | res.json({ | 382 | res.json({ |
@@ -444,7 +444,7 @@ exports.password = (req, res, next) => { | @@ -444,7 +444,7 @@ exports.password = (req, res, next) => { | ||
444 | } | 444 | } |
445 | resultCopy = result; | 445 | resultCopy = result; |
446 | 446 | ||
447 | - return AuthHelper.syncUserSession(result.data.uid, req, res); | 447 | + return AuthHelper.syncUserSession(result.data.uid, req, res, result.data.session_key); |
448 | }).then(() => { | 448 | }).then(() => { |
449 | if (!resultCopy) { | 449 | if (!resultCopy) { |
450 | return; | 450 | return; |
@@ -63,12 +63,25 @@ class Auth { | @@ -63,12 +63,25 @@ class Auth { | ||
63 | } | 63 | } |
64 | 64 | ||
65 | static syncUserSession(uid, req, res, sessionKey) { | 65 | static syncUserSession(uid, req, res, sessionKey) { |
66 | + let userId = { | ||
67 | + toString: () => { | ||
68 | + return uid; | ||
69 | + } | ||
70 | + }; | ||
71 | + | ||
66 | if (sessionKey) { | 72 | if (sessionKey) { |
67 | - global.yoho.cache.set(`java_session_key:${uid}`, sessionKey).catch(() => { | ||
68 | - global.yoho.logger.error('write session key fail'); | 73 | + // 弃用 |
74 | + // global.yoho.cache.set(`java_session_key:${uid}`, sessionKey).catch(() => { | ||
75 | + // global.yoho.logger.error('write session key fail'); | ||
76 | + // }); | ||
77 | + req.session.SESSION_KEY = sessionKey; | ||
78 | + res.cookie('_SESSION_KEY', aes.encryptionUid(sessionKey), { | ||
79 | + domain: 'yohobuy.com', | ||
80 | + expires: new Date(Date.now() + 2592000000) // 有效期一年 | ||
69 | }); | 81 | }); |
82 | + userId.sessionKey = sessionKey; | ||
70 | } | 83 | } |
71 | - return Auth.profile(uid).then((userInfo) => { | 84 | + return Auth.profile(userId).then((userInfo) => { |
72 | let salt = uuid.v4().substr(0, 8); | 85 | let salt = uuid.v4().substr(0, 8); |
73 | let saltedUid = uid + salt; | 86 | let saltedUid = uid + salt; |
74 | 87 |
@@ -10,13 +10,12 @@ const isProduction = process.env.NODE_ENV === 'production'; | @@ -10,13 +10,12 @@ const isProduction = process.env.NODE_ENV === 'production'; | ||
10 | const isTest = process.env.NODE_ENV === 'test'; | 10 | const isTest = process.env.NODE_ENV === 'test'; |
11 | 11 | ||
12 | const domains = { | 12 | const domains = { |
13 | - api: 'http://api-test3.yohops.com:9999/', | ||
14 | - service: 'http://service-test3.yohops.com:9999/', | ||
15 | liveApi: 'http://testapi.live.yohops.com:9999/', | 13 | liveApi: 'http://testapi.live.yohops.com:9999/', |
16 | singleApi: 'http://api-test3.yohops.com:9999/', | 14 | singleApi: 'http://api-test3.yohops.com:9999/', |
17 | 15 | ||
18 | - // api: 'http://api.yoho.yohoops.org/', | ||
19 | - // service: 'http://service.yoho.yohoops.org/', | 16 | + api: 'http://dev-api.yohops.com:9999/', |
17 | + service: 'http://dev-service.yohops.com:9999/', | ||
18 | + | ||
20 | // liveApi: 'http://api.live.yoho.cn/', | 19 | // liveApi: 'http://api.live.yoho.cn/', |
21 | // singleApi: 'http://single.yoho.cn/', | 20 | // singleApi: 'http://single.yoho.cn/', |
22 | 21 | ||
@@ -26,7 +25,7 @@ const domains = { | @@ -26,7 +25,7 @@ const domains = { | ||
26 | 25 | ||
27 | module.exports = { | 26 | module.exports = { |
28 | app: 'h5', | 27 | app: 'h5', |
29 | - appVersion: '5.5.0', // 调用api的版本 | 28 | + appVersion: '5.5.1', // 调用api的版本 |
30 | port: 6001, | 29 | port: 6001, |
31 | siteUrl: '//m.yohobuy.com', | 30 | siteUrl: '//m.yohobuy.com', |
32 | assetUrl: '//127.0.0.1:5001', | 31 | assetUrl: '//127.0.0.1:5001', |
@@ -4,6 +4,7 @@ | @@ -4,6 +4,7 @@ | ||
4 | */ | 4 | */ |
5 | const headerModel = require('../models/header'); | 5 | const headerModel = require('../models/header'); |
6 | const logger = global.yoho.logger; | 6 | const logger = global.yoho.logger; |
7 | +const helpers = global.yoho.helpers; | ||
7 | 8 | ||
8 | const forceNoCache = (res) => { | 9 | const forceNoCache = (res) => { |
9 | if (res && !res.finished) { | 10 | if (res && !res.finished) { |
@@ -47,10 +48,18 @@ exports.notFound = () => { | @@ -47,10 +48,18 @@ exports.notFound = () => { | ||
47 | */ | 48 | */ |
48 | exports.serverError = () => { | 49 | exports.serverError = () => { |
49 | return (err, req, res, next) => { | 50 | return (err, req, res, next) => { |
50 | - console.log(err); | ||
51 | - | ||
52 | forceNoCache(res); | 51 | forceNoCache(res); |
53 | 52 | ||
53 | + if (err && err.code === 401) { | ||
54 | + if (req.xhr) { | ||
55 | + return res.json(err); | ||
56 | + } else { | ||
57 | + return res.redirect(helpers.urlFormat('/signin.html', { | ||
58 | + refer: req.originalUrl | ||
59 | + })); | ||
60 | + } | ||
61 | + } | ||
62 | + | ||
54 | logger.error(`error at path: ${req.url}`); | 63 | logger.error(`error at path: ${req.url}`); |
55 | logger.error(err); | 64 | logger.error(err); |
56 | 65 |
@@ -2,13 +2,19 @@ | @@ -2,13 +2,19 @@ | ||
2 | 2 | ||
3 | const _ = require('lodash'); | 3 | const _ = require('lodash'); |
4 | const cookie = global.yoho.cookie; | 4 | const cookie = global.yoho.cookie; |
5 | +const crypto = global.yoho.crypto; | ||
5 | 6 | ||
6 | module.exports = () => { | 7 | module.exports = () => { |
7 | return (req, res, next) => { | 8 | return (req, res, next) => { |
8 | // 从 SESSION 中获取到当前登录用户的 UID | 9 | // 从 SESSION 中获取到当前登录用户的 UID |
9 | if (req.session && _.isNumber(req.session.LOGIN_UID)) { | 10 | if (req.session && _.isNumber(req.session.LOGIN_UID)) { |
10 | - req.user.uid = req.session.LOGIN_UID; | ||
11 | - | 11 | + // 不要使用 === 判断uid的值,如果需要判断使用 == |
12 | + req.user.uid = { | ||
13 | + toString: () => { | ||
14 | + return req.session.LOGIN_UID; | ||
15 | + }, | ||
16 | + sessionKey: req.session.SESSION_KEY | ||
17 | + }; | ||
12 | let userData = _.get(req.session, 'USER', {}); | 18 | let userData = _.get(req.session, 'USER', {}); |
13 | 19 | ||
14 | _.merge(req.user, userData); | 20 | _.merge(req.user, userData); |
@@ -16,7 +22,15 @@ module.exports = () => { | @@ -16,7 +22,15 @@ module.exports = () => { | ||
16 | 22 | ||
17 | // session 没有读取到的时候,从 cookie 读取 UID | 23 | // session 没有读取到的时候,从 cookie 读取 UID |
18 | if (!req.user.uid && req.cookies._UID) { | 24 | if (!req.user.uid && req.cookies._UID) { |
19 | - req.user.uid = cookie.getUid(req); | 25 | + // 不要使用 === 判断uid的值,如果需要判断使用 == |
26 | + let sessionKey = req.cookies._SESSION_KEY && crypto.decrypt('yoho9646abcdefgh', req.cookies._SESSION_KEY); | ||
27 | + | ||
28 | + req.user.uid = { | ||
29 | + toString: () => { | ||
30 | + return cookie.getUid(req); | ||
31 | + }, | ||
32 | + sessionKey | ||
33 | + }; | ||
20 | } | 34 | } |
21 | 35 | ||
22 | next(); | 36 | next(); |
@@ -49,7 +49,7 @@ | @@ -49,7 +49,7 @@ | ||
49 | "uuid": "^2.0.3", | 49 | "uuid": "^2.0.3", |
50 | "xml2js": "^0.4.17", | 50 | "xml2js": "^0.4.17", |
51 | "yoho-express-session": "^2.0.0", | 51 | "yoho-express-session": "^2.0.0", |
52 | - "yoho-node-lib": "^0.2.8", | 52 | + "yoho-node-lib": "=0.2.8", |
53 | "yoho-zookeeper": "^1.0.8" | 53 | "yoho-zookeeper": "^1.0.8" |
54 | }, | 54 | }, |
55 | "devDependencies": { | 55 | "devDependencies": { |
public/js/global.js
0 → 100644
1 | +/** | ||
2 | + * 全局引用js | ||
3 | + * @author: feng.chen<feng.chen@yoho.cn> | ||
4 | + * @date: 2017/03/15 | ||
5 | + */ | ||
6 | +const $ = require('yoho-jquery'); | ||
7 | +const cookie = require('yoho-cookie'); | ||
8 | +var yoho = require('./yoho-app'); | ||
9 | + | ||
10 | +// 初始化 | ||
11 | + | ||
12 | +// 注册ajaxError处理服务端401状态 | ||
13 | +$(document).ajaxError((event, xhr) => { | ||
14 | + if (xhr.status === 401) { | ||
15 | + cookie.remove('_UID'); | ||
16 | + cookie.remove('_TOKEN'); | ||
17 | + if (yoho.isApp) { | ||
18 | + yoho.goLogin(window.location.href); | ||
19 | + } else { | ||
20 | + window.location.href = `/signin.html?refer=${encodeURIComponent(window.location.href)}`; | ||
21 | + } | ||
22 | + } | ||
23 | +}); |
@@ -22,7 +22,8 @@ shelljs.ls(path.join(__dirname, 'js/**/*.page.js')).forEach((f) => { | @@ -22,7 +22,8 @@ shelljs.ls(path.join(__dirname, 'js/**/*.page.js')).forEach((f) => { | ||
22 | // 生成规则:module.page: './js/module/xx.page.js' | 22 | // 生成规则:module.page: './js/module/xx.page.js' |
23 | entries[`${dir[0]}.${dir[1].match(/(.*).page.js/)[1]}`] = `./js/${dir.join('/')}`; | 23 | entries[`${dir[0]}.${dir[1].match(/(.*).page.js/)[1]}`] = `./js/${dir.join('/')}`; |
24 | entries.libs = [ | 24 | entries.libs = [ |
25 | - 'yoho-jquery' | 25 | + 'yoho-jquery', |
26 | + './js/global.js' // 全局引用js | ||
26 | ]; | 27 | ]; |
27 | }); | 28 | }); |
28 | 29 |
-
Please register or login to post a comment