Authored by 姜敏

代码优化以及修复部分界面bug

@@ -11,44 +11,47 @@ const accountModel = require('../models/account'); @@ -11,44 +11,47 @@ const accountModel = require('../models/account');
11 * 修改密码 11 * 修改密码
12 * @param req 12 * @param req
13 * @param res 13 * @param res
  14 + * @param next
14 */ 15 */
15 -const changePwd = (req, res) => { 16 +const changePwd = (req, res, next) => {
16 let uid = req.user.uid; 17 let uid = req.user.uid;
17 let pwd = req.body.password; 18 let pwd = req.body.password;
18 19
19 accountModel.changePwd(uid, pwd).then(result=> { 20 accountModel.changePwd(uid, pwd).then(result=> {
20 res.send(result); 21 res.send(result);
21 - }); 22 + }).catch(next);
22 }; 23 };
23 24
24 /** 25 /**
25 * 验证手机号码 26 * 验证手机号码
26 * @param req 27 * @param req
27 * @param res 28 * @param res
  29 + * @param next
28 */ 30 */
29 -const checkVerifyMobile = (req, res)=> { 31 +const checkVerifyMobile = (req, res, next)=> {
30 let uid = req.user.uid; 32 let uid = req.user.uid;
31 let mobile = req.body.mobile; 33 let mobile = req.body.mobile;
32 let area = req.body.area; 34 let area = req.body.area;
33 35
34 accountModel.checkVerifyMobile(uid, mobile, area).then(result=> { 36 accountModel.checkVerifyMobile(uid, mobile, area).then(result=> {
35 res.send(result); 37 res.send(result);
36 - }); 38 + }).catch(next);
37 }; 39 };
38 40
39 /** 41 /**
40 * 发送短信 42 * 发送短信
41 * @param req 43 * @param req
42 * @param res 44 * @param res
  45 + * @param next
43 */ 46 */
44 -const sendMobileMsg = (req, res)=> { 47 +const sendMobileMsg = (req, res, next)=> {
45 let uid = req.user.uid; 48 let uid = req.user.uid;
46 let mobile = req.body.mobile; 49 let mobile = req.body.mobile;
47 let area = req.body.area || '+86'; 50 let area = req.body.area || '+86';
48 51
49 accountModel.sendMobileMsg(uid, mobile, area).then(result=> { 52 accountModel.sendMobileMsg(uid, mobile, area).then(result=> {
50 res.send(result); 53 res.send(result);
51 - }); 54 + }).catch(next);
52 }; 55 };
53 56
54 57
@@ -56,36 +59,38 @@ const sendMobileMsg = (req, res)=> { @@ -56,36 +59,38 @@ const sendMobileMsg = (req, res)=> {
56 * 验证短信 59 * 验证短信
57 * @param req 60 * @param req
58 * @param res 61 * @param res
  62 + * @param next
59 */ 63 */
60 -const checkVerifyMsg = (req, res)=> { 64 +const checkVerifyMsg = (req, res, next)=> {
61 let code = req.body.code; 65 let code = req.body.code;
62 let mobile = req.body.mobile; 66 let mobile = req.body.mobile;
63 let area = req.body.area || '+86'; 67 let area = req.body.area || '+86';
64 68
65 accountModel.checkVerifyMsg(code, mobile, area).then(result=> { 69 accountModel.checkVerifyMsg(code, mobile, area).then(result=> {
66 res.send(result); 70 res.send(result);
67 - }); 71 + }).catch(next);
68 }; 72 };
69 73
70 /** 74 /**
71 * 发送验证邮件 75 * 发送验证邮件
72 * @param req 76 * @param req
73 * @param res 77 * @param res
  78 + * @param next
74 */ 79 */
75 -const sendVerifyEmail = (req, res)=> { 80 +const sendVerifyEmail = (req, res, next)=> {
76 let uid = req.user.uid; 81 let uid = req.user.uid;
77 let email = req.body.email; 82 let email = req.body.email;
78 83
79 accountModel.sendVerifyEmail(uid, email).then(result=> { 84 accountModel.sendVerifyEmail(uid, email).then(result=> {
80 res.send(result); 85 res.send(result);
81 - }); 86 + }).catch(next);
82 }; 87 };
83 88
84 89
85 module.exports = { 90 module.exports = {
86 - changePwd: changePwd,  
87 - sendMobileMsg: sendMobileMsg,  
88 - checkVerifyMsg: checkVerifyMsg,  
89 - sendVerifyEmail: sendVerifyEmail,  
90 - checkVerifyMobile: checkVerifyMobile 91 + changePwd,
  92 + sendMobileMsg,
  93 + checkVerifyMsg,
  94 + sendVerifyEmail,
  95 + checkVerifyMobile
91 }; 96 };
@@ -26,10 +26,10 @@ const index = (req, res, next) => { @@ -26,10 +26,10 @@ const index = (req, res, next) => {
26 addressModel.getAddressDataAsync(uid, 20).then(result => { 26 addressModel.getAddressDataAsync(uid, 20).then(result => {
27 let resultData = result.data ? result.data : result; 27 let resultData = result.data ? result.data : result;
28 let length = resultData.length ? resultData.length : 0; 28 let length = resultData.length ? resultData.length : 0;
  29 + let reg = /(\d{3})\d{4}(\d{4})/;
29 30
30 for (let i = 0; i < length; i++) { 31 for (let i = 0; i < length; i++) {
31 - resultData[i].mobile = resultData[i].mobile.substring(0, 3) + '****' +  
32 - resultData[i].mobile.substring(7, 11); 32 + resultData[i].mobile = resultData[i].mobile.replace(reg, "$1****$2");
33 } 33 }
34 resultData.leftLength = 7 - length; 34 resultData.leftLength = 7 - length;
35 resultData.length = length; 35 resultData.length = length;
@@ -64,7 +64,7 @@ const getAddressList = (req, res, next) => { @@ -64,7 +64,7 @@ const getAddressList = (req, res, next) => {
64 /** 64 /**
65 * 添加地址 65 * 添加地址
66 */ 66 */
67 -const addAddressData = (req, res) => { 67 +const addAddressData = (req, res, next) => {
68 let uid = req.user.uid; 68 let uid = req.user.uid;
69 let address = req.body.address; 69 let address = req.body.address;
70 let areaCode = req.body.area_code; 70 let areaCode = req.body.area_code;
@@ -76,13 +76,13 @@ const addAddressData = (req, res) => { @@ -76,13 +76,13 @@ const addAddressData = (req, res) => {
76 76
77 addressModel.addAddressData(uid, address, areaCode, consignee, mobile, phone, isInit).then(result => { 77 addressModel.addAddressData(uid, address, areaCode, consignee, mobile, phone, isInit).then(result => {
78 res.send(result); 78 res.send(result);
79 - }); 79 + }).catch(next);
80 }; 80 };
81 81
82 /** 82 /**
83 * 修改地址 83 * 修改地址
84 */ 84 */
85 -const updateAddressData = (req, res) => { 85 +const updateAddressData = (req, res, next) => {
86 let id = req.body.id; 86 let id = req.body.id;
87 let uid = req.user.uid; 87 let uid = req.user.uid;
88 let address = req.body.address; 88 let address = req.body.address;
@@ -93,19 +93,19 @@ const updateAddressData = (req, res) => { @@ -93,19 +93,19 @@ const updateAddressData = (req, res) => {
93 93
94 addressModel.updateAddressData(id, uid, address, areaCode, consignee, mobile, phone).then(result => { 94 addressModel.updateAddressData(id, uid, address, areaCode, consignee, mobile, phone).then(result => {
95 res.send(result); 95 res.send(result);
96 - }); 96 + }).catch(next);
97 }; 97 };
98 98
99 /** 99 /**
100 * 删除地址 100 * 删除地址
101 */ 101 */
102 -const delAddressData = (req, res) => { 102 +const delAddressData = (req, res, next) => {
103 let id = req.body.id; 103 let id = req.body.id;
104 let uid = req.user.uid; 104 let uid = req.user.uid;
105 105
106 addressModel.delAddressData(id, uid).then(result => { 106 addressModel.delAddressData(id, uid).then(result => {
107 res.send(result); 107 res.send(result);
108 - }); 108 + }).catch(next);
109 }; 109 };
110 110
111 /** 111 /**
@@ -17,18 +17,18 @@ const convertUnitTime = (src) => { @@ -17,18 +17,18 @@ const convertUnitTime = (src) => {
17 /** 17 /**
18 * yoho币页面加载 18 * yoho币页面加载
19 */ 19 */
20 -const index = (req, res) => {  
21 - var uid = req.user.uid;  
22 - var page = parseInt(req.query.page, 10) || 1;  
23 - var queryType = parseInt(req.query.queryType, 10) || 0;  
24 - var beginTime = req.query.beginTime || convertUnitTime(new Date() / 1000 - 3600 * 24 * 90);  
25 - var date1 = new Date().getTime() / 1000;  
26 - var date2 = new Date(beginTime).getTime() / 1000;  
27 - var selectIndex = parseInt((date1 - date2) / (3600 * 24 * 30 * 6), 10); 20 +const index = (req, res, next) => {
  21 + let uid = req.user.uid;
  22 + let page = parseInt(req.query.page, 10) || 1;
  23 + let queryType = parseInt(req.query.queryType, 10) || 0;
  24 + let beginTime = req.query.beginTime || convertUnitTime(new Date() / 1000 - 3600 * 24 * 90);
  25 + let date1 = new Date().getTime() / 1000;
  26 + let date2 = new Date(beginTime).getTime() / 1000;
  27 + let selectIndex = parseInt((date1 - date2) / (3600 * 24 * 30 * 6), 10);
28 28
29 currencyModel.getIndexData(uid, page, queryType, beginTime).then(result=> { 29 currencyModel.getIndexData(uid, page, queryType, beginTime).then(result=> {
30 result.list.tabs[queryType].isActive = true; 30 result.list.tabs[queryType].isActive = true;
31 - result.list.coinList.forEach(function(x) { 31 + result.list.coinList.forEach(function (x) {
32 x.date = x.date.replace(/\-/g, '.'); 32 x.date = x.date.replace(/\-/g, '.');
33 }); 33 });
34 result.list.selects[selectIndex].isSelected = 'selected'; 34 result.list.selects[selectIndex].isSelected = 'selected';
@@ -58,7 +58,7 @@ const index = (req, res) => { @@ -58,7 +58,7 @@ const index = (req, res) => {
58 total: result.list.total ? result.list.total : 0 58 total: result.list.total ? result.list.total : 0
59 } 59 }
60 }); 60 });
61 - }); 61 + }).catch(next);
62 }; 62 };
63 63
64 64
@@ -12,6 +12,7 @@ const accountModel = require('../models/account'); @@ -12,6 +12,7 @@ const accountModel = require('../models/account');
12 const passportHelper = require('../../passport/models/passport-helper'); 12 const passportHelper = require('../../passport/models/passport-helper');
13 const Promise = require('bluebird'); 13 const Promise = require('bluebird');
14 const co = Promise.coroutine; 14 const co = Promise.coroutine;
  15 +const regMobile = /(\d{3})\d{4}(\d{4})/;//正则匹配替换手机号码中间4位
15 16
16 17
17 const captchaUrl = helpers.urlFormat('/passport/images', {t: Date.now()}); 18 const captchaUrl = helpers.urlFormat('/passport/images', {t: Date.now()});
@@ -79,8 +80,7 @@ const index = (req, res, next) => { @@ -79,8 +80,7 @@ const index = (req, res, next) => {
79 result.info.gender ? result.genders[result.info.gender - 1].checked = true : 80 result.info.gender ? result.genders[result.info.gender - 1].checked = true :
80 result.genders[2].checked = true; 81 result.genders[2].checked = true;
81 result.info.head_ico = result.info.head_ico ? helpers.image(result.info.head_ico, 400, 300, 2) : ''; 82 result.info.head_ico = result.info.head_ico ? helpers.image(result.info.head_ico, 400, 300, 2) : '';
82 - result.info.mobile = result.info.mobile ?  
83 - result.info.mobile.substring(0, 3) + '****' + result.info.mobile.substring(7, 11) : ''; 83 + result.info.mobile = result.info.mobile ? result.info.mobile.replace(regMobile, "$1****$2") : '';
84 result.stepUrl = '/me/setting/step1'; 84 result.stepUrl = '/me/setting/step1';
85 res.display('index', { 85 res.display('index', {
86 module: 'me', 86 module: 'me',
@@ -102,19 +102,20 @@ const index = (req, res, next) => { @@ -102,19 +102,20 @@ const index = (req, res, next) => {
102 * 编辑信息 102 * 编辑信息
103 * @param req 103 * @param req
104 * @param res 104 * @param res
  105 + * @param next
105 */ 106 */
106 -const editUserInfo = (req, res)=> { 107 +const editUserInfo = (req, res, next)=> {
107 let uid = req.user.uid; 108 let uid = req.user.uid;
108 let query = req.body; 109 let query = req.body;
109 110
110 settingModel.editUserInfo(uid, query).then(result=> { 111 settingModel.editUserInfo(uid, query).then(result=> {
111 res.send(result); 112 res.send(result);
112 - }); 113 + }).catch(next);
113 }; 114 };
114 115
115 116
116 /* 117 /*
117 - * step1 118 + * step1 绑定的手机号码身份验证
118 * */ 119 * */
119 const bindMobile = (req, res, next) => { 120 const bindMobile = (req, res, next) => {
120 let uid = req.user.uid; 121 let uid = req.user.uid;
@@ -124,7 +125,7 @@ const bindMobile = (req, res, next) => { @@ -124,7 +125,7 @@ const bindMobile = (req, res, next) => {
124 if (result.info.verify_mobile !== '') { 125 if (result.info.verify_mobile !== '') {
125 let info = result.info; 126 let info = result.info;
126 127
127 - info.ellipsisMobile = info.verify_mobile.substring(0, 3) + '****' + info.verify_mobile.substring(7, 11); 128 + info.ellipsisMobile = info.verify_mobile.replace(regMobile, "$1****$2");
128 info.checkCode = settingModel.cipheriv(info.uid + '.completeverify'); 129 info.checkCode = settingModel.cipheriv(info.uid + '.completeverify');
129 130
130 res.display('index', { 131 res.display('index', {
@@ -150,6 +151,9 @@ const bindMobile = (req, res, next) => { @@ -150,6 +151,9 @@ const bindMobile = (req, res, next) => {
150 }); 151 });
151 }; 152 };
152 153
  154 +/**
  155 + * step1 绑定的邮箱进行身份验证
  156 + */
153 const bindEmail = (req, res, next) => { 157 const bindEmail = (req, res, next) => {
154 let uid = req.user.uid; 158 let uid = req.user.uid;
155 let type = req.params.type; 159 let type = req.params.type;
@@ -181,6 +185,9 @@ const bindEmail = (req, res, next) => { @@ -181,6 +185,9 @@ const bindEmail = (req, res, next) => {
181 }); 185 });
182 }; 186 };
183 187
  188 +/**
  189 + *step1 登录密码进行身份验证
  190 + */
184 const modifyPassword = (req, res) => { 191 const modifyPassword = (req, res) => {
185 let type = req.params.type; 192 let type = req.params.type;
186 let checkCode = settingModel.cipheriv(req.user.uid + '.completeverify'); 193 let checkCode = settingModel.cipheriv(req.user.uid + '.completeverify');
@@ -204,7 +211,7 @@ const modifyPassword = (req, res) => { @@ -204,7 +211,7 @@ const modifyPassword = (req, res) => {
204 }; 211 };
205 212
206 /* 213 /*
207 - * step2 渲染页面 214 + * step2 操作界面-渲染页面
208 * */ 215 * */
209 const edit = (req, res)=> { 216 const edit = (req, res)=> {
210 let type = req.params.type; 217 let type = req.params.type;
@@ -243,7 +250,7 @@ const edit = (req, res)=> { @@ -243,7 +250,7 @@ const edit = (req, res)=> {
243 }; 250 };
244 251
245 /* 252 /*
246 - * step3 253 + * step3 操作成功-渲染界面
247 * */ 254 * */
248 const success = (req, res)=> { 255 const success = (req, res)=> {
249 let type = req.params.type; 256 let type = req.params.type;
@@ -280,7 +287,7 @@ const success = (req, res)=> { @@ -280,7 +287,7 @@ const success = (req, res)=> {
280 }; 287 };
281 288
282 /* 289 /*
283 - * post1 290 + * post1 第一步的post请求
284 * */ 291 * */
285 const validate1 = (req, res)=> { 292 const validate1 = (req, res)=> {
286 co(function *() { 293 co(function *() {
@@ -305,7 +312,7 @@ const validate1 = (req, res)=> { @@ -305,7 +312,7 @@ const validate1 = (req, res)=> {
305 }; 312 };
306 313
307 /* 314 /*
308 - * post2 315 + * post2 第二步的post请求
309 * */ 316 * */
310 const validate2 = (req, res)=> { 317 const validate2 = (req, res)=> {
311 co(function *() { 318 co(function *() {
@@ -108,11 +108,11 @@ const modifyVerifyMobile = (uid, area, newMobile)=> { @@ -108,11 +108,11 @@ const modifyVerifyMobile = (uid, area, newMobile)=> {
108 }; 108 };
109 109
110 module.exports = { 110 module.exports = {
111 - verifyPwd: verifyPwd,  
112 - changePwd: changePwd,  
113 - sendMobileMsg: sendMobileMsg,  
114 - checkVerifyMsg: checkVerifyMsg,  
115 - sendVerifyEmail: sendVerifyEmail,  
116 - checkVerifyMobile: checkVerifyMobile,  
117 - modifyVerifyMobile: modifyVerifyMobile 111 + verifyPwd,
  112 + changePwd,
  113 + sendMobileMsg,
  114 + checkVerifyMsg,
  115 + sendVerifyEmail,
  116 + checkVerifyMobile,
  117 + modifyVerifyMobile
118 }; 118 };
@@ -120,5 +120,5 @@ const getIndexData = (uid, page, queryType, beginTime) => { @@ -120,5 +120,5 @@ const getIndexData = (uid, page, queryType, beginTime) => {
120 }; 120 };
121 121
122 module.exports = { 122 module.exports = {
123 - getIndexData: getIndexData 123 + getIndexData
124 }; 124 };
@@ -76,11 +76,11 @@ const getUserInfo = (uid) => { @@ -76,11 +76,11 @@ const getUserInfo = (uid) => {
76 }; 76 };
77 77
78 /* const getVerifyInfo = (uid)=> { 78 /* const getVerifyInfo = (uid)=> {
79 - return api.get('', {  
80 - method: 'web.passport.getUserVerifyInfo',  
81 - uid: uid  
82 - }).then(result => result);  
83 -};*/ 79 + return api.get('', {
  80 + method: 'web.passport.getUserVerifyInfo',
  81 + uid: uid
  82 + }).then(result => result);
  83 + };*/
84 84
85 /** 85 /**
86 * 编辑个人详细信息 86 * 编辑个人详细信息
@@ -180,8 +180,8 @@ const decipheriv = (data) => { @@ -180,8 +180,8 @@ const decipheriv = (data) => {
180 }; 180 };
181 181
182 module.exports = { 182 module.exports = {
183 - getUserInfo: getUserInfo,  
184 - editUserInfo: editUserInfo,  
185 - cipheriv: cipheriv,  
186 - decipheriv: decipheriv 183 + getUserInfo,
  184 + editUserInfo,
  185 + cipheriv,
  186 + decipheriv
187 }; 187 };
@@ -40,18 +40,16 @@ @@ -40,18 +40,16 @@
40 <a class="blue operation" href="{{stepUrl}}/bindMobile">绑定</a> 40 <a class="blue operation" href="{{stepUrl}}/bindMobile">绑定</a>
41 {{/if}} 41 {{/if}}
42 </div> 42 </div>
43 - <!-- <div class="form-group"> 43 + <div class="form-group">
44 <label class="label-name">邮箱:</label> 44 <label class="label-name">邮箱:</label>
45 {{#if info.verify_email}} 45 {{#if info.verify_email}}
46 <input class="input no-edit" value="{{info.mobile}}"> 46 <input class="input no-edit" value="{{info.mobile}}">
47 - &lt;!&ndash;<a class="blue operation" href="{{stepUrl}}/modifyEmail">修改</a>&ndash;&gt;  
48 - <a class="blue operation">修改</a> 47 + <!--<a class="blue operation" href="{{stepUrl}}/modifyEmail">修改</a>-->
49 {{else}} 48 {{else}}
50 <input class="input" type="text" placeholder="请绑定邮箱" disabled> 49 <input class="input" type="text" placeholder="请绑定邮箱" disabled>
51 - &lt;!&ndash;<a class="blue operation" href="{{stepUrl}}/bindEmail">绑定</a>&ndash;&gt;  
52 - <a class="blue operation">绑定</a> 50 + <!--<a class="blue operation" href="{{stepUrl}}/bindEmail">绑定</a>-->
53 {{/if}} 51 {{/if}}
54 - </div>--> 52 + </div>
55 <div class="form-group"> 53 <div class="form-group">
56 <label class="label-name">出生日期:</label> 54 <label class="label-name">出生日期:</label>
57 <input id="birthday" class="input" type="text" value="{{info.birthday}}"> 55 <input id="birthday" class="input" type="text" value="{{info.birthday}}">
@@ -63,7 +61,7 @@ @@ -63,7 +61,7 @@
63 <span class="blue error-tips">{{> icon/error-round}}请选择</span> 61 <span class="blue error-tips">{{> icon/error-round}}请选择</span>
64 </div> 62 </div>
65 <div class="form-group"> 63 <div class="form-group">
66 - <label class="label-name">详细地址:</label> 64 + <label class="label-name" style="visibility: hidden">详细地址:</label>
67 <input id="full_address" class="input big-input" type="text" placeholder="请填写详细地址" 65 <input id="full_address" class="input big-input" type="text" placeholder="请填写详细地址"
68 maxlength="20" value="{{concat.full_address}}"> 66 maxlength="20" value="{{concat.full_address}}">
69 </div> 67 </div>