poker_blind
poker-blind · 德州扑克升盲系统
一个面向扑克俱乐部的锦标赛升盲计时器:全屏倒计时、自定义盲注结构、记分管理、多端协同投屏、数据统计与历史记录。可打包为 Windows / macOS 独立程序,开箱即用。
功能特性
盲注计时器 — 全屏展示当前级别与倒计时,支持暂停、跳级、重开
自定义结构 — 手动编辑 / 自动生成盲注结构,CSV 导入导出,模板保存
赛事协同 — 操作端 + 投放端通过房间码连接,WebSocket 实时同步
记分管理 — 总记分 / 平均记分实时联动,赛中增减选手
数据仪表盘 — 参赛人次、最高记分等趋势图表(ECharts)
赛事历史 — 自动存档,筛选查询,CSV 导出
外观定制 — 背景、Logo、面板颜色、语音播报
双主题 — 暗黑 / 亮色一键切换
权限体系 — normal / pro / flagship 三级授权,RSA 硬件绑定
技术栈
层
技术
前端
Vue 3 · TypeScript · Vite · Pinia · Ant Design Vue · ECharts
后端
Node.js · Express · WebSocket (ws)
数据
SQLite (better-sqlite3)
打包
pkg → Windows .exe / macOS 应用
快速开始
npm install
npm run dev:all # 同时启动前后端,端口自动避让
前端:http://localhost:5173
后端:http://localhost:3000(被占用时自动顺延)
打包发布
npm run pack:win # Windows .exe
npm run pack:mac # macOS 应用
npm run pack:all # 双平台
构建产物输出至 dist-exec/。
项目结构
├── src/ # Vue 3 前端(视图 / 组件 / stores / router / widgets)
├── server/ # Express 后端(REST API + WebSocket 同步)
│ ├── routes/ # 业务路由
│ ├── services/ # SQLite、许可证
│ └── middleware/
├── public/ # 静态资源(背景图、Logo、扑克牌面)
├── scripts/ # 打包与授权工具脚本
└── docs/ # 架构文档
文档
协同模式架构
License
本项目采用严格非商业授权协议,详见 LICENSE。