保利威文档中心

幫助中心

Timer 計時器

更新時間:2021-10-14 16:31:49

引入元件

import Timer from '@polyv/interactions-launch-sdk-ui-default/lib/Timer';

程式碼範例

<template>
    <button v-if="isTeacher" @click="timerVisible = true">计时器</button>
  <div id="pane" class="c-interactions-pane">
    <timer
      v-if="timerCore"
      :lang="lang"
      :visible="timerVisible"
      :main-area-id="'pane'"
      :position="isTeacher ? 'center' : 'bottomLeft'"
      :is-teacher="isTeacher"
      :core="timerCore"
      @close="handleTimerClose"
      @update-visible="timerVisible = true"
    />
  </div>
</template>

<script>
import * as InteractionsLaunchSDK from '@polyv/interactions-launch-sdk';
import Timer from '@polyv/interactions-launch-sdk-ui-default/lib/Timer';

export default {
  components: {
    Timer,
  },
  data() {
    return {
      // 中英文设置 'zh_CN'/'en'
      lang: 'zh_CN',
      // 计时器 SDK 实例
      timerCore: null,
      timerVisible: false,
    };
  },
  mounted() {
    // TODO: 关于初始化 InteractionsLaunchSDK 的其他设置
    this.timerCore = new InteractionsLaunchSDK.Timer();
  },
  methods: {
    // 关闭计时器需要二次确认
    handleTimerClose(isOngoing) {
      if (!isOngoing) {
        this.timerVisible = false;
        return;
      }
      if (window.confirm(this.$t('timerCloseTips'))) {
        this.timerVisible = false;
      }
    },
  }
};
</script>

Attributes

屬性名 類型 預設值 含義
core object null 計時器 SDK 實例
lang string 'zh_CN' 語言套件類型。取值範圍:
'zh_CN' 中文
'en' 英文
canStart boolean true 目前是否可以發起互動。
cantStartTips string '目前不可以發起互動' 如果目前不可以發起互動,點擊發起按鈕時的提示文字。
visible boolean false 是否顯示計時器彈窗
isTeacher boolean false 目前使用者是否為講師身份。只有講師身份具有發起計時器的權限。
mainAreaId string '' 定位上下文元素的唯一 id。計時器彈窗將會相對於該定位上下文進行定位。
position string 'center' 計時器彈窗相對於定位上下文的顯示位置。取值範圍:
'center' 上下左右居中
'bottomRight' 右下角對齊
'bottomLeft' 左下角對齊
'topRight' 右上角對齊
'topLeft' 左上角對齊
zIndex number 101 計時器彈窗樣式的 z-index

Events

事件名稱 說明 回呼參數類型 回呼參數含義
close 點擊彈窗關閉按鈕時觸發該事件。關閉彈窗後將停止計時。 boolean 是否還在進行計時。
update-visible 有正在進行的計時器時或計時器結束時會觸發該事件。 boolean 目前彈窗是否應該可見。
联系客服,在线咨询