su-image.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  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: "su-image",
  37. props: {
  38. src: {
  39. type: String,
  40. default: ""
  41. },
  42. errorSrc: {
  43. type: String,
  44. default: "/static/img/shop/empty_network.png"
  45. },
  46. mode: {
  47. type: String,
  48. default: "widthFix"
  49. },
  50. isPreview: {
  51. type: Boolean,
  52. default: false
  53. },
  54. previewList: {
  55. type: Array,
  56. default() {
  57. return [];
  58. }
  59. },
  60. current: {
  61. type: Number,
  62. default: -1
  63. },
  64. height: {
  65. type: Number,
  66. default: 0
  67. },
  68. width: {
  69. type: Number,
  70. default: 0
  71. },
  72. radius: {
  73. type: Number,
  74. default: 0
  75. }
  76. },
  77. emits: ["load", "error"],
  78. setup(__props, { emit: emits }) {
  79. const props = __props;
  80. const state = common_vendor.reactive({
  81. isError: false,
  82. imgHeight: 600
  83. });
  84. const customStyle = common_vendor.computed(() => {
  85. return {
  86. height: (props.height || state.imgHeight) + "rpx",
  87. width: props.width ? props.width + "rpx" : "100%",
  88. borderRadius: props.radius ? props.radius + "rpx" : ""
  89. };
  90. });
  91. function onImgLoad(e) {
  92. if (props.height === 0) {
  93. state.imgHeight = e.detail.height / e.detail.width * 750;
  94. }
  95. }
  96. function onImgError(e) {
  97. state.isError = true;
  98. emits("error", e);
  99. }
  100. function onImgPreview() {
  101. if (!props.isPreview)
  102. return;
  103. common_vendor.index.previewImage({
  104. urls: props.previewList.length < 1 ? [props.src] : props.previewList,
  105. current: props.current,
  106. longPressActions: {
  107. itemList: ["发送给朋友", "保存图片", "收藏"],
  108. success: function(data) {
  109. console.log("选中了第" + (data.tapIndex + 1) + "个按钮,第" + (data.index + 1) + "张图片");
  110. },
  111. fail: function(err) {
  112. console.log(err.errMsg);
  113. }
  114. }
  115. });
  116. }
  117. return (_ctx, _cache) => {
  118. return common_vendor.e({
  119. a: !state.isError
  120. }, !state.isError ? {
  121. b: common_vendor.s(common_vendor.unref(customStyle)),
  122. c: __props.mode,
  123. d: common_vendor.unref(sheep_index.sheep).$url.cdn(__props.src),
  124. e: common_vendor.o(onImgPreview),
  125. f: common_vendor.o(onImgLoad),
  126. g: common_vendor.o(onImgError)
  127. } : {});
  128. };
  129. }
  130. };
  131. const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-ed9e576c"], ["__file", "/Users/RuHu.Xu/Desktop/mall-newfeifan-zx-app/sheep/ui/su-image/su-image.vue"]]);
  132. wx.createComponent(Component);