保利威文档中心

幫助中心

商品庫

更新時間:2024-06-04 09:32:36

本文件主要描述如何接入互動功能接收端的商品庫元件,接入後可實現觀眾端顯示商品庫內容。

在引入及使用本功能元件前,需要先對互動功能接收端 SDK 進行公共配置,詳情請查看:互動功能接收端 UI 元件 - 配置 SDK

引入

線上檔案引入方式

// script 标签引入,根据版本号引入JS版本。
<script src="https://websdk.videocc.net/interactions-receive-sdk-ui-default/0.24.0/lib/MobileProduct/MobileProduct.umd.min.js"></script>
<script>
    const MobileProduct = window.PolyvIRScene.MobileProduct.default;
</script>

import 方式引入(推薦)

import MobileProduct from '@polyv/interactions-receive-sdk-ui-default/lib/MobileProduct';

程式碼範例

先實例化 SDK,然後將其傳入到商品庫元件中,以便內部進行相應邏輯處理。

以 Mobile 端接入為例:

<template>
  <div class="plv-demo-product">
    <product-list
        v-if="productSdk"
        :product-sdk="productSdk"
        :lang="lang"
        @browse-product="handleBrowseProduct"
        @click-buy="handleClickBuy"
        @job-detail="handleShowJobDetail"
    ></product-list>

    <div
        class="c-product-bubble"
    >
      <product-bubble
          v-if="productSdk"
          :product-sdk="productSdk"
          :lang="lang"
          :getLinkParams="getLinkParams"
          @click-buy="handleClickBuy"
      />
    </div>
    <!-- modal是一个弹窗组件,可根据界面风格自行设计 -->
    <modal
        draggable
        body-locked
        title="岗位详情"
        :visible="visible"
        :close-on-click-modal="false"
        no-bg
        @close="hideJobDetail"
    >
      <product-job
          v-if="productSdk"
          :product-sdk="productSdk"
          :job-detail="jobDetail"
          :use-mobile-class="true"
      />
    </modal>
  </div>
</template>

<script>
import { Product } from '@polyv/interactions-receive-sdk';
import ProductList from '@polyv/interactions-receive-sdk-ui-default/lib/MobileProduct';
import ProductBubble from '@polyv/interactions-receive-sdk-ui-default/lib/ProductBubble'
import ProductJob from '@polyv/interactions-receive-sdk-ui-default/lib/ProductJob';


export default {
  components: {
    ProductList,
    ProductBubble,
    ProductJob
  },

  props: {
    lang: {
      type: String,
      default: 'zh_CN',
    }
  },

  data() {
    return {
      // 商品库 SDK 实例
      productSdk: null,
      visible: false,
      jobDetail: {
        cover: '',
        name: '',
        tags: [],
        params: ''
      },
    };
  },

  created() {
    this.productSdk = new Product();
  },

  beforeDestroy() {
    this.productSdk?.destroy();
  },

  methods: {
    getLinkParams() {
      // 跳转路径上携带参数如: ***.com?customParams1=自定义参数
      // return {
      //   customParams1: '自定义参数'
      // }
      return {};
    },
    handleBrowseProduct() {
      // TODO 用于统计用户数据
    },
    handleClickBuy() {
      // TODO 用户统计点击商品
    },
    handleShowJobDetail(data) {
      this.$set(this, 'jobDetail', data);
      this.visible = true;
    },
    hideJobDetail() {
      this.visible = false;
    },
  }
};
</script>

<style lang="scss">
.plv-demo-product {
  position: relative;
}
.c-product-bubble {
  position: absolute;
  top: 16px;
  padding-left: 8px;
  z-index: 35;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}
.c-product-bubble--mobile {
  top: 60px;
}
</style>

ProductList

Attributes

屬性名 類型 預設值 含義
productSdk Object null 商品庫 SDK 實例
lang string:'zh_CN', 'en' 'zh_CN' 語言
getWeixinSdk Function null 回調參數:無。取得微信 SDK 物件,用於小程式中開啟商品庫跳轉,非小程式環境下不用傳入
getLinkParams Function null 回調參數:商品資訊。跳轉商品路徑傳入額外的參數
customClickButtonHandler Function null 回調參數:商品資訊。自訂點擊購買按鈕的處理,注意傳入該參數後不會觸發自動跳轉,需要在該函數內實作

Events

事件名 參數類型 參數含義 說明
browse-product Array 商品列表 記錄使用者瀏覽過的商品
click-buy Object 商品資料 點擊購買按鈕
job-detail Object 職位商品資料 點擊職位商品按鈕

ProductBubble

Attributes

屬性名 類型 預設值 含義
productSdk Object null 商品庫 SDK 實例
lang string:'zh_CN', 'en' 'zh_CN' 語言
getWeixinSdk Function null 回調參數:無。取得微信 SDK 物件,用於小程式中開啟商品庫跳轉,非小程式環境下不用傳入
getLinkParams Function null 回調參數:商品資訊。跳轉商品路徑傳入額外的參數
customClickButtonHandler Function null 回調參數:商品資訊。自訂點擊購買按鈕的處理,注意傳入該參數後不會觸發自動跳轉,需要在該函數內實作

Events

事件名 參數類型 參數含義 說明
click-buy Object 商品資料 點擊購買按鈕
product-push Object 商品資料 推送商品資料

ProductJob

Attributes

屬性名 類型 預設值 含義
productSdk Object null 商品庫 SDK 實例
lang string:'zh_CN', 'en' 'zh_CN' 語言
jobDetail Object null 職位商品資料
use-mobile-class Boolean false 是否使用行動端樣式

Events

事件名 參數類型 參數含義 說明
click-buy Object 職位商品資料 點擊購買按鈕
联系客服,在线咨询