Authored by 毕凯

Merge branch 'hotfix/alipay' into 'gray'

支付宝改用AJAX跳转



See merge request !401
... ... @@ -3,7 +3,7 @@
* @Author: Targaryen
* @Date: 2017-01-04 15:17:51
* @Last Modified by: Targaryen
* @Last Modified time: 2017-02-20 18:16:09
* @Last Modified time: 2017-03-20 14:03:48
*/
'use strict';
... ... @@ -127,7 +127,11 @@ const pay = (req, res, next) => {
}
if (!orderCode || !uid) {
return res.redirect('/');
return res.json({
code: 400,
message: '订单或用户信息不存在!',
url: '/'
});
}
co(function* () {
... ... @@ -140,7 +144,7 @@ const pay = (req, res, next) => {
if (!orderDetail || !orderDetail.data) {
return res.json({
code: 400,
msg: '没有找到该订单!'
message: '没有找到该订单!'
});
}
... ... @@ -149,8 +153,9 @@ const pay = (req, res, next) => {
return res.json({
code: 400,
msg: '订单已经取消'
}).redirect(url);
message: '订单已经取消',
url: url
});
}
Payment.pay(user, orderDetail.data, payment, {
... ... @@ -162,9 +167,17 @@ const pay = (req, res, next) => {
return res.json(result);
}
if (result && result.data && result.data.href && paymentCode === payModel.payments.alipay) {
return res.redirect(result.data.href);
return res.json({
code: 200,
message: '校验成功',
url: result.data.href
});
} else {
return res.redirect('/');
return res.json({
code: 400,
message: '系统错误!',
url: '/'
});
}
});
})().catch(next);
... ...
... ... @@ -4,10 +4,7 @@
{{/if}}
<div class="payapp-list">
{{# payAppInfo}}
{{#if payLink}}
<a href="{{payLink}}">
{{/if}}
<div class="box" id="{{appId}}">
<div class="box" id="{{appId}}" data-href="{{payLink}}">
<div class="icon">
{{#if appIcon}}
<img src="{{appIcon}}" alt="app图标">
... ... @@ -25,9 +22,6 @@
</div>
<div class="iconfont">&#xe604</div>
</div>
{{#if payLink}}
</a>
{{/if}}
{{/ payAppInfo}}
</div>
<div class="loading-toast hide"></div>
... ...
... ... @@ -23,10 +23,10 @@ var richTip = require('../plugin/rich-tip');
// 点击微信显示加载
var $loadingToast = $('.loading-toast');
/* TODO 影响加载此段 JS */
var theOrderCode = document.getElementById('ordercode') ? document.getElementById('ordercode').value : '';
var wxPayEl = document.getElementById('weixin'),
$aliPayEL = $('#alipay'),
wxHammer = wxPayEl && new Hammer(wxPayEl);
var appIconPosition = {
... ... @@ -133,6 +133,19 @@ function jsApiCall(orderCode, jsApiParameters) {
);
}
// 支付宝支付
if ($aliPayEL && $aliPayEL.length > 0 && $aliPayEL.data('href')) {
$aliPayEL.on('click', function() {
$.get($aliPayEL.data('href'), function(result) {
if (result && result.code === 200 && result.url) {
window.location.href = result.url;
} else {
tip.show(result && result.message || '系统错误!');
}
});
});
}
// 微信支付
function callpay(orderCode) {
var jsApiParameters;
... ... @@ -195,7 +208,7 @@ function hideAliPay() {
$payApps.each(function(idx, app) {
if ($(app).parent().attr('id') === 'alipay') {
$(app).closest('a').css('display', 'none');
$(app).parent().css('display', 'none');
return false;
}
});
... ...