"use strict"; const common_vendor = require("../../../common/vendor.js"); require("../../index.js"); require("../../api/index.js"); require("../../api/distri/score.js"); require("../../request/index.js"); require("../../config/index.js"); require("../../store/index.js"); require("../../store/app.js"); require("../../api/promotion/diy.js"); require("../../platform/index.js"); require("../../platform/provider/wechat/index.js"); require("../../platform/provider/wechat/miniProgram.js"); require("../../api/member/auth.js"); require("../../api/member/social.js"); require("../../api/member/user.js"); require("../../platform/provider/apple/index.js"); require("../../platform/share.js"); require("../../router/index.js"); require("../../hooks/useModal.js"); require("../../helper/index.js"); require("../../helper/test.js"); require("../../helper/digit.js"); require("../../api/member/signin.js"); require("../../helper/throttle.js"); require("../../url/index.js"); require("../../platform/pay.js"); require("../../api/pay/order.js"); require("../../store/user.js"); require("../../store/cart.js"); require("../../api/trade/cart.js"); require("../../api/pay/wallet.js"); require("../../api/trade/order.js"); require("../../api/promotion/coupon.js"); require("../../store/sys.js"); require("../../store/modal.js"); require("../../api/distri/share.js"); require("../../api/distri/team.js"); require("../../api/infra/file.js"); require("../../api/member/address.js"); require("../../api/member/point.js"); require("../../api/migration/app.js"); require("../../api/migration/chat.js"); require("../../api/migration/index.js"); require("../../api/migration/third.js"); require("../../api/pay/channel.js"); require("../../api/product/category.js"); require("../../api/product/comment.js"); require("../../api/product/favorite.js"); require("../../api/product/history.js"); require("../../api/product/spu.js"); require("../../api/promotion/activity.js"); require("../../api/promotion/article.js"); require("../../api/promotion/bargain.js"); require("../../api/promotion/combination.js"); require("../../api/promotion/rewardActivity.js"); require("../../api/promotion/seckill.js"); require("../../api/system/area.js"); require("../../api/system/voice.js"); require("../../api/trade/afterSale.js"); require("../../api/trade/brokerage.js"); require("../../api/trade/config.js"); require("../../api/trade/delivery.js"); require("../../config/zIndex.js"); const _sfc_main = { name: "UniNoticeBar", emits: ["click", "getmore", "close"], props: { text: { type: String, default: "" }, moreText: { type: String, default: "" }, backgroundColor: { type: String, default: "" }, speed: { // 默认1s滚动100px type: Number, default: 100 }, color: { type: String, default: "var(--ui-BG-Main)" }, moreColor: { type: String, default: "#FF9A43" }, single: { // 是否单行 type: [Boolean, String], default: false }, scrollable: { // 是否滚动,添加后控制单行效果取消 type: [Boolean, String], default: false }, showIcon: { // 是否显示左侧icon type: [Boolean, String], default: false }, showGetMore: { // 是否显示右侧查看更多 type: [Boolean, String], default: false }, showClose: { // 是否显示左侧关闭按钮 type: [Boolean, String], default: false } }, data() { const elId = `Uni_${Math.ceil(Math.random() * 1e6).toString(36)}`; const elIdBox = `Uni_${Math.ceil(Math.random() * 1e6).toString(36)}`; return { textWidth: 0, boxWidth: 0, wrapWidth: "", webviewHide: false, elId, elIdBox, show: true, animationDuration: "none", animationPlayState: "paused", animationDelay: "0s" }; }, mounted() { this.$nextTick(() => { this.initSize(); }); }, methods: { initSize() { if (this.scrollable) { let query = []; let textQuery = new Promise((resolve, reject) => { common_vendor.index.createSelectorQuery().in(this).select(`#${this.elId}`).boundingClientRect().exec((ret) => { this.textWidth = ret[0].width; resolve(); }); }); let boxQuery = new Promise((resolve, reject) => { common_vendor.index.createSelectorQuery().in(this).select(`#${this.elIdBox}`).boundingClientRect().exec((ret) => { this.boxWidth = ret[0].width; resolve(); }); }); query.push(textQuery); query.push(boxQuery); Promise.all(query).then(() => { this.animationDuration = `${this.textWidth / this.speed}s`; this.animationDelay = `-${this.boxWidth / this.speed}s`; setTimeout(() => { this.animationPlayState = "running"; }, 1e3); }); } }, loopAnimation() { }, clickMore() { this.$emit("getmore"); }, close() { this.show = false; this.$emit("close"); }, onClick() { this.$emit("click"); } } }; if (!Array) { const _easycom_uni_icons2 = common_vendor.resolveComponent("uni-icons"); _easycom_uni_icons2(); } const _easycom_uni_icons = () => "../../../uni_modules/uni-icons/components/uni-icons/uni-icons.js"; if (!Math) { _easycom_uni_icons(); } function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { return common_vendor.e({ a: $data.show }, $data.show ? common_vendor.e({ b: $props.showIcon === true || $props.showIcon === "true" }, $props.showIcon === true || $props.showIcon === "true" ? { c: common_vendor.p({ type: "sound", color: $props.color, size: "22" }) } : {}, { d: common_vendor.t($props.text), e: $data.elId, f: $props.scrollable ? 1 : "", g: !$props.scrollable && ($props.single || $props.showGetMore) ? 1 : "", h: $props.color, i: $data.wrapWidth + "px", j: $data.animationDuration, k: $data.animationDuration, l: $data.webviewHide ? "paused" : $data.animationPlayState, m: $data.webviewHide ? "paused" : $data.animationPlayState, n: $data.animationDelay, o: $data.animationDelay, p: $data.elIdBox, q: $props.scrollable ? 1 : "", r: !$props.scrollable && ($props.single || $props.moreText) ? 1 : "", s: $props.scrollable ? 1 : "", t: !$props.scrollable && ($props.single || $props.moreText) ? 1 : "", v: $props.showGetMore === true || $props.showGetMore === "true" }, $props.showGetMore === true || $props.showGetMore === "true" ? common_vendor.e({ w: $props.moreText.length > 0 }, $props.moreText.length > 0 ? { x: common_vendor.t($props.moreText), y: $props.moreColor } : { z: common_vendor.p({ type: "right", color: $props.moreColor, size: "16" }) }, { A: common_vendor.o((...args) => $options.clickMore && $options.clickMore(...args)) }) : {}, { B: ($props.showClose === true || $props.showClose === "true") && ($props.showGetMore === false || $props.showGetMore === "false") }, ($props.showClose === true || $props.showClose === "true") && ($props.showGetMore === false || $props.showGetMore === "false") ? { C: common_vendor.p({ type: "closeempty", color: $props.color, size: "16" }), D: common_vendor.o((...args) => $options.close && $options.close(...args)) } : {}, { E: $props.backgroundColor, F: common_vendor.o((...args) => $options.onClick && $options.onClick(...args)) }) : {}); } const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-8eee8640"], ["__file", "D:/zx/mall-front-app/sheep/ui/su-notice-bar/su-notice-bar.vue"]]); wx.createComponent(Component);