Skip to content
2SH33PPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

电子产品租借系统

基于 Node.js + Express 的单设备电子产品租借系统,当前使用 Markdown(.md) 文件保存全部租借记录,满足以下核心流程:

  • 默认至少提前 10 分钟预约,可通过 .env 调整
  • 默认 10 分钟开始窗口内手动开始,可通过 .env 调整
  • 执行中显示倒计时并手动归还
  • 超时未开始 / 未按时归还自动判定
  • 每次结束后默认进入 10 分钟冷静期,可通过 .env 调整
  • 强制填写总结与反思
  • 记录筛选、文本表格复制、黑白图片导出
  • 可选 SMTP 邮件提醒

启动

npm install
npm start

默认地址:http://localhost:3000

默认记录文件:data/rent-records.md

开发

npm run dev

调试模式

复制 .env.example 为 .env 后,将 DEBUG_MODE=true,重启服务即可在主页看到调试面板。

  • 调试面板只在开启时显示,同时才会注册 /api/debug/* 接口
  • 每次注入调试场景前都会先清空当前记录,适合快速验证单个流程
  • 关闭时只需把 .env 中的 DEBUG_MODE 改回 false

Markdown 存储

系统会把所有租借记录写入 RECORDS_MD_PATH 指向的 .md 文件。你可以直接修改这个文件中的 json 代码块来修正记录,保存后系统下次读取就会生效。

  • 默认路径:data/rent-records.md
  • 每条记录都是一个独立的 ## 记录 N 区块
  • 时间字段请使用 ISO 8601,例如 2026-04-17T02:10:00.000Z
  • null 表示空值

如果当前仓库里还保留旧版 SQLite 数据库,而新的 Markdown 文件尚未创建,系统会在首次启动时自动从 DATABASE_PATH 导入旧记录。

时间规则配置

以下时间限制已支持通过 .env 修改,修改后重启服务即可生效:

  • MIN_ADVANCE_MINUTES:预约需至少提前多少分钟,默认 10
  • START_WINDOW_MINUTES:开始窗口时长,默认 10
  • COOLDOWN_MINUTES:每次结束后的冷静期,默认 10
  • NORMAL_RETURN_GRACE_SECONDS:判定“正常归还”的宽限秒数,默认 60
  • MIN_DURATION_FOR_REMINDERS_MINUTES:启用提醒的最小时长,默认 5
  • REMINDER_STAGE_3_MINUTES / REMINDER_STAGE_2_MINUTES / REMINDER_STAGE_1_MINUTES:三次提醒的分钟阈值,默认 3 / 2 / 1
  • SCHEDULER_TICK_MS:后台状态校正轮询周期,默认 15000

测试

npm test

邮件提醒配置

复制 .env.example 后设置以下环境变量,配置完成后重启服务:

  • SMTP_HOST
  • SMTP_PORT
  • SMTP_SECURE
  • SMTP_USER
  • SMTP_PASS
  • SMTP_FROM
  • ALERT_EMAIL_TO

默认情况下,当租借时长大于 5 分钟时,系统会在剩余 3、2、1 分钟分别发送提醒邮件。

这些提醒阈值和启用提醒的最小时长同样可以通过 .env 修改。

APK 导出

当前仓库仍然是 Node.js + Express + Markdown 文件存储 的本地服务端架构,不是纯静态前端项目,因此还不能直接生成一个真正独立运行的离线 APK。

如果要做到“整个项目单包导出为 APK”,下一步需要二选一:

  • 将后端规则和存储迁移到移动端本地运行层,再配合 Android 壳打包
  • 保留当前 Node 服务端,另外增加 Android 壳层,让 APK 作为前端入口连接服务端

数据位置

  • 默认 Markdown 记录文件:data/rent-records.md
  • 旧版 SQLite 文件:data/rent.db,仅在首次迁移时读取

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages