<template>
  <view class="product-con">
    <!-- <up-navbar
      class="goods-nav-bar"
      :bgColor="`rgba(255, 255, 255, ${opacity})`"
    >
      <template #left>
        <view class="nav-slot">
          <uni-icons
            customPrefix="iconfont"
            size="19"
            @click="goBack"
            type="icon-fanhui"
          />
        </view>
      </template>
      <template #right> </template>
    </up-navbar> -->
    <view>
      <scroll-view
        :scroll-top="scrollTop"
        scroll-y="true"
        scroll-with-animation="true"
        :style="'height:' + height + 'px;'"
        @scroll="handleScroll"
      >
        <view id="past0">
          <product-con-swiper
            @click="previewImage(sliderImage)"
            :imgUrls="sliderImage"
            :videoline="productInfo.videoLink"
          >
          </product-con-swiper>
          <view class="ms-time">
            <image src="/static/images/tg_detail.png"></image>

            <text class="ms-time-text"
              >团购价：￥{{
                (
                  Number(specExtraList[0].laborCost) *
                    Number(specExtraList[0].weight) +
                  Number(specExtraList[0].additionalFee)
                ).toFixed(2)
              }}</text
            >
            <view class="ms-time-box">
              <view class="ms-time-tips">{{
                productInfo.seckillStatusName
              }}</view>
              <up-count-down
                :time="Math.max(msTime - Date.now(), 0)"
                format="HH:mm:ss"
                autoStart
                millisecond
                @change="onChange"
              >
                <view class="time">
                  <view class="time__custom">
                    <text class="time__custom__item">
                      {{ timeData.days.toString().padStart(2, "0") }}
                    </text>
                  </view>
                  <text class="time__doc">:</text>
                  <view class="time__custom">
                    <text class="time__custom__item">
                      {{ timeData.hours.toString().padStart(2, "0") }}
                    </text>
                  </view>
                  <text class="time__doc">:</text>
                  <view class="time__custom">
                    <text class="time__custom__item">
                      {{ timeData.minutes.toString().padStart(2, "0") }}
                    </text>
                  </view>
                  <text class="time__doc">:</text>
                  <view class="time__custom">
                    <text class="time__custom__item">
                      {{ timeData.seconds.toString().padStart(2, "0") }}
                    </text>
                  </view>
                </view>
              </up-count-down>
            </view>
          </view>
          <view class="pad30">
            <view class="wrapper mb30 borRadius14">
              <view class="introduce">
                <view class="tag">现货</view>
                <view class="tag-text"> {{ productInfo.storeName }} </view>
              </view>
              <view class="label acea-row row-between-wrapper">
                <view class="label-item"
                  >工费:
                  {{ specExtraList[0].laborCost.toFixed(2) || 0 }}元/克</view
                >
                <view class="label-item"
                  >重量: {{ specExtraList[0].weight }}克</view
                >
                <view class="label-item">
                  附加费{{ specExtraList[0].additionalFee || 0 }}元</view
                >
              </view>
              <view
                class="share acea-row row-between row-bottom"
                style="margin-top: 10px"
              >
                <view class="money font-color">
                  ￥

                  <text class="num">{{
                    (
                      Number(specExtraList[0].laborCost) *
                        Number(specExtraList[0].weight) +
                      Number(specExtraList[0].additionalFee)
                    ).toFixed(2)
                  }}</text>
                </view>
              </view>
            </view>
            <view
              class="attribute acea-row row-between-wrapper mb30 borRadius14"
            >
              <view class="line1">
                已选择 ：
                <text class="atterTxt" v-for="item in productAttr" :key="item"
                  >{{ item.attrName }}:{{ item.attrValues }}</text
                >
              </view>
              <view class="iconfont icon-jiantou"></view>
            </view>
            <view class="row-block mb30 borRadius14">
              <view class="row-express">
                <view class="left-box">
                  <uni-icons class="icon" type="cart" size="24"></uni-icons>
                  <text class="text">48小时送达</text>
                </view>
                <view class="express-price">
                  <text class="express-place">广东深圳</text>
                </view>
              </view>
              <up-line color="#ccc" length="100%" margin="10px 0"></up-line>
              <view class="tip-text">
                <uni-icons size="24" type="hand-up"></uni-icons>
                <view class="text">
                  <text class="t1">买的放心，用的称心</text>
                  <text class="t2">平台有保障</text>
                </view>
              </view>
            </view>
          </view>
        </view>
        <view class="product-intro" id="past3">
          <view class="title">
            <image src="/static/images/xzuo.png"></image>
            <span class="sp">产品详情</span>
            <image src="/static/images/xyou.png"></image>
          </view>
          <view class="conter">
            <up-parse :content="description"></up-parse>
          </view>
        </view>
        <view style="height: 120rpx"></view>
      </scroll-view>
    </view>
    <view class="footer acea-row row-between-wrapper">
      <view class="toAPP">
        <wx-open-launch-app
          id="launch-btn"
          appid="wx5f33a4ace799b661"
          :extinfo="
            '/pages/group_buying/proDetail?combinationId=' + combinationId
          "
          @error="goShuiBei"
        >
          <component :is="'script'" v-bind="{ type: 'text/wxtag-template' }">
            <button
              class="storeAPP"
              style="
                background-color: #e9c279;
                color: #fff;
                border-radius: 50rpx;
                line-height: 100rpx;
                padding: 20rpx 20rpx;
                z-index: 999;
                box-sizing: border-box;
              "
            >
              打开水贝商城
            </button>
          </component>
        </wx-open-launch-app>
      </view>
    </view>
  </view>
