mine.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. define(['$', 'template', 'IScroll', 'user', 'native', 'config'], function ($, template, IScroll, user, native, config) {
  2. function back(event) {
  3. event.preventDefault();
  4. $(document).trigger('spa:navigate', {
  5. hash: '',
  6. pushData: {
  7. dontNeedReload: true
  8. }
  9. });
  10. }
  11. /*
  12. * 模块结构:5部分。
  13. * title:题目。
  14. * content:不知道是什么,似乎从没用过。
  15. * 以下可以当作生命周期回调,虽然并不清楚是什么时候回调的……
  16. * init:根据上一个页面传来的pageData初始化本页数据,生成页面,绑定事件。
  17. * beforeopen:接收上一个页面传来的数据、有需要的话重置数据
  18. * afteropen:做一些网络请求。
  19. * beforeclose:
  20. */
  21. return {
  22. title: '我的',
  23. body: '',
  24. init: function (pageData, dtd) {
  25. /* this是什么? */
  26. var $view = this;
  27. var $doc = $(document);
  28. /* 定义按钮事件。
  29. * 为什么不是$(selector).onclick(function)呢?
  30. */
  31. // 返回
  32. $view.on('swipeRight', function (event) {
  33. back.call(this, event);
  34. });
  35. $.newTouch('.back-button', function (event) {
  36. back.call(this, event);
  37. }, $view);
  38. $view.on('tapBackButton', function (event) {
  39. back.call(this, event);
  40. });
  41. // 我的订单
  42. $.newTouch('.btn-my-order', function (event) {
  43. event.preventDefault();
  44. $doc.trigger('spa:navigate', {
  45. hash: 'myOrder/1',
  46. pushData: {
  47. needReload: true
  48. }
  49. });
  50. }, $view);
  51. // 常用地址
  52. // $.newTouch('.btn-address-list', function (event) {
  53. // event.preventDefault();
  54. // $doc.trigger('spa:navigate', {
  55. // hash: 'addressList',
  56. // pushData: {
  57. // needReload: true
  58. // }
  59. // });
  60. // }, $view);
  61. // 充值卡
  62. $.newTouch('.btn-recharge', function (event) {
  63. event.preventDefault();
  64. $doc.trigger('spa:navigate', {
  65. hash: 'recharge',
  66. pushData: {
  67. needReload: true
  68. }
  69. });
  70. }, $view);
  71. // 代金券
  72. $.newTouch('.btn-coupon', function (event) {
  73. event.preventDefault();
  74. user.checkLogin(function () {
  75. $doc.trigger('spa:navigate', {
  76. hash: 'myCoupon'
  77. });
  78. });
  79. }, $view);
  80. // 帮助中心
  81. $.newTouch('.btn-helper', function () {
  82. event.preventDefault();
  83. $doc.trigger('spa:navigate', {
  84. hash: 'help'
  85. });
  86. }, $view);
  87. // 关于
  88. $.newTouch('.btn-about', function () {
  89. event.preventDefault();
  90. $doc.trigger('spa:navigate', {
  91. hash: 'about'
  92. });
  93. }, $view);
  94. /* 定义按钮事件结束。*/
  95. /* 不知道什么意思。*/
  96. dtd.resolve();
  97. },
  98. beforeopen: function (pageData, dtd) {
  99. dtd.resolve();
  100. },
  101. afteropen: function (pageData, dtd) {
  102. var $view = this;
  103. var $doc = $(document);
  104. var tpl = template('mine/index', {
  105. showNavBar: !config.isWX,
  106. userName: user.name == '' ? '未登录' : user.name,
  107. userBalance: user.balance,
  108. });
  109. $('.spa-page-body', $view).html(tpl);
  110. setTimeout(function () {
  111. pageData.scroll = new IScroll('#mineScroll');
  112. }, 500);
  113. /* 又是这个。不知道什么玩意…… */
  114. dtd.resolve();
  115. },
  116. beforeclose: function (pageData, dtd) {
  117. dtd.resolve();
  118. }
  119. }
  120. })