Skip to content

DollMachine 抓娃娃

介绍

模拟娃娃机抽奖,可配置图片、开始结束回调等。

基础用法

vue
<template>
  <nut-doll-machine
    ref="lottoRollDom"
    :prize-list="prizeList"
    :prize-index="prizeIndex"
    @start-turns="startTurns"
    @end-turns="endTurns"
  >
  </nut-doll-machine>
</template>

<script setup lang="ts">
import { reactive, ref } from 'vue'

const prizeList = reactive([
  {
    imagePath:
      'https://img11.360buyimg.com/imagetools/jfs/t1/147182/12/2440/6194/5f06cde6Ead240fe8/31082e30a182a5ce.png',
    text: '大鸡腿',
  },
  {
    imagePath:
      'https://img12.360buyimg.com/imagetools/jfs/t1/221361/4/7410/16458/61c9261eE45802396/27b64caa9e7c9bac.png',
    text: 'JOY',
  },
  {
    imagePath:
      'https://img11.360buyimg.com/imagetools/jfs/t1/128607/26/6643/6790/5f06cd27E9b5e15f7/7509bc7ce2da66b8.png',
    text: 'VIP',
  },
  {
    imagePath:
      'https://img12.360buyimg.com/imagetools/jfs/t1/221361/4/7410/16458/61c9261eE45802396/27b64caa9e7c9bac.png',
    text: 'JOY',
  },
])

// 中奖的奖品的index(此数据可根据后台返回的值重新赋值)
const prizeIndex = ref(0)
function startTurns() {
  // eslint-disable-next-line no-console
  console.log('开始抽奖')
}

function endTurns() {
  // eslint-disable-next-line no-console
  console.log('抽奖结束')
}
</script>

Props

参数说明类型默认值
prize-list奖品列表any[]目前需要至少 4 个奖品
default-claw初始化爪子的图片链接string-
active-claw爪子抓到奖品的图片链接string-
prize-index中奖奖品在列表的索引位置number-1(-1 未中奖)

Events

事件名说明类型
init游戏初始化() => true
start-turns爪子开始下伸,赋值到 prize-index() => true
end-turns爪子已经抓到/未抓到奖品触发() => true

MIT Licensed