rechargee.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. define(['$', 'template', 'IScroll', 'recharge', 'native', 'config', 'user'], function ($, template, IScroll, recharge, native, config, user) {
  2. function back(event) {
  3. event.preventDefault();
  4. $(document).trigger('spa:navigate', {
  5. hash: '',
  6. pushData: {
  7. dontNeedReload: true
  8. }
  9. });
  10. }
  11. return {
  12. title: '充值卡',
  13. body: '',
  14. init: function (pageData, dtd) {
  15. /* this是什么? */
  16. var $view = this;
  17. var $doc = $(document);
  18. /* 定义按钮事件。
  19. * 为什么不是$(selector).onclick(function)呢?
  20. */
  21. // 返回
  22. $view.on('swipeRight', function (event) {
  23. //back.call(this, event);
  24. history.go(-1);
  25. });
  26. $.newTouch('.back-button', function (event) {
  27. //back.call(this, event);
  28. history.go(-1);
  29. }, $view);
  30. $view.on('tapBackButton', function (event) {
  31. //back.call(this, event);
  32. history.go(-1);
  33. });
  34. // 点击充值
  35. $.newTouch('.btn-add-recharge', function (event) {
  36. event.preventDefault();
  37. $doc.trigger('spa:openloader');
  38. var value = $(this).attr('data-value');
  39. recharge.addRechargeorder({
  40. user_id: user.id,
  41. recharge_id: $(this).attr('data-id')
  42. }, function (res) {
  43. $doc.trigger('spa:closeloader');
  44. if (res.success) {
  45. // 更新user的订单
  46. user.orders[1].data.push({
  47. id: res.data._id.$id,
  48. products: [{ product:{name: '充值' + value + '元'}}],
  49. final_price: res.data.price
  50. });
  51. // 只能用现金支付,跳转到pay页面
  52. $doc.trigger('spa:navigate', {
  53. hash: 'pay',
  54. pushData: {
  55. isRecharge: true,
  56. orderID: res.data._id.$id,
  57. backHash: 'recharge'
  58. }
  59. });
  60. }
  61. });
  62. }, $view);
  63. dtd.resolve();
  64. },
  65. beforeopen: function (pageData, dtd) {
  66. dtd.resolve();
  67. },
  68. afteropen: function (pageData, dtd) {
  69. var $view = this;
  70. var $doc = $(document);
  71. if (!pageData.pushData.dontNeedReload) {
  72. $doc.trigger('spa:openloader');
  73. recharge.getRechargeList(function (res) {
  74. $doc.trigger('spa:closeloader');
  75. if (res.success) {
  76. var tpl = template('recharge/index', {
  77. showNavBar: !config.isWX,
  78. recharges: res.data
  79. });
  80. $('.spa-page-body', $view).html(tpl);
  81. setTimeout(function () {
  82. pageData.scroll = new IScroll('#rechargeScroll');
  83. }, 500);
  84. }
  85. });
  86. }
  87. dtd.resolve();
  88. },
  89. beforeclose: function (pageData, dtd) {
  90. dtd.resolve();
  91. }
  92. }
  93. })