</template>

<script setup>
import { onReady, onLoad, onShow } from "@dcloudio/uni-app";
import { ref, computed, getCurrentInstance, toRaw } from "vue";
import { useToast } from "@/hooks/useToast";
import wx from "weixin-js-sdk";
// import { useAppStore } from "@/stores/app.js";
import { getGroupBuyingProductDetail, getWechatConfig } from "@/api/index.js";
import productConSwiper from "@/components/productConSwiper";

const { Toast } = useToast();
const msTime = ref(0);
const timeData = ref({});

const app = getApp();
const instance = getCurrentInstance();
const initwxlaunch = () => {
  getWechatConfig(encodeURIComponent(location.href.split("#")[0])).then(
    (res) => {
      wx.config({
        debug: res.data.debug, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
        appId: res.data.appId, // 必填，公众号的唯一标识
        timestamp: res.data.timestamp, // 必填，生成签名的时间戳
        nonceStr: res.data.nonceStr, // 必填，生成签名的随机串
        signature: res.data.signature, // 必填，签名,// 必填，签名
        jsapi_ticket: res.data.jsapi_ticket, // 必填，签名,// 必填，签名
        jsApiList: ["wx-open-subscribe", "wx-open-launch-app"], // 必填，需要使用的JS接口列表，这个地方必须至少写一个，即使你一个都不想用'updateTimelineShareData',
        openTagList: ["wx-open-subscribe", "wx-open-launch-app"],
        // 可选，需要使用的开放标签列表
        success: function () {
          console.log("wx.config success");
        },
        error: function (err) {
          console.log("wx.config error:", err);
        },
      });

      wx.checkJsApi({
        jsApiList: ["wx-open-launch-app"], // 校验跳转APP的标签是否可用
        success: function (res) {
          console.log("可用");
        },
        fail: (err) => {
          console.log(err, "不可用");
        },
      });
    }
  );
};
const goShuiBei = () => {
  const path = combinationId.value
    ? `/pages/group_buying/proDetail?combinationId=${combinationId.value}`
    : "";
  const url = `shuibei://${path}`;
  const errUrl = "https://a.app.qq.com/o/simple.jsp?pkgname=uni.app.UNI9DE338F";
  window.location.href = url;
  setTimeout(() => {
    window.location.href = errUrl;
  }, 3000);
};
// const appStore = useAppStore();
// const isLogin = computed(() => appStore.isLogin);
// const uid = computed(() => appStore.uid);

