npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

cdd-turntable

v0.1.5

Published

'种豆得豆'项目中的抽奖功能

Downloads

355

Readme

基本使用

  <template>
    <div class="app">
      <turntable :size="size" :columns="columns" @start="handleStart" @end="handleEnd"></turntable>
      <h3>剩余抽奖次数:{{ count }}</h3>
    </div>
  </template>
  <script setup>
    import { ref } from "vue"
    import turntable from "@/packages/turntable.vue"

    const count = ref(2)

    // 转盘尺寸
    const size = 1
    // 轮盘的数据
    const columns = [
      {
        text: "20g水滴",
        icon: water_drop,
        id: "1",
      },
      {
        text: "谢谢参与",
        icon: love,
        id: "5",
      },
      ......
    ]
    // 回调函数(开始)
    const handleStart = (startRoate, stopRoate) => {
      
      if (!count.value) {
        // 次数为0取消抽奖
        startRoate(false)
        return
      }
      count.value --
      // 开始抽奖
      startRoate(true)

      // 2s后抽到的id为6
      setTimeout(() => {
        stopRoate(6)
      }, 2000)
    }

    // 回调函数(结束)
    const handleEnd = () => {
      alert('抽奖结束')
    }
  </script>

API

Props

| 参数 | 说明 | 类型 | 默认值 | | :----------: | :-------------------------------------------------------------: | :----------: | :----: | | size | 转盘的尺寸 | Number | 1 | | columns | 转盘奖品数组 | Array | [] | | columns-field-names | 自定义 columns 结构中的字段 | Object | {id: 'id', text: 'text', icon: 'icon'} |

Events

| 事件名 | 说明 | 回调参数 | | :--------------: | :------------------: | :------: | | start | 点击转盘开始 | 函数A和函数B,详见下图 | | end | 抽奖动画结束 | / |

start事件回调的两个函数参数

| 函数 | 说明 | 接收参数 | | :--------------: | :------------------: | :------: | | 函数A | 用于判断抽奖是否开启,传如true为开始转盘 | Boolean | | 函数B | 通过传入奖品的id,告知转盘停在哪个奖品处 | String |