保利威文档中心

帮助中心

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 当前弹窗是否应该可见。
联系客服,在线咨询