# 企业实训 **Repository Path**: FFAS_1/corporate-training ## Basic Information - **Project Name**: 企业实训 - **Description**: No description available - **Primary Language**: Java - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-11 - **Last Updated**: 2026-09-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI 学生事务智能办事大厅 包含校园门户、学生端与管理工作台。管理端参考提供的原型文件,使用本地 CSS 与脚本,无需外部 CDN。学生提交、老师处理、结果追踪、知识发布与公告查询共用同一套持久化接口。 ## 启动 需要 Node.js 20 或更新版本。 ```bash npm install npm start ``` 已安装依赖时也可以直接运行 `node server.js`。 - 门户:http://localhost:3000/ - 学生端:http://localhost:3000/student.html - 管理端:http://localhost:3000/admin.html ## 演示账号 | 身份 | 账号 | 密码 | | --- | --- | --- | | 学生 | 044859669 | 123456 | | 系统管理员 | admin | Admin@123456 | | 事务老师 | staff | Staff@123456 | 学生使用原有 `users.json` 中的账号。事务老师可以处理申请、工单、知识、公告、地点、失物和反馈;系统管理员还可管理学生状态、终端、设置与日志。权限由服务端校验。 管理员密码可通过 `ADMIN_PASSWORD`、`STAFF_PASSWORD` 环境变量配置,管理员账号可通过 `ADMIN_ACCOUNT` 配置。会话有效期 8 小时,服务器重启后重新登录。 ## 数据 - `users.json`:现有学生账号,保留原数据。 - `data.json`:学生申请及附件,保留原数据。 - `operations.json`:知识库、公告、设备、地点、失物、统计与日志,首次修改时创建。 - `seed.js`:首次启动使用的演示数据。 支持 `PORT`、`HOST` 和 `DATA_DIR` 环境变量。默认仅监听 `127.0.0.1:3000`。局域网演示可设置 `HOST=0.0.0.0`。测试时使用独立的 `DATA_DIR`,避免改变演示数据。 ## 功能与边界 已提供事项表单与附件、审批和补件、报修流转、催办评价、课表考试、地图、失物发布与匹配、公告、知识库问答、语音能力检测,以及 12 个管理页面。知识库支持 PDF、DOCX、TXT 文档解析预览,核对后保存草稿并审核发布。 课表与地图使用明确标注的演示数据,设备尚未接入真实终端;AI 当前为本地知识库检索。真实教务、GIS、模型、电子证明和硬件接口仍需校方服务。完整清单见 [前端交付与验收](docs/frontend-delivery.md)。 ## 测试 ```bash npm test ``` 浏览器测试需要 Playwright 与 Chromium: ```bash npm install --no-save playwright npx playwright install chromium ``` 先用独立数据目录启动 3100 端口,再运行: ```bash npm run test:e2e node tests/extended-browser.cjs ``` 可通过 `TEST_BASE_URL` 设置测试地址,`TEST_OUTPUT` 设置截图目录,`PLAYWRIGHT_MODULE` 指定已有 Playwright 模块路径。扩展测试通过 `TEST_DOCX` 和 `TEST_PDF` 指定用于验证导入的文件。 ## 接入 DeepSeek AI 页面通过后端 `/api/assistant` 调用 DeepSeek Chat Completions API。没有配置密钥时,系统继续使用本地知识库回答;配置密钥后,后端会先检索 `operations.json` 中的校内知识,再把相关资料交给 DeepSeek 生成回答。 PowerShell 当前窗口配置方式(请把真实 API Key 只放在后端环境变量中): ```powershell $env:DEEPSEEK_BASE_URL="https://api.deepseek.com/v1" $env:DEEPSEEK_API_KEY="你的 DeepSeek API Key" $env:DEEPSEEK_MODEL="deepseek-chat" npm start ``` 也可以复制 `.env.example` 作为配置参考。不要把真实密钥写进 `public/` 或提交到 Git。