const attrTxt = ref("请选择");
const attrValue = ref("");
const id = ref("");
const productInfo = ref({});
const productValue = ref([]);
const productAttr = ref([]);
const specExtraList = ref([]);
const combinationId = ref("");
const attr = ref({
  cartAttr: false,
  productAttr: [],
  productSelect: {},
});
const description = ref("");
const opacity = ref(0);
const height = ref(0);
const scrollTop = ref(0);
const sliderImage = ref([]);
const userJoinPink = ref(false);
const type = ref("");
const showProductPopup = ref(false); // 商品规格弹窗
const handleBtnTpe = ref(""); // "buy" or "cart"
// 定义 onChange 方法
const onChange = (e) => {
  const isEnded = msTime.value <= Date.now();
  if (isEnded) {
    timeData.value = { hours: 0, minutes: 0, seconds: 0 };
  } else {
    timeData.value = e;
  }
};

// 计算秒杀是否结束
const isSeckillEnded = computed(() => {
  return msTime.value <= Date.now();
});
onLoad((options) => {
  uni.getSystemInfo({
    success(res) {
      height.value = res.windowHeight;
    },
  });

  if (options.combinationId || options.scene) {
    combinationId.value = options.combinationId;
  }

  getGoodsDetails(combinationId.value);
});

onShow(() => {});

onReady(() => {
  initwxlaunch();
});
const iptCartNum = (e) => {
  attr.value.productSelect.cart_num = e || 1;
};

const handleScroll = (e) => {
  const scrollYVal = e.detail.scrollTop;
  const opacityVal = scrollYVal / 350 > 1 ? 1 : scrollYVal / 350;
  opacity.value = opacityVal;
};

const ChangeAttr = (res) => {
  const productSelect = productValue.value[res];
  console.log("productSelect", productSelect);

  if (productSelect) {
    attr.value.productSelect = {
      ...attr.value.productSelect,
      image: productSelect.image,
      sales: productSelect.sales,
      weight: productSelect.weight,
      price: productSelect.price,
      storePrice: productSelect.storePrice,
      stock: productSelect.stock,
      unique: productSelect.id,
      cart_num: 1,
      additionalAmount: productSelect.additionalAmount,
    };
    attrValue.value = res;
    attrTxt.value = "已选择";
  } else {
    attr.value.productSelect = {
      ...attr.value.productSelect,
      image: productInfo.value.image,
      weight: productSelect.weight,
      price: productInfo.value.price,
      storePrice: productSelect.storePrice,
      stock: 0,
      unique: productInfo.value.id,
      cart_num: 1,
      additionalAmount: productSelect.additionalAmount,
    };
    attrValue.value = "";
    attrTxt.value = "请选择";
  }
};

const getGoodsDetails = async (productId) => {
  try {
    const res = await getGroupBuyingProductDetail(productId);
    const product = res.data.storeCombination;
    msTime.value = res.data.stopTime;
    specExtraList.value = res.data.specExtraList || [];
    sliderImage.value = JSON.parse(product.sliderImage);
    productInfo.value = product;
    description.value = product.content;
    userJoinPink.value = res.data.userJoinPink;
    attr.value.productAttr = res.data.productAttr;
    productValue.value = res.data.productValue;
    console.log("API Response:", res.data);
    console.log("specExtraList:", specExtraList.value);
    console.log("productInfo:", productInfo.value);
    uni.setNavigationBarTitle({
      title: product.storeName.substring(0, 7) + "...",
    });
    attr.value.productAttr = attr.value.productAttr.map((item) => ({
      attrName: item.attrName,
      attrValues: item.attrValues.split(","),
      id: item.id,
      isDel: item.isDel,
      productId: item.productId,
      type: item.type,
    }));
    downloadFilestoreImage();
    // DefaultSelect();
  } catch (err) {
    Toast({ title: err.toString(), icon: "none" });
    console.error("getGoodsDetails error:", err);
  }
};

