// pages/components/card_plugin/card_plugin.js
Component({
  /**
   * 组件的属性列表
   */
  options: {
    multipleSlots: true,
    addGlobalClass: true,
  },
  properties: {
    customStyle: null,
    className: null,
    headerStyle: null,
    contentStyle: null,
    footerStyle: null,
    showMoreBar: { type: Boolean, value: true },
    showAll: { type: Boolean, value: false },
  },
  lifetimes: {
    attached() {
      // setTimeout(() => {
      // this.getSlotHeight();
      // }, 100);
    },
  },

  /**
   * 组件的初始数据
   */
  data: {
    showMore: false,
    // showMoreBar: true,
  },
  /**
   * 组件的方法列表
   */
  methods: {
    getSlotHeight() {
      // 1. 创建组件内的节点查询器（必须加.in(this)）
      const query = wx.createSelectorQuery().in(this);
      // 2. 查询插槽容器节点
      query
        .select('#contentSlot')
        .boundingClientRect((rect) => {
          if (rect) {
            const height = rect.height; // 获取节点高度（单位px）
            const fontSizeSetting = wx.getAppBaseInfo().fontSizeSetting;
            this.setData({ showMoreBar: height >= fontSizeSetting * 3 * 1.57 });

            // 可将高度通过自定义事件传递给父页面
            // this.triggerEvent("slotHeightChange", { height });
          } else {
            // console.warn("未查询到插槽容器节点");
          }
        })
        .exec(); // 执行查询
    },
    click(e: any) {
      this.triggerEvent('tap', e);
    },
    showMoreTap() {
      this.setData({
        showMore: !this.data.showMore,
      });
    },
  },
});
