- 修复 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 项(含侧边栏点击与离线回退)
62 lines
2.3 KiB
Bash
62 lines
2.3 KiB
Bash
# ---------------------------------------------------------------------------
|
||
# 班级小助手 - 后端服务环境变量
|
||
# 复制为 .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
|