const DefaultSelect = () => {
  let value = [];
  console.log("productValue.value", toRaw(productValue.value));
  const keys = Object.keys(productValue.value);
  for (let i = 0; i < keys.length; i++) {
    const key = keys[i];
    value = attr.value.productAttr.length ? key.split(",") : [];
  }
  attr.value.productAttr.forEach((item, i) => {
    item.index = value[i];
  });
  const productSelect = productValue.value[value.join(",")];
  if (productSelect && attr.value.productAttr.length) {
    attr.value.productSelect = {
      ...attr.value.productSelect,
      storeName: productInfo.value.storeName,
      image: productSelect.image,
      sales: productSelect.sales,
      weight: productSelect.weight,
      price: productSelect.price,
      storePrice: productSelect.storePrice,
      stock: productSelect.stock,
      unique: productSelect.id,
      cart_num: 1,
      additionalAmount: productSelect.additionalAmount,
    };
    attrValue.value = value.join(",");
    attrTxt.value = "已选择";
  } else if (!productSelect && attr.value.productAttr.length) {
    attr.value.productSelect = {
      ...attr.value.productSelect,
      storeName: productInfo.value.storeName,
      image: productInfo.value.image,
      sales: productSelect.sales,
      weight: productSelect.weight,
      price: productInfo.value.price,
      storePrice: productSelect.storePrice,
      stock: 0,
      unique: productInfo.value.id,
      cart_num: 1,
      additionalAmount: productSelect.additionalAmount,
    };
    attrValue.value = "";
    attrTxt.value = "请选择";
  } else if (!productSelect && !attr.value.productAttr.length) {
    attr.value.productSelect = {
      ...attr.value.productSelect,
      storeName: productInfo.value.storeName,
      image: productInfo.value.image,
      sales: productSelect.sales,
      weight: productSelect.weight,
      price: productInfo.value.price,
      storePrice: productSelect.storePrice,
      stock: productInfo.value.stock,
      unique: productInfo.value.id || "",
      cart_num: 1,
      additionalAmount: productSelect.additionalAmount,
    };
    attrValue.value = "";
    attrTxt.value = "请选择";
  }
};

const selecAttr = () => {
  showProductPopup.value = true;
  handleBtnTpe.value = "buy";
};

const onMyEvent = () => {
  attr.value.cartAttr = false;
};

// 关闭规格弹窗
const closeProductPopup = () => {
  showProductPopup.value = false;
  attr.value.cartAttr = false;
};

const setDomain = (url) => {
  url = url ? url.toString() : "";
  return url.includes("https://") ? url : url.replace("http://", "https://");
};

const downloadFilestoreImage = async () => {
  try {
    const res = await uni.downloadFile({
      url: setDomain(productInfo.value.image),
    });
  } catch {}
};

const goBack = () => {
  const pages = getCurrentPages();
  if (pages.length > 1) {
    uni.navigateBack();
  } else {
    uni.switchTab({ url: "/pages/mall/index" });
  }
};

function toMessagePage() {
  uni.navigateTo({ url: "/pages/users/customer_service_message/index" });
}
</script>

