# 年会抽奖工具 **Repository Path**: huhage/annual-meeting-lottery-tool ## Basic Information - **Project Name**: 年会抽奖工具 - **Description**: 方便快捷的抽奖系统。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-02-26 - **Last Updated**: 2025-02-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 年会抽奖工具 (Lucky Draw Tool) 一个基于Vue.js开发的优雅现代化年会抽奖工具,可以在Utools中使用。支持Excel导入名单、自定义奖项、炫酷的抽奖动画、数据持久化等功能。 ## 功能特点 - 📊 支持Excel格式名单导入 - ✏️ 在线编辑抽奖名单 - 🎁 自定义多个奖项及抽奖人数 - 💫 炫酷的抽奖动画效果 - 🎨 自定义界面背景(图片/颜色) - 🎯 Material Design设计风格 - 💾 自动保存抽奖结果 - 🔄 防重复抽奖机制 ## 安装和运行 ### 环境要求 - Node.js >= 16 - npm >= 7 ### 安装步骤 1. 克隆项目 ```bash git clone https://github.com/yourusername/lucky-draw.git cd lucky-draw ``` 2. 安装依赖 ```bash npm install ``` 3. 开发模式运行 ```bash npm run dev ``` 4. 构建生产版本 ```bash npm run build ``` ## 使用说明 ### 1. 名单导入 - 支持.xlsx/.xls格式的Excel文件 - Excel文件格式要求: - 第一列:姓名(必填) - 第二列:工号(可选) - 第三列:部门(可选) - 导入方式: 1. 点击"名单管理" 2. 点击"导入Excel"按钮 3. 选择符合格式的Excel文件 4. 等待导入完成 ### 2. 奖项设置 - 可添加多个奖项 - 每个奖项可设置: - 奖项名称(必填) - 奖品描述(可选) - 抽奖人数(必填) - 奖项图片(可选) - 设置方式: 1. 点击"奖项设置" 2. 点击"添加奖项" 3. 填写奖项信息 4. 点击确定保存 ### 3. 界面定制 - 背景设置: - 上传背景图片 - 选择纯色背景 - 支持渐变色背景 - 主题色设置 - 动画效果选择: - 慢速 - 正常 - 快速 - 音效开关 ### 4. 抽奖流程 1. 在主页选择要抽取的奖项 2. 确认奖项信息和抽奖人数 3. 点击"开始抽奖"按钮 4. 等待动画结束 5. 查看中奖结果 ### 5. 抽奖结果 - 自动保存每次抽奖结果 - 支持导出抽奖结果为Excel - 可在"抽奖历史"中查看所有记录 - 导出格式包含: - 抽奖时间 - 奖项名称 - 获奖者姓名 - 获奖者部门 ## 项目结构 ``` lucky-draw/ ├── src/ │ ├── assets/ # 静态资源 │ ├── components/# 组件 │ ├── views/ # 页面 │ │ ├── Home.vue # 抽奖主页 │ │ ├── Participants.vue # 名单管理 │ │ ├── Prizes.vue # 奖项设置 │ │ ├── History.vue # 抽奖历史 │ │ └── Settings.vue # 系统设置 │ ├── store/ # 状态管理 │ │ ├── participants.js # 参与者管理 │ │ ├── prizes.js # 奖项管理 │ │ ├── history.js # 历史记录 │ │ └── settings.js # 系统设置 │ ├── utils/ # 工具函数 │ └── App.vue # 根组件 ├── public/ # 公共资源 └── package.json # 项目配置 ``` ## 技术栈 - Vue 3 - 渐进式JavaScript框架 - Vite - 下一代前端构建工具 - Element Plus - Vue 3的UI组件库 - XLSX.js - Excel文件处理 - Material Design Icons - 图标库 - Animate.css - 动画效果库 - Pinia - Vue状态管理 - Vue Router - 路由管理 ## 注意事项 - 建议使用1920x1080及以上分辨率 - 建议使用Chrome浏览器获得最佳体验 - Excel导入时请确保文件格式正确 - 建议提前准备好奖项信息和图片 - 抽奖过程中请勿刷新页面 - 请定期导出保存抽奖历史 ## 常见问题 1. Excel导入失败 - 检查文件格式是否正确 - 确保文件未被其他程序占用 - 尝试重新导出Excel文件 2. 抽奖按钮无反应 - 检查是否已选择奖项 - 确认参与者人数是否足够 - 检查是否正在抽奖中 3. 背景图片上传失败 - 检查图片格式是否支持 - 确保图片大小在限制范围内 - 尝试使用其他图片 ## 更新日志 ### v1.0.0 - 基础功能实现 - Excel导入支持 - 奖项管理 - 抽奖动画 - 历史记录 - 数据持久化 ## 贡献指南 欢迎提交Issue和Pull Request,一起完善这个项目。 ## 许可证 MIT License