# scl90 **Repository Path**: tenpercentengineer/scl90 ## Basic Information - **Project Name**: scl90 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-05 - **Last Updated**: 2026-03-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SCL-90 MVP(Vue + Python) 一个温馨风格的 SCL-90 一次性链接问卷 MVP: - 三种主题色可切换 - 一次性链接填写 - 完成后生成报告 + 雷达图 + PDF 下载 - 无登录、无支付(只做问卷与报告) > 说明:本项目仅用于自我了解,不构成医疗诊断或治疗建议。 ## 目录结构 - `frontend/` Vue3 + Vite - `backend/` FastAPI + SQLite ## 快速开始 ### 1. 后端 ```bash cd backend python -m venv .venv source .venv/bin/activate pip install -r requirements.txt cd .. cp backend/.env.example backend/.env # 然后在 backend/.env 中填写你的 OPENAI_API_KEY(默认使用 /v1 代理地址,可按需修改 OPENAI_BASE_URL) uvicorn backend.main:app --reload --port 8000 ``` ### 2. 前端 ```bash cd frontend npm install cp .env.example .env npm run dev ``` 默认前端访问 `http://localhost:5173`,后端 `http://localhost:8000`。 > 说明:`VITE_ENABLE_TEST=true` 时会显示“一键测试(自动作答)”按钮;生产环境建议设为 `false`。 ## 生成一次性链接 ```bash curl -X POST http://localhost:8000/api/links \ -H 'Content-Type: application/json' \ -d '{"note":"测试链接"}' ``` 返回: ```json { "token": "xxx", "url": "/t/xxx" } ``` 复制 `url` 或 `token` 进入前端即可填写。 ## API 简要 - `POST /api/links` 创建一次性链接 - `GET /api/surveys/{token}` 获取问卷 - `POST /api/surveys/{token}/submit` 提交答案并生成报告 - `GET /api/surveys/{token}/report` 获取报告 - `POST /api/cleanup` 一键清理已提交记录 ## Docker 部署(推荐) ```bash cp .env.example .env # 在 .env 中填写 OPENAI_API_KEY docker compose up -d --build ``` 访问:`http://服务器IP` ## 评分说明(MVP) - 每题 1-5 分:1=没有,5=严重 - 总分、均分、阳性项目数、阳性均分 - 九大因子均分 + 附加项目(睡眠/饮食等) - 报告中的“AI 解读”默认使用 OpenAI 生成(默认模型 `gpt-5-mini`);如未设置 `OPENAI_API_KEY`,则回退到规则模板 ## SCL-90-R 常模(T 分)配置 - 默认读取:`backend/data/norms/scl90r_adult_nonpatient.json` - 也可通过环境变量 `SCL90R_NORM_PATH` 覆盖路径 - 仓库内文件为占位模板,`active=false` 时会自动降级到原始分参考解读 - 若要启用官方 T 分,请填入已授权的换算表(`raw_min/raw_max -> t_score`)并将 `active` 设为 `true` ## 后续可扩展 - 接入真实支付与链接发放 - 接入 LLM 生成个性化报告 - 管理后台:链接批量生成、统计、导出 ## 版权提示 SCL-90 量表本身可能存在版权/使用许可要求,请在商业使用前确认授权与合规性。