Authored by 郝肖肖

门票手机号 判断是否是数字且最长不超过30位

@@ -98,11 +98,20 @@ class OrderData @@ -98,11 +98,20 @@ class OrderData
98 * @param type $orderCode 98 * @param type $orderCode
99 * @return type 99 * @return type
100 */ 100 */
101 - public static function getTicketCode($orderCode) 101 + public static function getTicketCode($orderCode, $uid)
102 { 102 {
  103 + if (empty($orderCode)) {
  104 + return array('code' => 500, 'message' => '订单号不能为空!');
  105 + }
  106 +
  107 + if (empty($uid)) {
  108 + return array('code' => 500, 'message' => 'uid不能为空!');
  109 + }
  110 +
103 $param = Yohobuy::param(); 111 $param = Yohobuy::param();
104 $param['method'] = 'app.SpaceOrders.getQrByOrderCode'; 112 $param['method'] = 'app.SpaceOrders.getQrByOrderCode';
105 $param['order_code'] = $orderCode; 113 $param['order_code'] = $orderCode;
  114 + $param['uid'] = $uid;
106 $param['client_secret'] = Sign::getSign($param); 115 $param['client_secret'] = Sign::getSign($param);
107 return Yohobuy::get(API_URL, $param); 116 return Yohobuy::get(API_URL, $param);
108 } 117 }
@@ -20,8 +20,12 @@ @@ -20,8 +20,12 @@
20 <ul class="qr-codes clearfix"> 20 <ul class="qr-codes clearfix">
21 {{# tickets}} 21 {{# tickets}}
22 <li> 22 <li>
23 - <img class="qr" src="{{img}}">  
24 - {{desc}} 23 + <img class="qr" src="{{qr_image}}">
  24 + <div class="qr-info">
  25 + {{#if ticket_code}}编 号:{{ticket_code}}<br />{{/if}}
  26 + {{#if seat_no}}座位 号:{{seat_no}}<br />{{/if}}
  27 + {{#if entrance_time}}进场时间:{{entrance_time}}<br />{{/if}}
  28 + </div>
25 </li> 29 </li>
26 {{/ tickets}} 30 {{/ tickets}}
27 </ul> 31 </ul>
@@ -43,7 +43,8 @@ var TicketCat = { @@ -43,7 +43,8 @@ var TicketCat = {
43 $ticketMobileInput: $('.ticket-mobile-input'), 43 $ticketMobileInput: $('.ticket-mobile-input'),
44 44
45 //变量 45 //变量
46 - phoneReg: /^(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/ 46 + phoneReg: /^(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/,
  47 + numberReg: /^\d{11,30}$/
47 }, 48 },
48 Data: { 49 Data: {
49 buyNumber: 0,//购买总数量 50 buyNumber: 0,//购买总数量
@@ -120,7 +121,7 @@ var TicketCat = { @@ -120,7 +121,7 @@ var TicketCat = {
120 el.$ticketMobileBtn.click(function() { 121 el.$ticketMobileBtn.click(function() {
121 var val = el.$ticketMobileInput.val(); 122 var val = el.$ticketMobileInput.val();
122 123
123 - if (!el.phoneReg.test(val)) { 124 + if (!el.numberReg.test(val)) {
124 new dialog.Alert('请输入正确的手机号!').show(); 125 new dialog.Alert('请输入正确的手机号!').show();
125 return; 126 return;
126 } 127 }
@@ -136,7 +137,7 @@ var TicketCat = { @@ -136,7 +137,7 @@ var TicketCat = {
136 }); 137 });
137 138
138 //手机号,保存cookie中,防止用户刷新 139 //手机号,保存cookie中,防止用户刷新
139 - if (el.phoneReg.test(window.cookie('ticketMobileInput'))) { 140 + if (el.numberReg.test(window.cookie('ticketMobileInput'))) {
140 el.$showTicketMobile.removeClass('hide'); 141 el.$showTicketMobile.removeClass('hide');
141 el.$setTicketMobile.addClass('hide'); 142 el.$setTicketMobile.addClass('hide');
142 el.$ticketMobile.text(window.cookie('ticketMobileInput')); 143 el.$ticketMobile.text(window.cookie('ticketMobileInput'));
@@ -245,7 +246,7 @@ var TicketCat = { @@ -245,7 +246,7 @@ var TicketCat = {
245 246
246 selectData.mobile = el.$ticketMobile.text(); 247 selectData.mobile = el.$ticketMobile.text();
247 248
248 - if (!el.phoneReg.test(selectData.mobile)) { 249 + if (!el.numberReg.test(selectData.mobile)) {
249 new dialog.Alert('手机号格式不正确!').show(); 250 new dialog.Alert('手机号格式不正确!').show();
250 return; 251 return;
251 } 252 }
@@ -420,6 +420,8 @@ $('#buy-ticket').click(function() { @@ -420,6 +420,8 @@ $('#buy-ticket').click(function() {
420 '<input name="buyNumber" value="' + buyNumber + '" />' 420 '<input name="buyNumber" value="' + buyNumber + '" />'
421 ); 421 );
422 $ticketForm.submit(); 422 $ticketForm.submit();
  423 + } else if (data.code * 1 === 401) {
  424 + document.location.href = data.message;
423 } else { 425 } else {
424 myAlert = new Alert(data.message); 426 myAlert = new Alert(data.message);
425 myAlert.show(); 427 myAlert.show();
@@ -41,7 +41,7 @@ @@ -41,7 +41,7 @@
41 li { 41 li {
42 float: left; 42 float: left;
43 width: 232px; 43 width: 232px;
44 - height: 260px; 44 + height: 290px;
45 margin: 10px; 45 margin: 10px;
46 border: 1px solid #e7e7e7; 46 border: 1px solid #e7e7e7;
47 word-break: break-all; 47 word-break: break-all;
@@ -50,8 +50,14 @@ @@ -50,8 +50,14 @@
50 } 50 }
51 51
52 .qr { 52 .qr {
53 - width: 230px;  
54 - height: 230px; 53 + width: 232px;
  54 + height: 220px;
  55 +
  56 + }
  57 +
  58 + .qr-info {
  59 + font-size: 14px;
  60 + line-height: 20px;
55 } 61 }
56 } 62 }
57 63
@@ -271,16 +271,12 @@ class OrderModel @@ -271,16 +271,12 @@ class OrderModel
271 return $historyOrders; 271 return $historyOrders;
272 } 272 }
273 273
274 - public static function getTicketsInfo($orderCode) 274 + public static function getTicketsInfo($orderCode, $uid)
275 { 275 {
276 $ret = array(); 276 $ret = array();
277 - $ticketInfo = OrderData::getTicketCode($orderCode);  
278 - $tickets = $ticketInfo['data']['ticks'];  
279 - if (isset($tickets) && $tickets) {  
280 - foreach ($tickets as $tk => $tv) {  
281 - $ret[$tk]['img'] = self::getTicketImgs('ticket', $tv['ticket_code'], 1, 9, 1);  
282 - $ret[$tk]['desc'] = $tv['ticket_code'];  
283 - } 277 + $ticketInfo = OrderData::getTicketCode($orderCode, $uid);
  278 + if (isset($ticketInfo) && !empty($ticketInfo['data']['ticks'])) {
  279 + $ret = $ticketInfo['data']['ticks'];
284 } 280 }
285 return $ret; 281 return $ret;
286 } 282 }
@@ -605,7 +605,10 @@ class IndexController extends WebAction @@ -605,7 +605,10 @@ class IndexController extends WebAction
605 $uid = $this->getUid(); 605 $uid = $this->getUid();
606 606
607 if (empty($uid)) { 607 if (empty($uid)) {
608 - $result = array('code' => 401, 'message' => '请先登录!'); 608 + $result = array(
  609 + 'code' => 401,
  610 + 'message' => Helpers::url('/signin.html', array('refer' => $this->server('HTTP_REFERER', SITE_MAIN)))
  611 + );
609 break; 612 break;
610 } 613 }
611 //产品sku 614 //产品sku
@@ -166,7 +166,7 @@ class OrdersController extends WebAction @@ -166,7 +166,7 @@ class OrdersController extends WebAction
166 } 166 }
167 167
168 if (isset($detail) && $detail) { 168 if (isset($detail) && $detail) {
169 - $tickets = OrderModel::getTicketsInfo($orderCode); 169 + $tickets = OrderModel::getTicketsInfo($orderCode, $uid);
170 $data = array( 170 $data = array(
171 'path' => $path, 171 'path' => $path,
172 'userThumb' => UserModel::getUserHeadImg($uid), 172 'userThumb' => UserModel::getUserHeadImg($uid),