Skip to content

SECTL/SecRandom

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SecRandom - 公平随机抽取系统

🎯 真正公平的抽取算法 | 🚀 现代化教育工具 | 🎨 优雅交互体验

GitHub Issues 最新版本 最新Beta版本 上次更新 下载统计

QQ群 bilibili License: GPL v3

代码贡献统计

Note

SecRandom 本体将基于GNU GPLv3协议开源

GNU GPLv3具有Copyleft特性,也就是说,您可以修改SecRandom的源代码,但是必须将修改版本同样以GNU GPLv3协议开源

📖 目录

🎯 为什么选择公平抽取

传统的随机抽取往往存在"重复抽取某些人,而另一些人长期不被抽中"的问题。SecRandom 采用智能动态权重算法,确保每位成员都能获得公平的抽取机会:

  • 避免重复抽取:被抽中次数越多,再次被抽中的概率越低
  • 平衡小组机会:确保不同小组的成员有均等的抽取机会
  • 性别均衡考虑:在抽取过程中平衡不同性别的抽取频率
  • 冷启动保护:新成员或长期未被抽中的成员不会因为权重过低而失去机会
  • 可视化概率:实时显示每位成员被抽中的概率,过程透明可信

🌟 核心亮点

🎯 智能公平抽取系统

  • 动态权重算法:基于抽取次数、小组、性别等多维度计算,确保真正的公平性
  • 冷启动保护:防止新成员权重过低,保证每个人都有平等机会
  • 概率可视化:直观展示每个成员被抽中的概率,让抽取过程透明化

🎨 现代化用户体验

  • 优雅UI设计:基于 Fluent Design 的现代化界面,支持浅色/深色主题
  • 悬浮窗模式:可随时进行抽取,不影响其他工作
  • 语音播报:抽取结果自动语音播报,支持自定义语音引擎

🚀 强大功能集

  • 多种抽取模式:单人/多人/小组/性别抽取,满足不同场景需求
  • 智能历史记录:带时间戳的详细记录,支持自动清理
  • 多名单管理:支持导入/导出名单,轻松管理不同班级/团队

💻 系统兼容性

  • 全平台支持:完美兼容 Windows 7/10/11 系统和 Linux 系统
  • 多架构适配:原生支持 x64、x86 架构
  • 开机自启:支持开机自动启动,随时可用(Windows)

📥 下载

🌐 官方下载页面

📸 软件截图(v1.1.0.1)

📸 软件截图展示 ✨

点名界面 抽奖界面 历史记录 设置界面

🙏 贡献者和特别感谢

lzy98276
lzy98276 (黎泽懿_Aionflux)

🖋 🎨 🤔 🚧 📖 🐛
chenjintang-shrimp
chenjintang-shrimp

💻
yuanbenxin
yuanbenxin (本新同学)

💻 🎨 🚧 📖
LeafS
LeafS

📖
QiKeZhiCao
QiKeZhiCao (弃稞之草)

🤔 🚧
Fox-block-offcial
Fox-block-offcial

🐛 ⚠️
Jursin
Jursin

💻 🎨 🚧 📖
LHGS-github
LHGS-github

📖
real01bit
real01bit

💻

💝 捐献支持

如果您觉得 SecRandom 对您有帮助,欢迎支持我们的开发工作!

爱发电支持

📞 联系方式

📄 官方文档

✨ Star历程

Star History

📖 GitHub 提交与贡献教程

🚀 快速开始

在向 SecRandom 项目贡献代码之前,请确保您已完成以下准备工作:

  1. Fork 项目

  2. 克隆仓库

    git clone https://github.com/您的用户名/SecRandom.git
    cd SecRandom
  3. 添加上游仓库

    git remote add upstream https://github.com/SECTL/SecRandom.git

📤 提交您的贡献

  1. 创建功能分支

    git checkout -b feature/您的功能名称
  2. 进行修改

    • 编写您的代码
    • 添加必要的注释(请使用中文)
    • 确保遵循项目代码规范
  3. 提交更改

    git add .
    git commit -m "描述您的更改内容"
  4. 同步上游更改

    git fetch upstream
    git rebase upstream/master
  5. 推送并创建 Pull Request

    git push origin feature/您的功能名称
    • 访问您的 GitHub 仓库
    • 点击 "Compare & pull request" 按钮
    • 填写 PR 描述并提交

📋 贡献指南

代码规范

  • 使用中文编写代码注释
  • 遵循项目现有的代码风格
  • 确保导入所有使用的 Qt 类
  • 验证第三方 UI 组件是否存在

提交信息规范

  • 使用清晰、简洁的提交信息
  • 以动词开头(如:添加、修复、更新等)
  • 避免过于简单的描述(如:"修复bug")

Pull Request 要求

  • PR 标题应简洁明了地描述更改内容
  • 提供详细的更改说明
  • 确保所有测试通过
  • 关联相关的 Issue(如有)

📖 使用教程

🚀 GitHub Actions 统一构建工作流使用指南

SecRandom 项目使用统一的 GitHub Actions 工作流进行构建和发布,文件位于 .github/workflows/build-unified.yml。该工作流支持多种触发方式和配置选项。

通过提交消息触发特定构建

您可以通过在 git commit 消息中包含特定关键词来触发不同的构建行为:

  1. 触发打包构建

    • 在 commit 消息中包含 打包 关键词
    • 例如:git commit -m "新增功能 打包"
  2. 指定构建平台

    • win - Windows 平台
    • linux - Linux 平台
    • all - 所有平台
    • 例如:git commit -m "修复bug 打包 linux"
  3. 触发所有平台构建

    • 创建符合版本号规范的 tag(格式:v数字.数字.数字.数字
    • 例如:git tag v1.2.3.4 && git push origin v1.2.3.4

构建参数关键词说明

提交消息中可以包含以下关键词来控制构建行为:

关键词 含义 示例
打包 通用打包触发 git commit -m "新增功能 打包"
win Windows 平台 git commit -m "修复UI 打包 win"
linux Linux 平台 git commit -m "优化性能 打包 linux"
all 所有平台 git commit -m "大更新 打包 all"

组合使用示例:

  • git commit -m "优化性能 打包 pi" - 使用 PyInstaller 构建 Windows 平台
  • git commit -m "修复bug 打包 pi" - 使用 PyInstaller 构建 Linux 平台

Copyright © 2025 SECTL

About

一个易用的班级抽号软件,专为教育场景设计,让课堂点名更高效透明!

Topics

Resources

License

Stars

Watchers

Forks

Languages