<style scoped lang="scss">
.wrapper {
  .label-item {
    color: #f94200;
  }
  .introduce {
    display: flex;

    .tag {
      width: 83rpx;
      height: 40rpx;
      background-color: #f94200;
      border-radius: 5rpx;
      display: flex;
      justify-content: center;
      align-items: center;
      color: #fff;
      font-size: 24rpx;
      border-radius: 5rpx;
    }
    .tag-text {
      margin-left: 10rpx;
    }
  }
}
.product-con {
  height: 100%;

  .mask {
    z-index: 88;
  }

  .goods-nav-bar {
    background-color: rgba(255, 255, 255, 0.3);

    .nav-slot {
      padding: 5rpx 10rpx;
      border-radius: 40rpx;
      border: 1px solid #ccc;
      display: flex;
      justify-content: space-between;
      align-items: center;
      background-color: rgba(255, 255, 255, 0.8);
    }
  }
  .ms-time {
    width: 100%;
    position: relative;
    image {
      width: 100%;
      height: 90rpx;
    }
    .ms-time-text {
      position: absolute;
      left: 17%;
      top: 50%;
      transform: translateY(-50%);
      color: #fc5072;
    }
    .ms-time-box {
      position: absolute;
      right: 2%;
      top: 50%;
      transform: translateY(-50%);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      height: 100%;
      color: #fff;

      .time {
        @include flex;
        align-items: center;

        &__custom {
          margin-top: 4px;
          width: 22px;
          height: 22px;

          border-radius: 4px;
          /* #ifndef APP-NVUE */
          display: flex;
          /* #endif */
          justify-content: center;
          align-items: center;

          &__item {
            color: #fff;
            font-size: 12px;
            text-align: center;
          }
        }

        &__doc {
          color: #fff;
          padding: 0px 4px;
        }

        &__item {
          color: #606266;
          font-size: 15px;
          margin-right: 4px;
        }
      }
    }
  }

  .store-info {
    margin-top: 20rpx;
    background-color: #fff;

    .title {
      padding: 0 30rpx;
      font-size: 28rpx;
      color: #282828;
      height: 80rpx;
      line-height: 80rpx;
      border-bottom: 1px solid #f5f5f5;
    }

    .info {
      padding: 0 30rpx;
      height: 126rpx;

      .picTxt {
        width: 615rpx;

        .pictrue {
          width: 76rpx;
          height: 76rpx;

          image {
            width: 100%;
            height: 100%;
            border-radius: 6rpx;
          }
        }

        .text {
          width: 522rpx;

          .name {
            font-size: 30rpx;
            color: #282828;
          }

          .address {
            font-size: 24rpx;
            color: #666;
            margin-top: 3rpx;

            .iconfont {
              color: #707070;
              font-size: 18rpx;
              margin-left: 10rpx;
            }

            .addressTxt {
              max-width: 480rpx;
            }
          }
        }
      }

      .iconfont {
        font-size: 40rpx;
      }
    }
  }

  .superior {
    background-color: #fff;
    margin-top: 30rpx;
    padding: 0 24rpx 30rpx 24rpx;

    .title {
      height: 98rpx;

      image {
        width: 20rpx;
        height: 20rpx;
      }

      .titleTxt {
        margin: 0 10rpx;
        font-size: 30rpx;
        color: #333333;
        // background-image: linear-gradient(to right, #f57a37 0%, #f21b07 100%);
        // -webkit-background-clip: text;
        // -webkit-text-fill-color: transparent;
      }
    }

    .slider-banner {
      width: 100%;
      margin: 0 auto;
      position: relative;

      swiper,
      swiper-item {
        height: 100%;
        width: 100%;
      }

      .list {
        width: 100%;

        .item {
          width: 198rpx;
          margin: 0 22rpx 30rpx 0;
          font-size: 26rpx;

          &:nth-of-type(3n) {
            margin-right: 0;
          }

          .pictrue {
            position: relative;
            width: 100%;
            height: 198rpx;

            image {
              width: 100%;
              height: 100%;
              border-radius: 6rpx;
            }
          }

          .name {
            color: #282828;
            margin-top: 12rpx;
          }
        }
      }

      .swiper-pagination-bullet {
        background-color: #999;
      }

      .swiper-pagination-bullet-active {
        background-color: $theme-color;
      }
    }
  }
}

.activityName {
  line-height: 44rpx;
}

.bntVideo {
  width: auto !important;

  .buy {
    border-radius: 50rpx !important;
  }
}

.row-block {
  background-color: #fff;
  padding: 20rpx;
  font-size: 0.8125rem;
  color: #000;

  .row-express {
    // width: 100%;
    display: flex;
    justify-content: space-between;
    // margin: 20rpx 10rpx 10rpx;

    .left-box {
      .icon {
        vertical-align: middle;
      }
      .text {
        margin: 0 0 0 14rpx;
        font-size: 28rpx;
        vertical-align: middle;
      }
    }
    .express-price {
      display: flex;
      align-items: center;
    }
  }

  .tip-text {
    display: flex;
    align-items: center;
    .text {
      display: flex;
      flex-direction: column;
      margin: 0 0 0 20rpx;
      .t2 {
        font-size: 24rpx;
        color: #666;
      }
    }
  }
}

