s-image-cube.js 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. "use strict";
  2. const common_vendor = require("../../../common/vendor.js");
  3. const sheep_index = require("../../index.js");
  4. require("../../url/index.js");
  5. require("../../store/index.js");
  6. require("../../store/app.js");
  7. require("../../api/promotion/diy.js");
  8. require("../../request/index.js");
  9. require("../../config/index.js");
  10. require("../../platform/index.js");
  11. require("../../platform/provider/wechat/index.js");
  12. require("../../platform/provider/wechat/miniProgram.js");
  13. require("../../api/member/auth.js");
  14. require("../../api/member/social.js");
  15. require("../../api/member/user.js");
  16. require("../../platform/provider/apple/index.js");
  17. require("../../platform/share.js");
  18. require("../../router/index.js");
  19. require("../../hooks/useModal.js");
  20. require("../../helper/index.js");
  21. require("../../helper/test.js");
  22. require("../../helper/digit.js");
  23. require("../../helper/throttle.js");
  24. require("../../platform/pay.js");
  25. require("../../api/pay/order.js");
  26. require("../../store/user.js");
  27. require("../../store/cart.js");
  28. require("../../api/trade/cart.js");
  29. require("../../api/pay/wallet.js");
  30. require("../../api/trade/order.js");
  31. require("../../api/promotion/coupon.js");
  32. require("../../store/sys.js");
  33. require("../../store/modal.js");
  34. require("../../config/zIndex.js");
  35. const _sfc_main = {
  36. __name: "s-image-cube",
  37. props: {
  38. data: {
  39. type: Object,
  40. default() {
  41. }
  42. },
  43. styles: {
  44. type: Object,
  45. default() {
  46. }
  47. }
  48. },
  49. setup(__props) {
  50. const props = __props;
  51. const windowWidth = sheep_index.sheep.$platform.device.windowWidth;
  52. const cell = common_vendor.computed(() => {
  53. return (windowWidth - ((props.styles.marginLeft || 0) + (props.styles.marginRight || 0) + (props.styles.padding || 0) * 2)) / 4;
  54. });
  55. const parseAdWrap = common_vendor.computed(() => {
  56. var _a, _b, _c, _d;
  57. let heightArr = props.data.list.reduce(
  58. (prev, cur) => prev.includes(cur.height + cur.top) ? prev : [...prev, cur.height + cur.top],
  59. []
  60. );
  61. let heightMax = Math.max(...heightArr);
  62. return {
  63. height: heightMax * cell.value + "px",
  64. width: windowWidth - (((_b = (_a = props.data) == null ? void 0 : _a.style) == null ? void 0 : _b.marginLeft) + ((_d = (_c = props.data) == null ? void 0 : _c.style) == null ? void 0 : _d.marginRight) + props.styles.padding * 2) * 2 + "px"
  65. };
  66. });
  67. const parseImgStyle = (item) => {
  68. let obj = {
  69. width: item.width * cell.value - props.data.space + "px",
  70. height: item.height * cell.value - props.data.space + "px",
  71. left: item.left * cell.value + "px",
  72. top: item.top * cell.value + "px",
  73. "border-top-left-radius": props.data.borderRadiusTop + "px",
  74. "border-top-right-radius": props.data.borderRadiusTop + "px",
  75. "border-bottom-left-radius": props.data.borderRadiusBottom + "px",
  76. "border-bottom-right-radius": props.data.borderRadiusBottom + "px"
  77. };
  78. return obj;
  79. };
  80. return (_ctx, _cache) => {
  81. return {
  82. a: common_vendor.f(__props.data.list, (item, index, i0) => {
  83. return {
  84. a: common_vendor.unref(sheep_index.sheep).$url.cdn(item.imgUrl),
  85. b: common_vendor.s(parseImgStyle(item)),
  86. c: common_vendor.o(($event) => common_vendor.unref(sheep_index.sheep).$router.go(item.url), index),
  87. d: index
  88. };
  89. }),
  90. b: common_vendor.s({
  91. margin: __props.data.space + "px"
  92. }),
  93. c: common_vendor.s(common_vendor.unref(parseAdWrap))
  94. };
  95. };
  96. }
  97. };
  98. const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-c67133d8"], ["__file", "/Users/RuHu.Xu/Desktop/mall-newfeifan-zx-app/sheep/components/s-image-cube/s-image-cube.vue"]]);
  99. wx.createComponent(Component);