index.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. import util from '../../../utils/util.js';
  2. import ActiveStatusEnum from '../../../utils/enum/sharp/GoodsStatus.js';
  3. const App = getApp()
  4. Component({
  5. options: {
  6. addGlobalClass: true,
  7. },
  8. /**
  9. * 组件的属性列表
  10. * 用于组件自定义设置
  11. */
  12. properties: {
  13. itemIndex: String,
  14. itemStyle: Object,
  15. params: Object,
  16. data: Object,
  17. },
  18. /**
  19. * 组件私有属性
  20. */
  21. data: {
  22. ActiveStatusEnum, // 秒杀活动商品状态
  23. countDownTime: false, // 倒计时日期
  24. },
  25. /**
  26. * 组件生命周期声明对象
  27. */
  28. lifetimes: {
  29. /**
  30. * 在组件实例进入页面节点树时执行
  31. */
  32. attached() {
  33. let _this = this;
  34. _this._initCountDownData();
  35. }
  36. },
  37. /**
  38. * 组件的方法列表
  39. * 更新属性和数据的方法与更新页面数据的方法类似
  40. */
  41. methods: {
  42. /**
  43. * 跳转商品详情页
  44. */
  45. _onTargetGoods(e) {
  46. // 生成query参数
  47. let _this = this,
  48. query = util.urlEncode({
  49. active_time_id: _this.data.data.active.active_time_id,
  50. sharp_goods_id: e.detail.target.dataset.id,
  51. });
  52. // 跳转到商品详情页
  53. wx.navigateTo({
  54. url: `/pages/sharp/goods/index?${query}`,
  55. });
  56. },
  57. /**
  58. * 更多秒杀
  59. */
  60. _onTargetSharpIndex(e) {
  61. // 跳转到秒杀会场首页
  62. wx.navigateTo({
  63. url: `/pages/sharp/index/index`,
  64. });
  65. },
  66. /**
  67. * 初始化倒计时组件
  68. */
  69. _initCountDownData() {
  70. const app = this
  71. const active = app.data.data.active
  72. if (!active) return false;
  73. // 记录倒计时的时间
  74. app.setData({
  75. countDownTime: active.count_down_time
  76. })
  77. }
  78. }
  79. })