|
@@ -1,182 +1,180 @@
|
|
define(['$', 'template', 'api', 'native', 'config', 'user'], function ($, template, api, native, config, user) {
|
|
define(['$', 'template', 'api', 'native', 'config', 'user'], function ($, template, api, native, config, user) {
|
|
|
|
|
|
- var backHash; // 回退页面
|
|
|
|
- var orderID; // 订单ID
|
|
|
|
- var orderType; // 订单类型
|
|
|
|
- var orderCoupon = 0; // 使用代金券支付的金额
|
|
|
|
- var orderBalance = 0; // 使用余额支付的金额
|
|
|
|
- var orderPayValue = 0; // 使用微信支付的金额
|
|
|
|
- var isRecharge = false; // 是否是充值
|
|
|
|
- function back() {
|
|
|
|
- $(document).trigger('spa:navigate', {
|
|
|
|
- hash: backHash,
|
|
|
|
- pushData: {
|
|
|
|
- dontNeedReload: true,
|
|
|
|
- animate: 'slideOutDown' //强制设置动画为落下
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
- return {
|
|
|
|
- title: '壹管家上门服务',
|
|
|
|
- body: '',
|
|
|
|
- init: function (pageData, dtd) {
|
|
|
|
- var $view = this;
|
|
|
|
- var $doc = $(document);
|
|
|
|
- // 充值的回调
|
|
|
|
- function payResult(res) {
|
|
|
|
- console.log(res.message);
|
|
|
|
- $doc.trigger('spa:closeloader');
|
|
|
|
- if (res.success) {
|
|
|
|
- var orderInfo = user.getOrderInfo(orderID);
|
|
|
|
- var params = {
|
|
|
|
- orderInfo: orderInfo,
|
|
|
|
- charge: res.data,
|
|
|
|
- isSpecial: res.data.body == "活动产品"
|
|
|
|
- };
|
|
|
|
- native.pay(params, function (resA) {
|
|
|
|
- if (resA.success) {
|
|
|
|
- if (res.data.body == "活动产品"){
|
|
|
|
- /*$doc.trigger('spa:openpanel', ['simpleAlert', {
|
|
|
|
- message: "活动产品支付成功了"
|
|
|
|
- }]);*/
|
|
|
|
- $doc.trigger('spa:navigate', {
|
|
|
|
- hash: 'bargain'
|
|
|
|
- });
|
|
|
|
- }else {
|
|
|
|
- $doc.trigger('spa:navigate', {
|
|
|
|
- hash: 'paySuccess'
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
- } else {
|
|
|
|
- $doc.trigger('spa:openpanel', ['simpleAlert', {
|
|
|
|
- message: resA.message
|
|
|
|
- }]);
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
- } else {
|
|
|
|
- $doc.trigger('spa:openpanel', ['simpleAlert', {
|
|
|
|
- message: res.message
|
|
|
|
- }]);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- $.newTouch('.pay-option', function (event) {
|
|
|
|
- event.preventDefault();
|
|
|
|
- var payChannel = $(this).data('value');
|
|
|
|
- $('.btn-pay', $view).attr('data-pay-channel', payChannel);
|
|
|
|
- $(this).addClass('checked').parent().siblings().find('a').removeClass('checked');
|
|
|
|
- }, $view);
|
|
|
|
- $.newTouch('.btn-pay', function (event) {
|
|
|
|
- event.preventDefault();
|
|
|
|
- var payChannel = $(this).attr('data-pay-channel');
|
|
|
|
- if (config.isWX) {
|
|
|
|
- payChannel = 'wx_pub';
|
|
|
|
- }
|
|
|
|
- if (!payChannel) return;
|
|
|
|
- $doc.trigger('spa:openloader');
|
|
|
|
- var params = {
|
|
|
|
- user_id: user.id,
|
|
|
|
- order_id: orderID,
|
|
|
|
- pay_channel: payChannel
|
|
|
|
- };
|
|
|
|
- if (isRecharge){
|
|
|
|
- api.payRecharge(params, function (res) {
|
|
|
|
- payResult(res)
|
|
|
|
- });
|
|
|
|
- }else {
|
|
|
|
- api.getPayCharge(params, function (res) {
|
|
|
|
- payResult(res)
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
- }, $view);
|
|
|
|
- //返回
|
|
|
|
- $.newTouch('.cancel-button', function (event) {
|
|
|
|
- event.preventDefault();
|
|
|
|
- back.call(this, event);
|
|
|
|
- }, $view);
|
|
|
|
- $view.on('tapBackButton', function (event) {
|
|
|
|
- event.preventDefault();
|
|
|
|
- back.call(this, event);
|
|
|
|
- });
|
|
|
|
- /*$view.on('swipeRight', function (event) {
|
|
|
|
- event.preventDefault();
|
|
|
|
- back.call(this, event);
|
|
|
|
- });*/
|
|
|
|
- dtd.resolve();
|
|
|
|
- },
|
|
|
|
- beforeopen: function (pageData, dtd) {
|
|
|
|
- var $view = this;
|
|
|
|
- var pushData = pageData.pushData;
|
|
|
|
- orderID = pushData.orderID;
|
|
|
|
- backHash = pushData.backHash ? pushData.backHash : '';
|
|
|
|
- isRecharge = pushData.isRecharge;
|
|
|
|
- // 在用户的所有订单中找出这个订单
|
|
|
|
- var orders = user.orders[1].data;
|
|
|
|
- for (var i = 0, len = orders.length; i < len; i++) {
|
|
|
|
- if (orders[i].id == orderID) {
|
|
|
|
- var selectOrder = orders[i];
|
|
|
|
- orderType = selectOrder.products[0].product.name;
|
|
|
|
- if (selectOrder.coupons && selectOrder.coupons.length){
|
|
|
|
- for (i in selectOrder.coupons){
|
|
|
|
- orderCoupon += parseInt(selectOrder.coupons[i].coupon.value);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- if (selectOrder.pay_price && selectOrder.pay_price != 0){
|
|
|
|
- orderBalance = selectOrder.final_price - selectOrder.pay_price;
|
|
|
|
- }
|
|
|
|
- if (selectOrder.pay_price && selectOrder.pay_price != 0){
|
|
|
|
- orderPayValue = selectOrder.pay_price;
|
|
|
|
- }else {
|
|
|
|
- orderPayValue = selectOrder.final_price;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ var backHash; // 回退页面
|
|
|
|
+ var orderID; // 订单ID
|
|
|
|
+ var orderType; // 订单类型
|
|
|
|
+ var orderCoupon = 0; // 使用代金券支付的金额
|
|
|
|
+ var orderBalance = 0; // 使用余额支付的金额
|
|
|
|
+ var orderPayValue = 0; // 使用微信支付的金额
|
|
|
|
+ var isRecharge = false; // 是否是充值
|
|
|
|
+ function back() {
|
|
|
|
+ $(document).trigger('spa:navigate', {
|
|
|
|
+ hash: backHash,
|
|
|
|
+ pushData: {
|
|
|
|
+ dontNeedReload: true,
|
|
|
|
+ animate: 'slideOutDown' //强制设置动画为落下
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return {
|
|
|
|
+ title: '壹管家上门服务',
|
|
|
|
+ body: '',
|
|
|
|
+ init: function (pageData, dtd) {
|
|
|
|
+ var $view = this;
|
|
|
|
+ var $doc = $(document);
|
|
|
|
+ // 充值的回调
|
|
|
|
+ function payResult(res) {
|
|
|
|
+ $doc.trigger('spa:closeloader');
|
|
|
|
+ if (res.success) {
|
|
|
|
+ var orderInfo = user.getOrderInfo(orderID);
|
|
|
|
+ var params = {
|
|
|
|
+ orderInfo: orderInfo,
|
|
|
|
+ charge: res.data
|
|
|
|
+ };
|
|
|
|
+ // 调用native中pay方法,传值orderInfo,charge并做回调,返回充值结果
|
|
|
|
+ native.pay(params, function (resA) {
|
|
|
|
+ if (resA.success) {
|
|
|
|
+ $doc.trigger('spa:navigate', {
|
|
|
|
+ hash: 'paySuccess'
|
|
|
|
+ });
|
|
|
|
+ } else {
|
|
|
|
+ $doc.trigger('spa:openpanel', ['simpleAlert', {
|
|
|
|
+ message: resA.message
|
|
|
|
+ }]);
|
|
}
|
|
}
|
|
- if(orderType=='充值1元'){
|
|
|
|
- orderType="其他数额";
|
|
|
|
|
|
+ });
|
|
|
|
+ } else {
|
|
|
|
+ $doc.trigger('spa:openpanel', ['simpleAlert', {
|
|
|
|
+ message: res.message
|
|
|
|
+ }]);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ $.newTouch('.pay-option', function (event) {
|
|
|
|
+ event.preventDefault();
|
|
|
|
+ var payChannel = $(this).data('value');
|
|
|
|
+ $('.btn-pay', $view).attr('data-pay-channel', payChannel);
|
|
|
|
+ $(this).addClass('checked').parent().siblings().find('a').removeClass('checked');
|
|
|
|
+ }, $view);
|
|
|
|
+ // 真正的微信支付开始
|
|
|
|
+ $.newTouch('.btn-pay', function (event) {
|
|
|
|
+ event.preventDefault();
|
|
|
|
+ // 获取自定义的data-pay-channel的值,即支付方式
|
|
|
|
+ var payChannel = $(this).attr('data-pay-channel');
|
|
|
|
+ // 判断当前客户端是否为微信公众号
|
|
|
|
+ if (config.isWX) {
|
|
|
|
+ payChannel = 'wx_pub';
|
|
|
|
+ }
|
|
|
|
+ if (!payChannel) return;
|
|
|
|
+ // 显示加载动画
|
|
|
|
+ $doc.trigger('spa:openloader');
|
|
|
|
+ // 定义params对象,内置 用户id,订单id,支付方式
|
|
|
|
+ var params = {
|
|
|
|
+ user_id: user.id,
|
|
|
|
+ order_id: orderID,
|
|
|
|
+ pay_channel: payChannel
|
|
|
|
+ };
|
|
|
|
+ // 判断是否是充值 PS:其实没啥用,都是走同一个支付入口的
|
|
|
|
+ if (isRecharge) {
|
|
|
|
+ api.payRecharge(params, function (res) {
|
|
|
|
+ payResult(res)
|
|
|
|
+ });
|
|
|
|
+ } else {
|
|
|
|
+ api.getPayCharge(params, function (res) {
|
|
|
|
+ payResult(res)
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ }, $view);
|
|
|
|
+ //返回
|
|
|
|
+ $.newTouch('.cancel-button', function (event) {
|
|
|
|
+ event.preventDefault();
|
|
|
|
+ back.call(this, event);
|
|
|
|
+ }, $view);
|
|
|
|
+ $view.on('tapBackButton', function (event) {
|
|
|
|
+ event.preventDefault();
|
|
|
|
+ back.call(this, event);
|
|
|
|
+ });
|
|
|
|
+ /*$view.on('swipeRight', function (event) {
|
|
|
|
+ event.preventDefault();
|
|
|
|
+ back.call(this, event);
|
|
|
|
+ });*/
|
|
|
|
+ dtd.resolve();
|
|
|
|
+ },
|
|
|
|
+ beforeopen: function (pageData, dtd) {
|
|
|
|
+ var $view = this;
|
|
|
|
+ var pushData = pageData.pushData;
|
|
|
|
+ orderID = pushData.orderID;
|
|
|
|
+ backHash = pushData.backHash ? pushData.backHash : '';
|
|
|
|
+ isRecharge = pushData.isRecharge;
|
|
|
|
+ // 在用户的所有订单中找出这个订单
|
|
|
|
+ var orders = user.orders[1].data;
|
|
|
|
+ for (var i = 0, len = orders.length; i < len; i++) {
|
|
|
|
+ if (orders[i].id == orderID) {
|
|
|
|
+ var selectOrder = orders[i];
|
|
|
|
+ orderType = selectOrder.products[0].product.name;
|
|
|
|
+ if (selectOrder.coupons && selectOrder.coupons.length) {
|
|
|
|
+ for (i in selectOrder.coupons) {
|
|
|
|
+ orderCoupon += parseInt(selectOrder.coupons[i].coupon.value);
|
|
}
|
|
}
|
|
- var tpl = template('pay/index', {
|
|
|
|
- showNavBar: !config.isWX && !config.isChubao,
|
|
|
|
- wxPub: true,
|
|
|
|
- orderType: orderType,
|
|
|
|
- isRecharge: isRecharge,
|
|
|
|
- isShow: !isRecharge,
|
|
|
|
- orderCoupon: orderCoupon,
|
|
|
|
- orderBalance: orderBalance,
|
|
|
|
- orderPayValue: orderPayValue
|
|
|
|
- });
|
|
|
|
- $('.spa-page-body', $view).html(tpl);
|
|
|
|
- dtd.resolve();
|
|
|
|
- // if (config.isAndroid || config.isIOS) {
|
|
|
|
- // native.isWxAppInstalled(function(res){
|
|
|
|
- // var showWX = true;
|
|
|
|
- // if (res.success && !res.isInstalled) {
|
|
|
|
- // showWX = false;
|
|
|
|
- // }
|
|
|
|
- // if (config.appVersion < '2.2') {
|
|
|
|
- // //微信支付2.2版本以下有问题 隐藏按钮
|
|
|
|
- // showWX = false;
|
|
|
|
- // }
|
|
|
|
- // var tpl = template('pay/index', {
|
|
|
|
- // showWX: showWX,
|
|
|
|
- // showNavBar: !config.isWX && !config.isChubao,
|
|
|
|
- // orderType: orderType,
|
|
|
|
- // orderprice: orderprice
|
|
|
|
- // });
|
|
|
|
- // $('.spa-page-body', $view).html(tpl);
|
|
|
|
- //
|
|
|
|
- // dtd.resolve();
|
|
|
|
- // })
|
|
|
|
- // } else if (config.isChubao) {
|
|
|
|
- // var tpl = template('pay/index', {
|
|
|
|
- // showNavBar: !config.isWX && !config.isChubao,
|
|
|
|
- // orderType: orderType,
|
|
|
|
- // orderprice: orderprice,
|
|
|
|
- // chubao: true
|
|
|
|
- // });
|
|
|
|
- // $('.spa-page-body', $view).html(tpl);
|
|
|
|
- // dtd.resolve();
|
|
|
|
- // } else {
|
|
|
|
- //
|
|
|
|
- // }
|
|
|
|
|
|
+ }
|
|
|
|
+ if (selectOrder.pay_price && selectOrder.pay_price != 0) {
|
|
|
|
+ orderBalance = selectOrder.final_price - selectOrder.pay_price;
|
|
|
|
+ }
|
|
|
|
+ if (selectOrder.pay_price && selectOrder.pay_price != 0) {
|
|
|
|
+ orderPayValue = selectOrder.pay_price;
|
|
|
|
+ } else {
|
|
|
|
+ orderPayValue = selectOrder.final_price;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
+ }
|
|
|
|
+ if (orderType == '充值1元') {
|
|
|
|
+ orderType = "其他数额";
|
|
|
|
+ }
|
|
|
|
+ var tpl = template('pay/index', {
|
|
|
|
+ showNavBar: !config.isWX && !config.isChubao,
|
|
|
|
+ wxPub: true,
|
|
|
|
+ orderType: orderType,
|
|
|
|
+ isRecharge: isRecharge,
|
|
|
|
+ isShow: !isRecharge,
|
|
|
|
+ orderCoupon: orderCoupon,
|
|
|
|
+ orderBalance: orderBalance,
|
|
|
|
+ orderPayValue: orderPayValue
|
|
|
|
+ });
|
|
|
|
+ $('.spa-page-body', $view).html(tpl);
|
|
|
|
+ dtd.resolve();
|
|
|
|
+ // if (config.isAndroid || config.isIOS) {
|
|
|
|
+ // native.isWxAppInstalled(function(res){
|
|
|
|
+ // var showWX = true;
|
|
|
|
+ // if (res.success && !res.isInstalled) {
|
|
|
|
+ // showWX = false;
|
|
|
|
+ // }
|
|
|
|
+ // if (config.appVersion < '2.2') {
|
|
|
|
+ // //微信支付2.2版本以下有问题 隐藏按钮
|
|
|
|
+ // showWX = false;
|
|
|
|
+ // }
|
|
|
|
+ // var tpl = template('pay/index', {
|
|
|
|
+ // showWX: showWX,
|
|
|
|
+ // showNavBar: !config.isWX && !config.isChubao,
|
|
|
|
+ // orderType: orderType,
|
|
|
|
+ // orderprice: orderprice
|
|
|
|
+ // });
|
|
|
|
+ // $('.spa-page-body', $view).html(tpl);
|
|
|
|
+ //
|
|
|
|
+ // dtd.resolve();
|
|
|
|
+ // })
|
|
|
|
+ // } else if (config.isChubao) {
|
|
|
|
+ // var tpl = template('pay/index', {
|
|
|
|
+ // showNavBar: !config.isWX && !config.isChubao,
|
|
|
|
+ // orderType: orderType,
|
|
|
|
+ // orderprice: orderprice,
|
|
|
|
+ // chubao: true
|
|
|
|
+ // });
|
|
|
|
+ // $('.spa-page-body', $view).html(tpl);
|
|
|
|
+ // dtd.resolve();
|
|
|
|
+ // } else {
|
|
|
|
+ //
|
|
|
|
+ // }
|
|
}
|
|
}
|
|
|
|
+ }
|
|
})
|
|
})
|