保利威文档中心

帮助中心

商品按钮

更新时间:2025-09-05 09:41:51

介绍

商品按钮组件封装了商品购买的一系列逻辑,包括禁用状态、各种购买资格校验等。

商品按钮提供以下组件:

  • ProductButton - 商品操作按钮组件
  • ProductIframeLinkPopup 一个包含 iframe 内容的弹层组件

引入

UMD 方式

其中 rc-20250814 为当前版本号,请根据实际版本号进行引入。

<script src="https://websdk.videocc.net/product-ui/rc-20250814/product-button.umd.js"></script>

<script>
const ProductButton = window.PolyvProductUIProductButton;
const ProductIframeLinkPopup = window.PolyvProductUIProductIframeLinkPopup;
</script>

NPM 方式

// 安装依赖
pnpm add @polyv/product-ui

// 引入组件
import { ProductButton, ProductIframeLinkPopup } from '@polyv/product-ui';

代码示例

<template>
  <div>
    <!-- 商品按钮 -->
    <ProductButton
      :product-target="productSDK"
      :product-config="productConfig"
      :product-data="productData"
      :disabled="false"
      @direct-buy="onDirectBuy"
    >
      <template #default="{ buttonText, disabled }">
        <button
          class="custom-product-button"
          :disabled="disabled"
        >
          {{ buttonText }}
        </button>
      </template>
    </ProductButton>

    <!-- iframe 链接弹窗 -->
    <ProductIframeLinkPopup />
  </div>
</template>

<script setup>
import { ProductButton, ProductIframeLinkPopup } from '@polyv/product-ui';
import { Product } from '@polyv/product-sdk';

// 初始化商品 SDK
const productSDK = new Product(interactionCore, config);

const productData = ref({
  productId: 1,
  name: '测试商品',
  // ... 其他商品数据
});

const productConfig = {
  // 自定义点击处理函数
  customClickButtonHandler: (product) => {
    console.log('自定义点击处理:', product);
  },
  // 获取链接参数
  getLinkParams: (url) => {
    return { utm_source: 'live' };
  },
  // 自定义禁用逻辑
  customProductDisabled: (product) => {
    return product.stock === 0;
  },
};

// 直接购买处理
const onDirectBuy = (productData) => {
  console.log('直接购买:', productData);
  // 处理购买逻辑
};
</script>

API

ProductButton Props

参数 说明 类型 默认值 必填
productTarget 商品 SDK 实例 Product -
productConfig 商品配置 ProductConfig -
productData 商品数据 ProductData -
disabled 是否禁用按钮 boolean false

ProductButton Events

事件名 说明 回调参数
direct-buy 直接购买时触发 (productData: ProductData) => void

ProductButton Slots

插槽名 说明 插槽参数
default 自定义按钮内容 { buttonText: string, disabled: boolean }

ProductConfig 配置

属性 说明 类型
customClickButtonHandler 自定义点击处理函数 (product: ProductData) => void
getLinkParams 获取链接参数函数 (url: string) => Record<string, unknown>
customProductDisabled 自定义禁用逻辑 (product: ProductData) => boolean
isPreviewMode 是否预览模式 boolean

商品类型

类型 说明 默认按钮文本
Normal 普通商品 立即购买
Finance 金融商品 立即咨询
Position 职位商品 立即投递
联系客服,在线咨询