.attribute {
  .line1 {
    width: 600rpx;
    color: #000;
    .atterTxt {
      display: inline-block;
      padding: 0 15rpx;
      font-size: 26rpx;
      // color: #000;
      background-color: #ffe4cb;
      border-radius: 10rpx;
      border: solid 1rpx #ffa666;
    }
  }
}

.chat-btn {
  background-color: antiquewhite !important;
}

.activity_pin,
.activity_miao,
.activity_kan {
  width: auto;
  height: 44rpx;
  line-height: 44rpx;
  padding: 0 15rpx;
  opacity: 1;
  border-radius: 22rpx;
}

.activity_pin {
  background: linear-gradient(
    90deg,
    rgba(233, 51, 35, 1) 0%,
    rgba(250, 101, 20, 1) 100%
  );
}

.activity_miao {
  background: linear-gradient(
    90deg,
    rgba(250, 102, 24, 1) 0%,
    rgba(254, 161, 15, 1) 100%
  );
  margin-left: 19rpx;
}

.activity_kan {
  background: linear-gradient(
    90deg,
    rgba(254, 159, 15, 1) 0%,
    rgba(254, 178, 15, 1) 100%
  );
  margin-left: 19rpx;
}

.iconfonts {
  color: #fff !important;
  font-size: 28rpx;
}

.activity_title {
  font-size: 24rpx;
  color: #fff;
}

.mask {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 9;

  &.mask {
    z-index: 300 !important;
  }
}

.head-bar {
  background: #fff;
}

.generate-posters {
  width: 100%;
  height: 170rpx;
  background-color: #fff;
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 388;
  transform: translate3d(0, 100%, 0);
  transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9);
  border-top: 1rpx solid #eee;

  &.on {
    transform: translate3d(0, 0, 0);
  }

  .item {
    flex: 50%;
    text-align: center;
    font-size: 30rpx;

    .iconfont {
      font-size: 80rpx;
      color: #5eae72;

      &.icon-haibao {
        color: #5391f1;
      }
    }
  }
}

.pictrue_log {
  width: 80upx;
  height: 40upx;
  border-radius: 10upx 0 12upx 0;
  line-height: 40upx;
  font-size: 24upx;
}

.pictrue_log_class {
  z-index: 3;
  background: linear-gradient(
    90deg,
    rgba(246, 122, 56, 1) 0%,
    rgba(241, 27, 9, 1) 100%
  );
  opacity: 1;
  position: absolute;
  top: 0;
  left: 0;
  color: #fff;
  text-align: center;
}

