# 老虎机抽奖组件使用指南 ## 组件简介 本组件是一个整合了1列、3列和5列老虎机功能的抽奖组件,可根据传入的参数动态切换不同列数的老虎机模式。 ## 使用方法 ### 1. 引入组件 ```vue import DetailLucky from "@/components/detail-lucky/detail-lucky.vue"; export default { components: { DetailLucky } } ``` ### 2. 在模板中使用 ```vue ``` ### 3. 组件属性 | 属性名 | 类型 | 默认值 | 说明 | |-------|------|-------|------| | mode | Number/String | 1 | 老虎机模式,可选值:1, 3, 5 | ### 4. 组件方法 #### 初始化老虎机 ```js // 初始化老虎机,传入奖品列表和模式 this.$refs.luckySlot.init(prizeList, mode); // 例如:初始化3列老虎机 this.$refs.luckySlot.init(myPrizes, 3); // 也可以仅传入奖品列表,使用组件默认的模式 this.$refs.luckySlot.init(myPrizes); ``` #### 开始抽奖 ```js // 开始抽奖,可选传入回调函数 this.$refs.luckySlot.startDraw(() => { console.log('老虎机开始旋转'); }); ``` #### 停止抽奖并指定中奖结果 ```js // 停止抽奖,传入中奖索引数组 // 对于1列老虎机,传入1个索引 this.$refs.luckySlot.stopDraw([5]); // 对于3列老虎机,传入3个索引 this.$refs.luckySlot.stopDraw([3, 2, 8]); // 对于5列老虎机,传入5个索引 this.$refs.luckySlot.stopDraw([1, 2, 3, 4, 5]); // 也可以不传入索引,组件会随机生成 this.$refs.luckySlot.stopDraw(); ``` #### 其他方法 ```js // 强制结束抽奖 this.$refs.luckySlot.forceEndDraw(); // 隐藏老虎机 this.$refs.luckySlot.hide(); // 显示老虎机 this.$refs.luckySlot.show(); // 重置组件状态 this.$refs.luckySlot.reset(); ``` ### 5. 组件事件 | 事件名 | 说明 | 返回值 | |-------|------|-------| | start | 开始抽奖时触发 | - | | end | 结束抽奖时触发 | 中奖信息对象 | ### 使用示例 ```vue ``` ## 注意事项 1. 使用前必须先调用`init`方法初始化组件 2. 中奖索引数组的长度应与当前模式的列数匹配,如果不匹配会自动补足或截取 3. 组件高度会根据模式自动调整 4. 如果不传入奖品列表,将使用默认的奖品列表