Skip to content

atbeta/Taurilucky

Repository files navigation

🎉 抽奖助手 (Lucky Draw)

一款基于 Tauri + React 构建的现代化、高颜值桌面端抽奖软件。支持经典模式和晋级模式,具备炫酷的动画效果、音效支持以及完整的历史记录回溯功能,非常适合年会、活动抽奖等场景。

界面预览 界面预览

✨ 主要特性

  • 双重抽奖模式

    • 经典模式:一次性抽取指定数量的中奖者,简单直接。
    • 晋级模式:支持多轮次筛选(如:50进20,20进10,10进1),适合选拔赛或大奖逐级产生的场景。
  • 沉浸式体验

    • ⚡️ 炫酷视觉:赛博朋克风格的深色主题,配合流光、粒子特效和撒花动画。
    • 🎵 音效支持:内置背景音乐和中奖音效,支持自定义替换。
    • ⌨️ 快捷控制:支持空格键快速开始/停止,方便现场控制。
  • 强大的人员管理

    • 名单管理:支持批量导入、编辑、删除参与者。
    • 权重系统:可为特定人员设置权重(如 x2, x5),增加中奖概率。
    • 临时排除:可临时取消某人的抽奖资格而不删除数据。
    • 自动保存:参与者名单自动保存至本地 list.json,无需重复录入。
  • 完整的数据回溯

    • 历史记录:自动记录每一次抽奖的详细结果,包括时间、模式、中奖名单及当时的所有参与者名单(含权重)
    • 结果导出:支持将抽奖结果导出为文本文件,方便存档公示。
    • 晋级回顾:晋级模式下可完整回顾每一轮的晋级名单。

🚀 使用指南

1. 基础操作

  1. 添加人员:启动软件后,在左侧侧边栏添加参与者。可以直接输入姓名,也可以设置权重。
  2. 选择模式
    • 在主界面选择“经典模式”或“晋级模式”。
    • 经典模式:设置要抽取的人数和奖品名称。
    • 晋级模式:点击“+”添加轮次,设置每一轮晋级的人数。
  3. 开始抽奖:点击“开始抽奖”进入抽奖画面。
  4. 控制流程:点击屏幕中央按钮或按 空格键 开始滚动名字,再次点击或按空格键停止并锁选中奖者。

2. 自定义音效 🎵

软件支持加载本地音频文件作为背景音乐和中奖音效。

  • 背景音乐:将你的 MP3 文件重命名为 bgm.mp3,放入软件运行的同一目录下。
  • 中奖音效:将你的 MP3 文件重命名为 win.mp3,放入软件运行的同一目录下。
  • 注意:如果未找到自定义文件,软件将使用内置的默认音效。

3. 历史记录与审计

点击主界面底部的“历史记录”或结果页的“历史记录”按钮即可查看:

  • 查看过往每一次抽奖的详细信息。
  • 在详情页底部,可以查阅该次抽奖所有的参与人员名单及其权重,确保抽奖过程公正、可追溯。
  • 支持清空历史记录(需确认)。

🛠 技术栈

本项目使用以下技术构建,兼顾高性能与现代化的开发体验:

  • Core: Tauri v2 (Rust + WebView) - 极致轻量、高性能。
  • Frontend: React + TypeScript + Vite。
  • UI Framework: Tailwind CSS v4 - 快速构建现代 UI。
  • Icons: Lucide React。
  • Storage: 本地 JSON 文件存储 (基于 @tauri-apps/plugin-fs)。

📦 数据文件说明

软件会在运行目录下生成以下文件,请勿随意修改文件结构以免数据丢失:

  • list.json: 存储当前的参与者名单。
  • history.json: 存储所有的抽奖历史记录。

Created with ❤️ by Tauri Lucky Draw Team

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages