|
@@ -1,147 +1,156 @@
|
|
|
define(['$', 'template', 'api', 'native', 'config', 'user'], function ($, template, api, native, config, user) {
|
|
|
- function back(backHash) {
|
|
|
- $(document).trigger('spa:navigate', {
|
|
|
- hash: backHash,
|
|
|
- pushData: {
|
|
|
- dontNeedReload: true,
|
|
|
- animate: 'slideOutDown' //强制设置动画为落下
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
|
|
|
- return {
|
|
|
- title: '壹管家上门服务',
|
|
|
- body: '',
|
|
|
- init: function (pageData, dtd) {
|
|
|
- var $view = this;
|
|
|
- var $doc = $(document);
|
|
|
-
|
|
|
- $.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);
|
|
|
+ var backHash; // 回退页面
|
|
|
+ var orderID; // 订单ID
|
|
|
+ var orderType; // 订单类型
|
|
|
+ var orderPrice; // 订单价格
|
|
|
+ var isRecharge = false; // 是否是充值
|
|
|
+
|
|
|
+ function back() {
|
|
|
+ $(document).trigger('spa:navigate', {
|
|
|
+ hash: backHash,
|
|
|
+ pushData: {
|
|
|
+ dontNeedReload: true,
|
|
|
+ animate: 'slideOutDown' //强制设置动画为落下
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
|
|
|
- $.newTouch('.btn-pay', function (event) {
|
|
|
- event.preventDefault();
|
|
|
- var orderID = $view.data('orderID');
|
|
|
- var orderprice = $view.data('orderprice');
|
|
|
- var payChannel = $(this).attr('data-pay-channel');
|
|
|
- if (config.isWX) {
|
|
|
- payChannel = 'wx_pub';
|
|
|
- }
|
|
|
- if (!payChannel) return;
|
|
|
- $doc.trigger('spa:openloader');
|
|
|
- api.getPayCharge({
|
|
|
- user_id: user.id,
|
|
|
- order_id: orderID,
|
|
|
- pay_channel: payChannel
|
|
|
- }, function (res) {
|
|
|
- $doc.trigger('spa:closeloader');
|
|
|
- if (res.success) {
|
|
|
- var orderInfo = user.getOrderInfo(orderID);
|
|
|
- var params = {
|
|
|
- orderInfo: orderInfo,
|
|
|
- charge: res.data
|
|
|
- }
|
|
|
- native.pay(params, function (resA) {
|
|
|
- if (resA.success) {
|
|
|
- $doc.trigger('spa:navigate', {
|
|
|
- hash: 'paySuccess'
|
|
|
+ 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(params, function (resA) {
|
|
|
+ if (resA.success) {
|
|
|
+ $doc.trigger('spa:navigate', {
|
|
|
+ hash: 'paySuccess'
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ $doc.trigger('spa:openpanel', ['simpleAlert', {
|
|
|
+ message: resA.message
|
|
|
+ }]);
|
|
|
+ }
|
|
|
});
|
|
|
- } else {
|
|
|
+ } else {
|
|
|
$doc.trigger('spa:openpanel', ['simpleAlert', {
|
|
|
- message: resA.message
|
|
|
+ message: res.message
|
|
|
}]);
|
|
|
- }
|
|
|
- });
|
|
|
- // }
|
|
|
- } else {
|
|
|
- $doc.trigger('spa:openpanel', ['simpleAlert', {
|
|
|
- message: res.message
|
|
|
- }]);
|
|
|
+ }
|
|
|
}
|
|
|
- });
|
|
|
- }, $view);
|
|
|
-
|
|
|
- //返回
|
|
|
- $.newTouch('.cancel-button', function (event) {
|
|
|
- event.preventDefault();
|
|
|
-
|
|
|
- back($view.data('backHash'));
|
|
|
- }, $view);
|
|
|
-
|
|
|
- $view.on('tapBackButton', function(event) {
|
|
|
- event.preventDefault();
|
|
|
-
|
|
|
- back($view.data('backHash'));
|
|
|
- });
|
|
|
-
|
|
|
- dtd.resolve();
|
|
|
- },
|
|
|
- beforeopen: function(pageData, dtd){
|
|
|
- var $view = this;
|
|
|
- var pushData = pageData.pushData;
|
|
|
- var orderID = pushData.orderID;
|
|
|
- var backHash = pushData.backHash ? pushData.backHash : '';
|
|
|
-
|
|
|
- $view.data('backHash', backHash);
|
|
|
- $view.data('orderID', orderID);
|
|
|
-
|
|
|
- var orders = user.orders[1].data;
|
|
|
- var orderType, orderprice;
|
|
|
- for (var i = 0, len = orders.length; i < len; i++) {
|
|
|
- if (orders[i].id == orderID) {
|
|
|
- orderType = orders[i].products[0].name;
|
|
|
- orderprice = orders[i].final_price;
|
|
|
- };
|
|
|
- };
|
|
|
-
|
|
|
- $view.data('orderprice', orderprice);
|
|
|
-
|
|
|
- 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 {
|
|
|
- var tpl = template('pay/index', {
|
|
|
- showNavBar: !config.isWX && !config.isChubao,
|
|
|
- wxPub: true,
|
|
|
- orderType: orderType,
|
|
|
- orderprice: orderprice
|
|
|
- });
|
|
|
- $('.spa-page-body', $view).html(tpl);
|
|
|
-
|
|
|
- dtd.resolve();
|
|
|
- }
|
|
|
|
|
|
+ $.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);
|
|
|
+ });
|
|
|
+
|
|
|
+ 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) {
|
|
|
+ orderType = orders[i].products[0].name;
|
|
|
+ orderPrice = orders[i].final_price;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
+ var tpl = template('pay/index', {
|
|
|
+ showNavBar: !config.isWX && !config.isChubao,
|
|
|
+ wxPub: true,
|
|
|
+ orderType: orderType,
|
|
|
+ orderPrice: orderPrice
|
|
|
+ });
|
|
|
+ $('.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 {
|
|
|
+ //
|
|
|
+ // }
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
})
|