123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- define(['$', 'template', 'api', 'native', 'config', 'user'], function ($, template, api, native, config, user) {
- function back(backHash) {
- $(document).trigger('spa:navigate', {
- hash: 'myOrder/1',
- 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);
- $.newTouch('.btn-pay', function (event) {
- event.preventDefault();
- var orderID = $view.data('orderID');
- var appendID = $view.data('appendID');
- var payChannel = $(this).attr('data-pay-channel');
- if (config.isWX) {
- payChannel = 'wx_pub';
- }
- if (!payChannel) return;
- $doc.trigger('spa:openloader');
- api.getAppendPayCharge({
- user_id: user.id,
- order_id: orderID,
- pay_channel: payChannel,
- append_id: appendID
- }, 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'
- });
- } else {
- $doc.trigger('spa:openpanel', ['simpleAlert', {
- message: resA.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 appendID = pushData.appendID;
- $view.data('appendID', appendID);
- $view.data('orderID', orderID);
- var appendOrder = user.appendOrder;
- if (!config.isWX && !config.isChubao) {
- 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: appendOrder.products_str,
- orderprice: appendOrder.price
- });
- $('.spa-page-body', $view).html(tpl);
- dtd.resolve();
- })
- } else {
- var tpl = template('pay/index', {
- showNavBar: !config.isWX && !config.isChubao,
- wxPub: true,
- orderType: appendOrder.products_str,
- orderprice: appendOrder.price
- });
- $('.spa-page-body', $view).html(tpl);
- dtd.resolve();
- }
- }
- }
- })
|