Authored by uedxwg

Merge branch 'develop' of http://git.dev.yoho.cn/web/yohobuy into develop

... ... @@ -3,7 +3,90 @@
* @author: 赵彪<bill.zhao@yoho.cn>
* @date: 2015/12/03
*/
var loading = require('../plugin/loading');
var $ = require('jquery');
var loading = require('../plugin/loading'),
Hammer = require('yoho.hammer');
var theOrderCode = document.getElementById('ordercode').value;
var wxPayEl = document.getElementById('weixin'),
wxHammer = wxPayEl && new Hammer(wxPayEl);
var appIconPosition = {
baidu: '-2.7rem',
weixin: '-1.2rem',
QQ: '-5.4rem',
bank: '-4'
};
//隐藏微信分享选项
if (window.wx) {
wx.hideOptionMenu();
}
function onBridgeReady() {
document.addEventListener('WeixinJSBridgeReady', function() {
window.WeixinJSBridge && window.WeixinJSBridge.call('hideOptionMenu');
});
}
if (typeof WeixinJSBridge === undefined) {
if (document.addEventListener) {
document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
} else if (document.attachEvent) {
document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
}
onBridgeReady();
} else {
onBridgeReady();
}
//调用微信JS api 支付
function jsApiCall(orderCode, jsApiParameters) {
//防止重复操作弹框
window.WeixinJSBridge && window.WeixinJSBridge.invoke(
'getBrandWCPayRequest',
jsApiParameters,
function(res) {
window.location.href = '/home/orders/detail?order_code=' + orderCode;
}
);
}
//微信支付
function callpay(orderCode) {
var jsApiParameters;
if (typeof WeixinJSBridge === undefined) {
if (document.addEventListener) {
document.addEventListener('WeixinJSBridgeReady', jsApiCall, false);
} else if (document.attachEvent) {
document.attachEvent('WeixinJSBridgeReady', jsApiCall);
document.attachEvent('onWeixinJSBridgeReady', jsApiCall);
}
} else {
$.ajax({
type: 'GET',
url: '/shopping/pay/wechatwapapi?order_code=' + orderCode,
dataType: 'json',
success: function(res) {
if (res.code === 200) {
jsApiParameters = res.data.jsApiParameters;
jsApiCall(orderCode, jsApiParameters);
} else {
alert('微信支付调取失败');
}
},
error: function() {
alert('请刷新本页面,完成微信支付');
}
});
}
}
function isWXOpen() {
var ua = navigator.userAgent.toLowerCase();
... ... @@ -32,39 +115,23 @@ function handleForWX() {
}
}
function setIcon(div, appName) {
if (appName.indexOf('百度') !== -1) {
div.style.backgroundPositionY = '-2.7rem';
return false;
}
if (appName.indexOf('微信') !== -1) {
div.style.backgroundPositionY = '-1.2rem';
return false;
}
if (appName.indexOf('银联') !== -1) {
div.style.backgroundPositionY = '-4rem';
return false;
}
if (appName.indexOf('QQ') !== -1) {
div.style.backgroundPositionY = '-5.4rem';
return false;
}
function setAppIcon(el, position) {
el.style.backgroundPositionY = position;
}
function loadIcon() {
var boxs = document.getElementsByClassName('box');
var div = null;
var appName = null;
var appid = null;
[].forEach.call(boxs, function(box, index) {
div = box.getElementsByClassName('icon')[0].getElementsByTagName('div')[0];
if (div) {
appName = box.getElementsByClassName('app')[0].innerHTML;
setIcon(div, appName);
appid = box.getAttribute('id');
if (appid !== 'alipay') {
setAppIcon(div, appIconPosition[appid]);
}
}
});
}
... ... @@ -75,6 +142,12 @@ function showPage() {
pageList.style.visibility = 'visible';
}
if (wxHammer) {
wxHammer.on('tap', function() {
callpay(theOrderCode);
});
}
function main() {
handleForWX();
loading.hideLoadingMask();
... ...
... ... @@ -310,7 +310,6 @@
line-height: pxToRem(65px);
text-align: center;
font-size: pxToRem(22px);
color: #fff;
.price-discount {
span {
... ...
{{> layout/header}}
<div class="pay-page yoho-page">
{{#if orderCode}}
<input id='ordercode' type="hidden" value="{{orderCode}}">
{{/if}}
<div class="payapp-list">
{{# payAppInfo}}
{{# payAppInfo}}
{{#if payLink}}
<a href="{{payLink}}">
<div class="box">
{{/if}}
<div class="box" id="{{appId}}">
<div class="icon">
{{#if appIcon}}
<img src="{{appIcon}}" alt="app图标">
... ... @@ -21,7 +26,9 @@
</div>
<div class="iconfont">&#xe604</div>
</div>
{{#if payLink}}
</a>
{{/if}}
{{/ payAppInfo}}
</div>
</div>
... ...
... ... @@ -642,7 +642,7 @@ class HomeController extends AbstractAction
$this->auditJumpLogin();
$backUrl = Helpers::url('/home');
$this->setTitle('我的订单');
$this->setNavHeader('我的订单', $backUrl);
... ... @@ -780,13 +780,14 @@ class HomeController extends AbstractAction
$this->setTitle('支付中心');
$this->setNavHeader('支付中心');
$orderCode = $this->get('order_code');
if (empty($orderCode)) {
$this->error();
}
$this->_view->display('pay', array(
'payCenterPage' => true,
'payAppInfo' => array(
0 => array(
'appIcon' => '',
... ...
... ... @@ -251,7 +251,7 @@ class UserModel
$product['link'] = isset($one['goods'][0]) ? Helpers::url('/product/pro_' . $one['product_id'] . '_' . $one['goods'][0]['id'] . '/' . $one['cnAlphabet'] . '.html') : '';
$product['imgUrl'] = (isset($one['default_images']) && !empty($one['default_images'])) ? Images::getImageUrl($one['default_images'], 235, 314) : '';
$product['price'] = !empty($one['market_price']) ? '¥' . $one['market_price'] : 0;
$product['discount'] = !empty($one['sales_price']) ? '¥' . $one['sales_price'] : 0;
$product['discount'] = ($one['market_price'] > $one['sales_price']) ? '¥' . $one['sales_price'] : false;
$brand['productList'][] = $product;
}
... ...
... ... @@ -23,16 +23,16 @@ class NewsaleModel
/* 男生频道取新品到着及折扣专区数据的位置码 */
const CODE_TOP_NEW_BOYS = '3cf2c1be5217fbab6009ce83959e1e12';
const CODE_TOP_SALE_BOYS = 'e9c9be32d72e2906d404a72ee24cb523';
const CODE_TOP_SALE_BOYS = '153180b9a88c0b565848850c523bb637';
/* 女生频道取新品到着及折扣专区数据的位置码 */
const CODE_TOP_NEW_GIRLS = '1cf7f9f10e2a2670e73d05c568793ad9';
const CODE_TOP_SALE_GIRLS = '785c0e6aab746949073c4ffb9d5106ac';
const CODE_TOP_SALE_GIRLS = '0b2d133419a0f7c381306fd3522365e1';
/* 潮童频道取新品到着及折扣专区数据的位置码 */
const CODE_TOP_NEW_KIDS = '57457adececa6c748b29c90cad0ae940';
const CODE_TOP_SALE_KIDS = 'ad1bb67a6007819c86f737d74172fd2e';
const CODE_TOP_SALE_KIDS = 'de23648d28ee1e8a3f087a9dbac506f8';
/* 创意生活频道取新品到着及折扣专区数据的位置码 */
const CODE_TOP_NEW_LIFESTYLE = '04953a61cbf1db426a681e55d496d2fe';
const CODE_TOP_SALE_LIFESTYLE = '8132c7db3adbeb7b0d0002de9691c753';
const CODE_TOP_SALE_LIFESTYLE = '01269e498ff5b07756e0733ec0e88c75';
/**
* 获取新品到着的焦点图资源数据
... ...