Files
ClassHelper/packages/server/.env.example
T
LoveChengke 5545ef6f55 feat: 生产化改造(服务端安装程序/PWA/Docker+HTTPS)并修复侧边栏点击无反应、SPA 静态托管 dotfiles 两个缺陷
- 修复 web-admin 与 desktop-client 侧边栏点击无反应:el-menu 的 index 是路径,不能当路由名使用
- 修复 Web 产物目录含点号目录(如 .cache)时 res.sendFile 因 dotfiles:ignore 返回 500
- 后端生产模式:静态托管 Web 端 + SPA 回退、helmet、限流(通用/登录)、trust proxy、
  /healthz 与 /readyz、请求耗时日志、生产环境变量强校验、首启动自动迁移与创建管理员、PID 文件
- Web 管理端 PWA:manifest + service worker + 图标,可在浏览器安装为应用
- 新增服务端 + Web 管理端 Windows 安装程序(内置 Node 运行时、启停与服务脚本、开机自启、卸载保留数据)
- 新增 Docker/Compose/Nginx 部署样例与 docs/production.md
- 新增 UI 回归测试:Web 端 Electron 驱动真实点击 7 项、客户端冒烟 11 项(含侧边栏点击与离线回退)
2026-09-12 00:20:21 +08:00

62 lines
2.3 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ---------------------------------------------------------------------------
# 班级小助手 - 后端服务环境变量
# 复制为 .env 后按需修改:cp .env.example .env
# ---------------------------------------------------------------------------
# 运行环境:development | test | production
NODE_ENV=development
# HTTP / WebSocket 监听端口
PORT=4000
# 数据库类型:sqlite | mysql
# 说明:sqlite 用于本地开发;mysql 用于云端统一存储(见 docs/mysql.md)
DATABASE_PROVIDER=sqlite
# SQLite:相对路径以 packages/server 为基准
DATABASE_URL="file:./prisma/dev.db"
# MySQL 示例(切换时替换上面一行,并执行 pnpm db:switch:mysql):
# DATABASE_URL="mysql://classhelper:your-password@127.0.0.1:3306/classhelper"
# JWT 签名密钥:必须修改,建议 `node -e "console.log(require('crypto').randomBytes(48).toString('hex'))"`
JWT_SECRET=change-me-to-a-random-48-bytes-hex-string
# JWT 有效期,例如 7d / 12h
JWT_EXPIRES_IN=7d
# 允许跨域的来源,多个用英文逗号分隔;* 表示全部允许(开发环境)
CORS_ORIGIN=*
# bcrypt 加密强度
BCRYPT_ROUNDS=10
# 教师新增学生账号时未指定密码所使用的初始密码
DEFAULT_STUDENT_PASSWORD=123456
# 学期配置:第 1 教学周的周一日期(YYYY-MM-DD),用于“当前周次”换算
TERM_START_DATE=2026-02-23
# 日志级别:debug | info | warn | error
LOG_LEVEL=info
# ---------------------------------------------------------------------------
# 生产部署相关(本地开发保持默认即可)
# ---------------------------------------------------------------------------
# 监听地址:本地开发用 127.0.0.1;服务器/容器用 0.0.0.0
HOST=0.0.0.0
# 反向代理层数:使用 Nginx / 云负载均衡时填 1,用于正确识别客户端 IP(限流依赖)
TRUST_PROXY=false
# Web 管理端构建产物目录;留空则自动探测 packages/web-admin/dist 或 ./web
WEB_DIST_DIR=
# 接口限流开关(压测时可临时置 false)
RATE_LIMIT_ENABLED=true
# 启动时校验数据库连通性(生产建议 true:连不上直接启动失败,避免带病对外服务)
STARTUP_DB_CHECK=true
# 数据库为空时自动执行迁移(SQLite 场景;安装程序首次启动用)
AUTO_MIGRATE=false