mine.js 4.3 KB

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