secondary.js 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. define(['$', 'template', 'IScroll', 'user', 'product', 'native', 'config', 'address'], function ($, template, IScroll, user, product, native, config, address) {
  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-product', function (event) {
  43. event.preventDefault();
  44. var type = parseInt($(this).attr('data-product-type'));
  45. /*
  46. * 这个写法是SPA路由框架规定的。
  47. * $(selector).trigger(event, params)是jQuery的:触发被选元素上的指定事件
  48. */
  49. $doc.trigger('spa:navigate', {
  50. hash: 'placeOrder',
  51. pushData: {
  52. product: product.allList[type - 1],
  53. needReset: true
  54. }
  55. });
  56. }, $view);
  57. /*首页*/
  58. $.newTouch('.btn-action-my-order', function () {
  59. event.preventDefault();
  60. $doc.trigger('spa:navigate', {
  61. hash: '',
  62. pushData: {
  63. needReset: true
  64. }
  65. });
  66. },$view);
  67. /*个人中心*/
  68. $.newTouch('.btn-action-coupon', function (event) {
  69. event.preventDefault();
  70. user.checkLogin(function () {
  71. $doc.trigger('spa:navigate', {
  72. hash: 'mine',
  73. pushData: {
  74. needReset: true
  75. }
  76. });
  77. });
  78. }, $view);
  79. /* 不知道什么意思。*/
  80. dtd.resolve();
  81. },
  82. beforeopen: function (pageData, dtd) {
  83. dtd.resolve();
  84. },
  85. afteropen: function (pageData, dtd) {
  86. var $view = this;
  87. var $doc = $(document);
  88. if (pageData.pushData && pageData.pushData.needReset) {
  89. /*var tpl = template('secondary/index', {
  90. showNavBar: !config.isWX,
  91. userName: user.name == '' ? '未登录' : user.name,
  92. userBalance: user.balance,
  93. defaultAddress: addressStr
  94. });*/
  95. var tpl = template('secondary/index', {showNavBar: !config.isWX});
  96. $('.spa-page-body', $view).html(tpl);
  97. setTimeout(function () {
  98. pageData.scroll = new IScroll('#secondaryScroll');
  99. }, 500);
  100. }
  101. /* 又是这个。不知道什么玩意…… */
  102. dtd.resolve();
  103. },
  104. beforeclose: function (pageData, dtd) {
  105. dtd.resolve();
  106. }
  107. }
  108. })