| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185 | 
							- "use strict";
 
- const common_vendor = require("../../../common/vendor.js");
 
- const sheep_helper_index = require("../../helper/index.js");
 
- const sheep_index = require("../../index.js");
 
- require("../../helper/test.js");
 
- require("../../helper/digit.js");
 
- require("../../url/index.js");
 
- require("../../store/index.js");
 
- require("../../store/app.js");
 
- require("../../api/promotion/diy.js");
 
- require("../../request/index.js");
 
- require("../../config/index.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/throttle.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("../../config/zIndex.js");
 
- const _sfc_main = {
 
-   name: "su-tabbar",
 
-   props: {
 
-     customStyle: {
 
-       type: [Object, String],
 
-       default: () => ({})
 
-     },
 
-     customClass: {
 
-       type: String,
 
-       default: ""
 
-     },
 
-     // 跳转的页面路径
 
-     url: {
 
-       type: String,
 
-       default: ""
 
-     },
 
-     // 页面跳转的类型
 
-     linkType: {
 
-       type: String,
 
-       default: "navigateTo"
 
-     },
 
-     // 当前匹配项的name
 
-     value: {
 
-       type: [String, Number, null],
 
-       default: ""
 
-     },
 
-     // 是否为iPhoneX留出底部安全距离
 
-     safeAreaInsetBottom: {
 
-       type: Boolean,
 
-       default: true
 
-     },
 
-     // 是否显示上方边框
 
-     border: {
 
-       type: Boolean,
 
-       default: true
 
-     },
 
-     // 元素层级z-index
 
-     zIndex: {
 
-       type: [String, Number],
 
-       default: 10
 
-     },
 
-     // 选中标签的颜色
 
-     activeColor: {
 
-       type: String,
 
-       default: "#1989fa"
 
-     },
 
-     // 未选中标签的颜色
 
-     inactiveColor: {
 
-       type: String,
 
-       default: "#7d7e80"
 
-     },
 
-     // 是否固定在底部
 
-     fixed: {
 
-       type: Boolean,
 
-       default: true
 
-     },
 
-     // fixed定位固定在底部时,是否生成一个等高元素防止塌陷
 
-     placeholder: {
 
-       type: Boolean,
 
-       default: true
 
-     },
 
-     midTabBar: {
 
-       type: Boolean,
 
-       default: false
 
-     }
 
-   },
 
-   data() {
 
-     return {
 
-       placeholderHeight: 0,
 
-       safeBottomHeight: sheep_index.sheep.$platform.device.safeAreaInsets.bottom
 
-     };
 
-   },
 
-   computed: {
 
-     tabbarStyle() {
 
-       const style = {
 
-         zIndex: this.zIndex
 
-       };
 
-       return sheep_helper_index.deepMerge(style, sheep_helper_index.addStyle(this.customStyle));
 
-     },
 
-     // 监听多个参数的变化,通过在computed执行对应的操作
 
-     updateChild() {
 
-       return [this.value, this.activeColor, this.inactiveColor];
 
-     },
 
-     updatePlaceholder() {
 
-       return [this.fixed, this.placeholder];
 
-     }
 
-   },
 
-   watch: {
 
-     updateChild() {
 
-       this.updateChildren();
 
-     },
 
-     updatePlaceholder() {
 
-       this.setPlaceholderHeight();
 
-     }
 
-   },
 
-   created() {
 
-     this.children = [];
 
-   },
 
-   mounted() {
 
-     this.setPlaceholderHeight();
 
-   },
 
-   methods: {
 
-     updateChildren() {
 
-       this.children.length && this.children.map((child) => child.updateFromParent());
 
-     },
 
-     getRect(selector, all) {
 
-       return new Promise((resolve) => {
 
-         common_vendor.index.createSelectorQuery().in(this)[all ? "selectAll" : "select"](selector).boundingClientRect((rect) => {
 
-           if (all && Array.isArray(rect) && rect.length) {
 
-             resolve(rect);
 
-           }
 
-           if (!all && rect) {
 
-             resolve(rect);
 
-           }
 
-         }).exec();
 
-       });
 
-     },
 
-     // 设置用于防止塌陷元素的高度
 
-     async setPlaceholderHeight() {
 
-       if (!this.fixed || !this.placeholder)
 
-         return;
 
-       await sheep_helper_index.sleep(20);
 
-       this.getRect(".u-tabbar__content").then(({ height = 50 }) => {
 
-         this.placeholderHeight = height;
 
-       });
 
-     }
 
-   }
 
- };
 
- function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
 
-   return common_vendor.e({
 
-     a: $props.safeAreaInsetBottom
 
-   }, $props.safeAreaInsetBottom ? {
 
-     b: common_vendor.s({
 
-       height: $data.safeBottomHeight + "px"
 
-     })
 
-   } : {}, {
 
-     c: common_vendor.o(() => {
 
-     }),
 
-     d: common_vendor.n($props.border && "u-border-top"),
 
-     e: common_vendor.n($props.fixed && "u-tabbar--fixed"),
 
-     f: common_vendor.n({
 
-       "mid-tabbar": $props.midTabBar
 
-     }),
 
-     g: common_vendor.s($options.tabbarStyle),
 
-     h: $props.placeholder
 
-   }, $props.placeholder ? {
 
-     i: $data.placeholderHeight + "px"
 
-   } : {});
 
- }
 
- const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-b5af0eb7"], ["__file", "/Users/RuHu.Xu/Desktop/mall-newfeifan-zx-app/sheep/ui/su-tabbar/su-tabbar.vue"]]);
 
- wx.createComponent(Component);
 
 
  |