index.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. Page({
  2. data: {
  3. shopList: [{
  4. id: 1,
  5. imgurl: "../../images/shop.jpg",
  6. shopname: "大华店",
  7. stars: 4,
  8. mark: true,
  9. new: true,
  10. discount: false,
  11. marktext: "新店促销",
  12. shop_address: "上海市宝山区大华虎城A座10L",
  13. shop_distance: "6.5KM"
  14. }],
  15. tabs: [],
  16. activeTab: 0,
  17. productHeight: 0
  18. },
  19. onLoad: async function () {
  20. var tabs = await this.getProductList();
  21. this.setData({
  22. tabs
  23. });
  24. this.getProductHeight()
  25. },
  26. //动态生成产品的父盒子高度
  27. getProductHeight: function () {
  28. var h = wx.getSystemInfoSync().windowHeight * (750 / wx.getSystemInfoSync().windowWidth);
  29. var productHeight = h - 430;
  30. this.setData({
  31. productHeight
  32. })
  33. },
  34. getProductList: async function () {
  35. const self = this
  36. var titles = ["全部项目", "SPA", "泡浴", "推拿", "足浴"];
  37. const tabs = [];
  38. var list = [{
  39. id: "1",
  40. title: "葛优躺(北京躺)电影足疗",
  41. price: "299",
  42. desc: "全店通用",
  43. open: true,
  44. imgurl: "../../images/product01.jpg"
  45. },
  46. {
  47. id: "2",
  48. title: "中式古法推拿",
  49. price: "299",
  50. desc: "暂未开放",
  51. open: false,
  52. imgurl: "../../images/product02.jpg"
  53. },
  54. {
  55. id: "3",
  56. title: "中式古法推拿",
  57. price: "299",
  58. desc: "暂未开放",
  59. open: false,
  60. imgurl: "../../images/product02.jpg"
  61. },
  62. {
  63. id: "4",
  64. title: "葛优躺(北京躺)电影足疗",
  65. price: "299",
  66. desc: "暂未开放",
  67. open: false,
  68. imgurl: "../../images/product01.jpg"
  69. }
  70. ]
  71. /* for (let i = 0; i < titles.length; i++) {
  72. let title = titles[i]
  73. let rs = await self.requestAll('https://example.com/ajax?index=0', { // \
  74. mock: true // - 添加这三行
  75. }, {}, 'get')
  76. tabs.push({
  77. title,
  78. productList: rs.list
  79. })
  80. } */
  81. for (let i = 0; i < titles.length; i++) {
  82. let title = titles[i];
  83. tabs.push({
  84. title,
  85. list
  86. })
  87. }
  88. tabs[2].list = [{
  89. id: "1",
  90. title: "葛优躺(北京躺)电影足疗",
  91. price: "299",
  92. desc: "全店通用",
  93. open: true,
  94. imgurl: "../../images/product01.jpg"
  95. }]
  96. return tabs;
  97. },
  98. requestAll(url, data, header = {}, method) {
  99. const _self = this
  100. wx.showLoading()
  101. return new Promise((resolve, reject) => {
  102. wx.request({
  103. url: url,
  104. data: data,
  105. header: header,
  106. dataType: 'json',
  107. method: method,
  108. success: (res => {
  109. wx.hideLoading()
  110. if (res.data.code === 1) {
  111. //200: 服务端业务处理正常结束
  112. resolve(res.data)
  113. } else {
  114. if (res.data.code === 0) {
  115. wx.showToast({
  116. title: res.data.message,
  117. })
  118. }
  119. if (res.data.code === 901) {
  120. console.log(res.data)
  121. }
  122. //其它错误,提示用户错误信息
  123. if (this._errorHandler != null) {
  124. //如果有统一的异常处理,就先调用统一异常处理函数对异常进行处理
  125. this._errorHandler(res)
  126. }
  127. reject(res)
  128. }
  129. }),
  130. fail: (res => {
  131. if (this._errorHandler != null) {
  132. this._errorHandler(res)
  133. }
  134. wx.showToast({
  135. title: '网络异常请,稍后再试~',
  136. })
  137. reject(res)
  138. })
  139. })
  140. })
  141. },
  142. onTabClick(e) {
  143. const index = e.detail.index
  144. this.setData({
  145. activeTab: index
  146. })
  147. },
  148. onChange(e) {
  149. const index = e.detail.index
  150. this.setData({
  151. activeTab: index
  152. })
  153. },
  154. handleClick(e) {
  155. wx.navigateTo({
  156. url: './webview',
  157. })
  158. }
  159. })