大转盘抽奖vue插件(原创)

所属分类:其他-游戏

 24687  178  查看评论 (60)
分享到微信朋友圈
X
大转盘抽奖vue插件(原创) ie兼容12

更新时间:2020-09-25 12:14:42

安装

使用 npm 安装:

npm i vue-luck-draw

使用 yarn 安装:

yarn add vue-luck-draw

使用

方式1: 通过 import 引入

找到 main.js 引入插件并 use, 可实现全局引入<LuckyWheel />和<LuckyGrid />两个组件

import LuckDraw from 'vue-luck-draw'
Vue.use(LuckDraw)

然后在 vue 模板里面就可以开始使用了

<template>
  <div>
    <!-- 大转盘抽奖 -->
    <LuckyWheel
      style="width: 200px; height: 200px"
      ...你的配置
    />
    <!-- 九宫格抽奖 -->
    <LuckyGrid
      style="width: 200px; height: 200px"
      ...你的配置
    />
  </div>
</template>

方式2: 通过 script 标签引入

从下面的链接里下载一个叫index.umd.min.js的 js 文件, 然后使用 script 标签引入

下载地址:

 https://github.com/buuing/vue-luck-draw/tree/master/dist
<div id="app">
  <!-- 大转盘抽奖 -->
  <LuckyWheel
    style="width: 200px; height: 200px"
    ...你的配置
  />
  <!-- 九宫格抽奖 -->
  <LuckyGrid
    style="width: 200px; height: 200px"
    ...你的配置
  />
</div>
<script src="./vue.min.js"></script>
<script src="./index.umd.min.js"></script>
<script>
  new Vue({
    el: '#app'
  })
</script>

更新时间:2020-03-27 18:26:07

vue-luck-draw

安装

npm i vue-luck-draw

使用

先找到main.js引入插件并use

import LuckDraw from 'vue-luck-draw'
Vue.use(LuckDraw)

然后就可以使用插件了, 以下是最基本的使用

<template>
  <div id="app">
    <LuckDraw
      v-model="currIndex"
      :awards="awards"
      @start="handleStart"
      @end="handleEnd"
    />
  </div>
</template>
<script>
export default {
  data () {
    return {
      currIndex: 0, // 奖品的索引
      awards: [     // 奖品
        { name: '价值5988元华为 P30pro', color: '#f9e3bb' },
        { name: '价值398元车载空气净化器', color: '#f8d384' },
        { name: '价值25元百叶帘遮阳挡', color: '#f9e3bb' },
        { name: '16元油卡套餐红包', color: '#f8d384' },
        { name: '5元油卡直冲红包', color: '#f9e3bb' },
        { name: '3元话费直冲红包', color: '#f8d384' },
        { name: '价值32元重力感应手机支架', color: '#f9e3bb' },
        { name: '价值198元手提迷你车在保温冷藏箱', color: '#f8d384' },
      ],
    }
  },
  methods: {
    handleStart () {
      console.log('开始抽奖')
    },
    handleEnd (index) {
      alert('恭喜您抽到大奖, 奖品为' + this.awards[this.currIndex].name)
    }
  }
}
</script>

但我提供了更多可配置的参数, 比如:

<template>
  <div id="app">
    <!-- 以下是默认配置参数, 可以根据个人需要进行修改 -->
    <LuckDraw
      v-model="currIndex"
      :awards="awards"
      :rate="rate"
      :radius="radius"
      :textFontSize="textFontSize"
      :lineHeight="lineHeight"
      :textColor="textColor"
      :textMargin="textMargin"
      :textPadding="textPadding"
      :btnFontSize="btnFontSize"
      :btnColor="btnColor"
      :btnBorderColor1="btnBorderColor1"
      :btnBorderColor2="btnBorderColor2"
      :btnBorderColor3="btnBorderColor3"
      :btnBgColor="btnBgColor"
      :btnText="btnText"
      :btnRadius="btnRadius"
      :borderColor="borderColor"
      @start="handleStart"
      @end="handleEnd"
    />
  </div>
