一款纯本地、零后端、完全本地运行的单页 Web 应用, 旨在为各类红白喜事提供一个现代化、安全、高效的礼金(份子钱)管理解决方案。它彻底告别了传统的手写礼簿,通过数字化的方式解决了记录、统计、查询和存档的全部流程,以简单易用为最高设计原则。
严正声明
本项目开源仅供个人学习、研究或自用。 严禁任何形式的商业转售(包括但不限于直接出售源码、打包倒卖、二次封装收费等)。 请尊重开源精神,违者必究。
- 拔线能用:纯 HTML 单页应用,无服务器交互,数据100%本地存储,不依赖任何云服务。
- 金融级加密:全量数据采用 AES-256 加密落库(IndexedDB),管理密码 SHA-256 哈希保护。即便电脑丢失,文件被拷走也无法破解。
- 秒级记账:姓名、金额、渠道(微信/支付宝/现金)全键盘操作,回车即录。
- 智能风控:实时检测重名、重复金额,防止“记重了、记错了”。
- 自动大写:输入数字,自动生成规范中文大写(如:壹仟元整)。
- 语音播报:支持 TTS 语音朗读(“张三 贺礼 一千元整”),方便宾客现场核对金额,又能撑场面。
- 访客副屏:支持开启副屏页面,实时投射数据到外接屏幕/电视,主屏录入,副屏展示,方便现场宾客核对金额。
- 隐私脱敏:副屏自动开启隐私模式,仅展示最新记录全名,历史记录自动打码。
- 收款码展示:副屏支持自定义上传展示东家收款码,方便宾客现场扫码。
- 双色主题:内置「喜庆红」与「肃穆灰」两套 皮肤,适应红白喜事不同场景。
- 真·PDF 引擎:内置 PDF 渲染器(非简陋的浏览器打印),支持自定义字体、封面图、背景纹理,生成精美的电子礼簿。
- 智能分批:数据量超 1000 条自动分卷生成,防止浏览器内存溢出。
- 审计留痕:全链路记录修改历史(时间轴),支持软删除(作废),每一笔变动都有迹可循。
- 双重备份:
- Excel:标准
.xlsx报表,含完整修改日志。 - 数据文件:导出加密的数据备份,支持跨设备全量恢复。
- Excel:标准
本系统由纯静态文件组成,无需安装任何环境。
- 下载:从本项目Releases页面下载的windows预编译应用(exe)
- 运行:直接双击程序。
- 初始化:
- 设置事项名称及管理密码(请务必牢记,丢失无法找回)。
- 记账:录入数据
- 归档:活动结束后,务必导出 Excel 或 .pdf文件 到电脑。微信收藏或云盘永久保存。
本项目原生基于 Vanilla JS + HTML 开发,结构简单,开箱即用。
首先将仓库克隆到本地:
# 克隆项目
git clone https://github.com/jingguanzhang/gift-book.git
# 进入目录
cd gift-book
你只需要一个代码编辑器(推荐 VS Code)和一个现代浏览器(Chrome/Edge)。
虽然直接双击 index.html 可以运行,但为了避免浏览器的安全策略限制(如本地文件访问限制、模块加载跨域等),强烈建议使用本地静态服务器运行。
-
方式一(推荐):VS Code Live Server
- 安装 VS Code 插件:Live Server。
- 右键选择 "Open with Live Server"。
-
方式二:Python (Mac/Linux/Win) 在项目根目录下打开终端,运行:
# Python 3 python -m http.server # 访问 http://localhost:8000
index1.html: v1.1 专业版主入口(核心代码均内嵌于此,方便单文件分发)。index.html: v1.0 基础版主入口。static/: 静态资源目录。tailwindcss.js: 样式引擎。xlsx.full.min.js: Excel 导出库。pdf-lib.min.js: PDF 生成引擎。crypto-js.min.js: 加密库。fontkit&.ttf: 字体文件(用于 PDF 生成)。
guest-screen.html: 副屏显示页面。
本项目是纯静态资源,部署非常简单:
- 直接上传:将所有文件上传至 GitHub Pages、Vercel、Nginx 或任何静态文件服务器。
- 无需编译:不需要执行
build命令,源码即产物。
- Core: Vanilla JS (ES6+), OOP 架构
- Style: Tailwind CSS
- Database: IndexedDB (idb wrapper)
- Crypto: CryptoJS (AES-256)
- Export:
SheetJS(Excel)PDF-Lib&Fontkit(客户端 PDF 生成)
- UI Components: Grid.js (表格), RemixIcon (图标)
本软件为便携式电子礼簿工具,仅用于现场临时记账,软件不可作为长期数据存储载体。
本软件按“原样”提供,不含任何形式的明示或默示担保。
开发者不对因使用本软件造成的任何数据丢失(如忘记密码、清理电脑、浏览器缓存、重装系统或遗忘管理密码等)承担责任。
数据无价,活动结束后,请立即使用 导出Excel/Pdf 功能将数据保存到安全的地方。