Authored by Rock Zhang

Merge branch 'develop/wap' into beta/wap

... ... @@ -473,19 +473,34 @@ $yohoPage.on('touchstart', '.btn-minus', function() {
} else if (limitProductCode) {
$(this).css('background-color', '#ccc').removeAttr('id');
// 当前面板选择的是限购商品
url = $('#limitProductPay').val() + '?limitproductcode=' + limitProductCode + '&sku=' +
productSku + '&skn=' + skn + '&buy_number=' + buyNumber;
removePannel();
loading.showLoadingMask();
// 调用接口判断商品是否可以购买
$.ajax({
url: url
}).then(function(res) {
// 如果有错,则商品不可购买,执行页面刷新,否则跳到结算页面
res.error ? window.location.reload() : window.location.href = url;
if (res.error) {
tip.show(res.message);
setTimeout(function() {
location.reload();
}, 2000);
} else {
location.href = url;
}
}).fail(function() {
window.location.reload();
tip.show('网络异常!');
setTimeout(function() {
location.reload();
}, 2000);
});
return false;
... ...
... ... @@ -318,9 +318,10 @@ class CartModel
* @param string $sku 商品sku,用于限购商品购买
* @param stirng $skn 商品skn,用于限购商品购买
* @param int $buyNumber 购买商品数目,用户限购商品支付
* @param bool $isAjax 是否是异步请求
* @return array 接口返回的数据
*/
public static function cartPay($uid, $cartType, $orderInfo, $limitProductCode, $sku, $skn, $buyNumber)
public static function cartPay($uid, $cartType, $orderInfo, $limitProductCode, $sku, $skn, $buyNumber, $isAjax = false)
{
$result = array();
... ... @@ -345,6 +346,7 @@ class CartModel
if (!$pay || $pay['code'] != 200 || empty($pay['data']['goods_list'])) {
if ($isLimitGoods) {
$result['error'] = true;
$result['message'] = $pay['message'];
} else {
$result['cartUrl'] = Helpers::url('/cart/index/index');
}
... ... @@ -352,6 +354,10 @@ class CartModel
break;
}
if ($isAjax) { // 如果是异步请求,求直接返回,不进行下面的处理,从而优化性能
break;
}
$payReturn = $pay['data'];
$address = array();
$orderCompute = array();
... ...
... ... @@ -302,17 +302,16 @@ class IndexController extends AbstractAction
// 购物车商品为空跳转到购物车页面
$uid = $this->getUid(true);
$order = CartModel::cartPay($uid, $cartType, $orderInfo, $limitProductCode, $sku, $skn, $buyNumber);
$isAjax = $this->isAjax();
$order = CartModel::cartPay($uid, $cartType, $orderInfo, $limitProductCode, $sku, $skn, $buyNumber, $isAjax);
if (isset($order['cartUrl'])) { // 普通或者预售商品为空时
$this->go($order['cartUrl']);
}
if (isset($order['error'])) { // 限购商品支付接口返回为空或错误时
if ($this->isAjax()) {
$this->echoJson($order);
return;
} else {
$this->error();
}
// 限购商品支付接口返回为空或错误时(异步请求)
if ($isAjax) {
$this->echoJson($order);
return;
}
$data = array(
... ...