.navbar {
  position: fixed;
  background-color: #fff;
  top: 0;
  left: 0;
  z-index: 99;
  width: 100%;

  .navbarH {
    position: relative;

    .navbarCon {
      position: absolute;
      bottom: 0;
      height: 100rpx;
      width: 100%;
    }
  }

  .header {
    height: 96rpx;
    font-size: 30rpx;
    color: #050505;
    background-color: #fff;
    /* #ifdef MP */
    padding-right: 95rpx;
    /* #endif */

    .item {
      position: relative;
      margin: 0 25rpx;

      &.on:before {
        position: absolute;
        width: 60rpx;
        height: 5rpx;
        background-repeat: no-repeat;
        content: "";
        background-image: linear-gradient(to right, #ff3366 0%, #ff6533 100%);
        bottom: -10rpx;
        left: 50%;
        margin-left: -28rpx;
      }
    }
  }
}

.icon-xiangzuo {
  margin-top: var(--status-bar-height);
  /* #ifdef H5 */
  top: 20rpx !important;
  /* #endif */
  color: #000;
  position: fixed;
  font-size: 36rpx;
  width: 100rpx;
  height: 56rpx;
  line-height: 54rpx;
  z-index: 1000;
  left: -5rpx;
}

.share-box {
  z-index: 1000;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;

  image {
    width: 100%;
    height: 100%;
  }
}

.pro-wrapper {
  .iconn {
    background-image: url("data:image/png;base64, ");
    width: 100rpx;
    height: 100rpx;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    margin: 0 auto;

    &.iconn1 {
      background-image: url("data:image/png;base64, ");
    }
  }
}

.canvas {
  position: fixed;
  z-index: -5;
  opacity: 0;
}

.poster-pop {
  position: fixed;
  width: 450rpx;
  height: 714rpx;
  top: 50%;
  left: 50%;
  transform: translateX(-50%);
  margin-top: -432rpx;
  z-index: 399;

  image {
    width: 100%;
    height: 100%;
    display: block;
  }

  .close {
    width: 46rpx;
    height: 75rpx;
    position: fixed;
    right: 0;
    top: -73rpx;
    display: block;
  }

  .save-poster {
    background-color: #df2d0a;
    font-size: 22rpx;
    color: #fff;
    text-align: center;
    height: 76rpx;
    line-height: 76rpx;
    width: 100%;
  }

  .keep {
    color: #fff;
    text-align: center;
    font-size: 25rpx;
    margin-top: 10rpx;
  }
}

button {
  padding: 0;
  margin: 0;
  line-height: normal;
  background-color: #fff;

  &::after {
    border: 0;
  }
}

action-sheet-item {
  padding: 0;
  height: 240rpx;
  align-items: center;
  display: flex;
}

.contact {
  font-size: 16px;
  width: 50%;
  background-color: #fff;
  padding: 8rpx 0;
  border-radius: 0;
  margin: 0;
  line-height: 2;

  &::after {
    border: none;
  }
}

.action-sheet {
  font-size: 17px;
  line-height: 1.8;
  width: 50%;
  position: absolute;
  top: 0;
  right: 0;
  padding: 25rpx 0;
}
.share-top {
  background-color: rgba(255, 255, 255, 0.8);
  padding: 5rpx 10rpx;
  border-radius: 40rpx;
}
.footer {
  padding: 0 20rpx 0 30rpx;
  position: fixed;
  bottom: 0;
  width: 100%;
  box-sizing: border-box;
  height: 100rpx;
  background-color: #fff;
  z-index: 277;
  border-top: 1rpx solid #f0f0f0;
  text-align: center;

  .toAPP {
    min-width: 30%;
    position: absolute;
    top: -85rpx;
    left: 35%;

    .storeAPP {
      background-color: #e9c279;
      color: #fff;
      border-radius: 50rpx;
      line-height: 50rpx;
      padding: 20rpx 20rpx;
      z-index: 999;

      .logoimg {
        display: inline-block;
        width: 50rpx;
        height: 50rpx;
        border-radius: 5rpx;
        vertical-align: middle;
      }
    }
  }

  .item {
    font-size: 18rpx;
    color: #666;

    .iconfont {
      text-align: center;
      font-size: 40rpx;

      &.icon-shoucang1 {
        color: #f00;
      }
    }

    .icon-item {
      font-size: 40rpx;
      position: relative;

      .num {
        color: #fff;
        position: absolute;
        font-size: 18rpx;
        padding: 2rpx 8rpx 3rpx;
        border-radius: 200rpx;
        top: -10rpx;
        right: -10rpx;
      }
    }
  }

  .bnt {
    width: 444rpx;
    height: 76rpx;

    .bnts {
      width: 222rpx;
      text-align: center;
      line-height: 76rpx;
      color: #fff;
      font-size: 28rpx;
    }

    .joinCart {
      border-radius: 50rpx 0 0 50rpx;
      background-image: linear-gradient(to right, #fea10f 0%, #fa8013 100%);
    }

    .buy {
      border-radius: 0 50rpx 50rpx 0;
      background-image: linear-gradient(to right, #fa6514 0%, #e93323 100%);
    }
  }
}
</style>