</template>
<script>
export default {
  data () {
    return {
      currIndex: 0,               // 奖品的索引
      rate: 80,                   // 转盘速率
      radius: 180,                // 转盘半径
      textFontSize: '13px',       // 文字大小
      lineHeight: 20,             // 文字行高
      textColor: '#d64737',       // 文字颜色
      textMargin: 30,             // 文字距离边框距离
      textPadding: 0,             // 文字补偿宽度
      btnFontSize: '26px',        // 按钮文字大小
      btnColor: '#d64737',        // 按钮文件颜色
      btnBorderColor1: '#d64737', // 按钮外边框颜色
      btnBorderColor2: '#ffffff', // 按钮内边框颜色
      btnBorderColor3: '#f6c66f', // 按钮指针颜色
      btnBgColor: '#ffdea0',      // 按钮背景颜色
      btnText: '抽奖',            // 按钮内容
      btnRadius: 60,              // 按钮半径
      borderColor: '#d64737',     // 边框颜色
      awards: [                   // 奖品
        { name: '价值5988元华为 P30pro', color: '#f9e3bb' },
        { name: '价值398元车载空气净化器', color: '#f8d384' },
        { name: '价值25元百叶帘遮阳挡', color: '#f9e3bb' },
        { name: '16元油卡套餐红包', color: '#f8d384' },
        { name: '5元油卡直冲红包', color: '#f9e3bb' },
        { name: '3元话费直冲红包', color: '#f8d384' },
        { name: '价值32元重力感应手机支架', color: '#f9e3bb' },
        { name: '价值198元手提迷你车在保温冷藏箱', color: '#f8d384' },
      ],
    }
  },
  methods: {
    handleStart () {
      console.log('开始抽奖')
    },
    handleEnd (index) {
      alert('恭喜您抽到大奖, 奖品为' + this.awards[this.currIndex].name)
    }
  }
}
</script>
相关插件-游戏

js圈圈叉叉小游戏

古老的游戏源码,小朋友们不用在纸上画了,可双人,可单机,啊哈哈
  游戏
 31832  337

自由拼图游戏

可以选择多种难度,每个区块可以自由拖动。可兼容手机
  游戏
 35995  381

原生JS简单版飞机大战小游戏(原创)

应用原生JS开发的飞机大战游戏
  游戏
 31245  302

Never Give Up永不放弃小游戏

html5 Never Give Up永不放弃小游戏,代码有注释可玩性非常高。
  游戏
 36804  368

讨论这个项目(60)回答他人问题或分享插件使用方法奖励jQ币 评论用户自律公约

    .HOPE 0
    2021/12/3 11:22:00
    静而寒 0
    2021/3/22 9:20:21
    您好,能通过后台配置设置奖品区域大小的占比吗??而不是只有等分,谢谢~ 回复
    ^_^ 0
    2021/1/19 11:00:32
    移动端不能居中
        ldqjs0
        2021/1/19 19:16:25
        css了解一下
    回复
    ldqjs 0
    2020/11/18 11:57:01
    ...大家提问去github上的issues, 这里我收不到 回复
    David ?? 0
    2020/11/18 11:01:58
    我这为什么代码添加完了,html里面显示,页面上不显示呢?
        ldqjs0
        2020/11/18 11:40:50
        你怎么添加的, 你去github上提个issues, 顺便把代码贴一下
        David ??0
        2020/11/19 9:53:40
        知道怎么回事了,刚看见文档,谢谢💖
    回复
    天高云淡 0
    2020/9/25 11:28:10
    第一步引入就报错啦大佬
        ldqjs0
        2020/9/25 11:55:31
        jq22还在审核中, 引入那里不是最新的, 最新请浏览100px.net
    回复
    ldqjs 0
    2020/9/21 17:18:30
    最新版3.0.0新增大量配置项, 新增支持引入图片, 根据dpr自动优化显示清晰度, 更自由的参数属性, 详细请浏览100px.net 回复
    ldqjs 0
    2020/8/22 19:42:43
    欢迎大家在github上面帮我点星星
        ldqjs0
        2020/8/22 19:46:09
        我的wx: new_ldq, 有需要的可以咨询, 但是我也有自己的本职工作, 尽量先看文档
        ldqjs0
        2020/8/22 19:46:55
        new_ldq
        需要咨询可以加我, 但是我也有自己的本职工作
    回复
    ???? 0
    2020/8/22 19:02:44
    开始的下标可以获取到吗?
        ldqjs0
        2020/8/22 19:31:07
        你的微信号不对, 那个中奖的索引不能设置-1, 索引是你奖品数组的索引, 可以在结束后打印一下currIndex
    回复
    ???? 0
    2020/8/22 17:28:01
    奖品的索引值可以变成-1吗? 回复
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
取消回复