giftCard.js 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. const app = getApp()
  2. const api = require("../../../../../../../request/api.js");
  3. const http = require('../../../../../../../request/http');
  4. const utils = require('../../../../../../../utils/util.js');
  5. const storeKeys = require('../../../../../../../utils/storageKeys.js');
  6. Component({
  7. properties: {
  8. },
  9. data: {
  10. currentSwiper: 0, //轮播图索引
  11. swiperData: [], //轮播图数据
  12. list: [], //页面数据
  13. isLoading: true, //是否处于加载中
  14. },
  15. ready: function () {
  16. this.getData();
  17. },
  18. methods: {
  19. //获取页面内容
  20. getData() {
  21. this.data.page = 1;
  22. // 获取广告
  23. let promise1 = new Promise((resolve) => {
  24. this.getAdList(() => {
  25. resolve();
  26. });
  27. })
  28. // 获取卡列表
  29. let promise2 = new Promise((resolve) => {
  30. this.getPageData(() => {
  31. resolve();
  32. });
  33. })
  34. Promise.all([promise1, promise2]).then((values) => {
  35. wx.hideLoading();
  36. this.setData({
  37. isLoading: false
  38. });
  39. }).catch((error) => {})
  40. },
  41. onPullDownRefresh: function () {
  42. wx.stopPullDownRefresh();
  43. this.getData();
  44. },
  45. //获取页面广告数据
  46. getAdList(resolve) {
  47. http.request({
  48. url: api.URL + '/api/ad/list?ad_types=6',
  49. method: 'GET',
  50. success: (res) => {
  51. let data = res.data.data;
  52. console.log(data)
  53. let swiperData = data[6] || [];
  54. resolve && resolve();
  55. console.log(swiperData)
  56. this.setData({
  57. swiperData
  58. })
  59. },
  60. error: (res) => {
  61. resolve && resolve();
  62. },
  63. })
  64. },
  65. //获取页面数据
  66. getPageData(resolve) {
  67. wx.showLoading({
  68. title: "加载中"
  69. });
  70. http.request({
  71. url: api.URL + "/api/goods/ricelist",
  72. token: utils.getStorageSync(storeKeys.TOKEN),
  73. method: 'GET',
  74. success: (res) => {
  75. console.log(res)
  76. if (resolve) {
  77. resolve();
  78. } else {
  79. wx.hideLoading();
  80. }
  81. let list = res.data.data.list;
  82. this.setData({
  83. list
  84. });
  85. },
  86. error: (res) => {
  87. resolve && resolve();
  88. }
  89. })
  90. },
  91. //前往商品详情
  92. goToGoodsDetail: utils.throttle(function (e) {
  93. let goodsId = e.currentTarget.dataset.id;
  94. wx.navigateTo({
  95. url: '/pages/cart/pages/goodsDetail/goodsDetail?goods_id=' + goodsId
  96. })
  97. }),
  98. //监听轮播图滚动
  99. swiperChange(e) {
  100. this.setData({
  101. currentSwiper: e.detail.current
  102. })
  103. },
  104. //广告点击
  105. swiperItemClick: utils.throttle(function (e) {
  106. let id = e.currentTarget.dataset.id;
  107. //跳转id
  108. let jumpId = e.currentTarget.dataset.jumpid;
  109. //跳转类型 0:不跳转 1:商品详情 2:探秘 3:体验 4:购买礼品卡(惠存) 5:领券中心(惠买) 6:我的优惠卷(可使用) 7:裂变礼包活动
  110. let jumpType = e.currentTarget.dataset.jumptype;
  111. // jumpType = 2
  112. if (jumpType == 6 || jumpType == 9) {
  113. if (!utils.getStorageSync(storeKeys.TOKEN)) {
  114. wx.navigateTo({
  115. url: "/pages/tabBar/login/login"
  116. })
  117. return;
  118. }
  119. }
  120. switch (jumpType) {
  121. case 0: //不跳转
  122. break;
  123. case 1: //商品详情
  124. wx.navigateTo({
  125. url: "/pages/cart/pages/goodsDetail/goodsDetail?goods_id=" + jumpId
  126. })
  127. break;
  128. case 2: //探秘
  129. wx.navigateTo({
  130. url: "/pages/index/pages/explore/explore"
  131. })
  132. break;
  133. case 3: //体验
  134. wx.navigateTo({
  135. url: "/pages/index/pages/experience/experience"
  136. })
  137. break;
  138. case 4: //购买礼品卡(惠存)
  139. wx.navigateTo({
  140. url: "/pages/index/pages/riceCard/cardList/cardList"
  141. })
  142. break;
  143. case 5: //领券中心(惠买)
  144. wx.navigateTo({
  145. url: "/pages/index/pages/couponCenter/couponCenter"
  146. })
  147. break;
  148. case 6: //我的优惠卷(可使用)
  149. wx.navigateTo({
  150. url: "/pages/index/pages/coupon/myCoupon"
  151. })
  152. break;
  153. case 7: //裂变礼包活动
  154. wx.navigateTo({
  155. url: "/pages/activity/pages/fission/index/index?activityId=" + jumpId
  156. })
  157. break;
  158. case 8: //砍价活动
  159. wx.navigateTo({
  160. url: "/pages/activity/pages/bargain/index/index?activity_id=" + jumpId
  161. })
  162. break;
  163. case 9: //拼团活动
  164. wx.navigateTo({
  165. url: "/pages/activity/pages/groupShopping/groupGoodsDetail/groupGoodsDetail?activity_id=" + jumpId
  166. })
  167. break;
  168. case 10: //拼团裂变活动
  169. wx.navigateTo({
  170. url: "/pages/activity/pages/groupShopping/groupGoodsDetail/groupGoodsDetail?activity_id=" + jumpId + '&isfission=1'
  171. })
  172. break;
  173. case 11: //全场满件送
  174. wx.navigateTo({
  175. url: "/pages/activity/pages/wholeGift/index/index?activityId=" + jumpId
  176. })
  177. break;
  178. case 12: //限时秒杀
  179. wx.navigateTo({
  180. url: "/pages/activity/pages/seckill/index/index?activityId=" + jumpId
  181. })
  182. break;
  183. default:
  184. }
  185. http.request({
  186. url: api.URL + '/api/ad/click_ad?id=' + id + '&mac_id=' + Math.ceil(Math.random() * 100000).toString(),
  187. method: 'GET',
  188. token: utils.getStorageSync(storeKeys.TOKEN),
  189. success: (res) => {},
  190. error: (res) => {},
  191. })
  192. }),
  193. //添加购物车
  194. addCart: utils.throttle(function (e) {
  195. if (!utils.getStorageSync(storeKeys.TOKEN)) {
  196. wx.navigateTo({
  197. url: "/pages/tabBar/login/login"
  198. })
  199. return;
  200. }
  201. let id = e.currentTarget.dataset.id;
  202. let stock_total = e.currentTarget.dataset.stock || 0;
  203. //库存不足
  204. if (stock_total <= 0) {
  205. utils.toast("当前商品暂时缺货")
  206. return;
  207. }
  208. let staffUserId = utils.getStorageSync(storeKeys.SHAREID) || utils.getStorageSync(storeKeys.APPLESID) || 0;
  209. console.log(id)
  210. let data = {
  211. "goodsId": id, //商品ID
  212. "goodsSkuId": "", //商品规格ID
  213. "goodsNum": 1, //购买数量,不能小于1
  214. staffUserId: parseInt(staffUserId)
  215. }
  216. wx.showLoading({
  217. title: "加载中"
  218. });
  219. http.request({
  220. url: api.URL + '/api/cart/add',
  221. method: 'POST',
  222. data,
  223. token: utils.getStorageSync(storeKeys.TOKEN),
  224. success: (res) => {
  225. wx.hideLoading();
  226. utils.setStorageSync(storeKeys.CARETOTAl, res.data.data.cartTotal);
  227. app.changeTabBarBadge(utils.getStorageSync(storeKeys.CARETOTAl));
  228. utils.toast(res.data.message)
  229. },
  230. error: (res) => {
  231. wx.hideLoading();
  232. utils.toast(res.data.message)
  233. },
  234. })
  235. }),
  236. }
  237. })