# ai-admin-backend **Repository Path**: captainwilson/ai-admin-backend ## Basic Information - **Project Name**: ai-admin-backend - **Description**: ai管理系统后端 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-25 - **Last Updated**: 2026-04-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 谷东ai办公管理系统后台 ## 项目介绍 谷东ai办公管理系统后台是一个基于FastAPI框架的后端服务,用于提供谷东ai办公管理系统的API接口。 ## 项目启动方法 python run.py ## 项目依赖 查看requirements.txt文件 ## 本地开发:MySQL 在远程机(SSH 隧道) 若本机未安装 MySQL,而数据库跑在局域网机器 **192.168.0.35**(与远端后端同环境),本机后端需通过 **SSH 本地端口转发** 把远程 `127.0.0.1:3306` 映射到本机,再让 `config/.env` 里的 `DB_HOST` / `DB_PORT` 指向本机转发端口。 **远程环境参考**(与你在 35 上部署一致): | 项 | 值 | |----|-----| | SSH | `goolton@192.168.0.35`,端口 22 | | 远端项目目录 | `/home/goolton/.users/wilson/code/web/ai-admin-backend` | | Conda | `conda activate gtai` | | 远端启动 | `python run.py` 或 `nohup python run.py &` | **本机操作顺序**: 1. **建立隧道**(二选一) - **等价裸命令**(与脚本一致,便于排查): `ssh -N -L 3306:127.0.0.1:3306 goolton@192.168.0.35` 保持该终端不关;另开终端再跑 `python run.py`。 - 前台脚本:`bash scripts/start-tunnel.sh` - 后台脚本:`bash scripts/start-tunnel-bg.sh` **首次连接**:若出现 `Host key verification failed`,先在本机执行一次: `ssh-keyscan -H 192.168.0.35 >> ~/.ssh/known_hosts` 再重新执行隧道命令。随后会提示输入 **SSH 密码**;建议配置公钥免密:`ssh-copy-id goolton@192.168.0.35`(勿把密码写进仓库)。 2. **确认 `config/.env`**:`DB_HOST=localhost`(或 `127.0.0.1`)、`DB_PORT=3306`,以及 `DB_USER` / `DB_PASSWORD` / `DB_NAME` 与**远程 MySQL**一致(可与远端 `ai-admin-backend` 的 `.env` 对齐)。 3. **启动本机后端**:`.venv/bin/python run.py` 若本机 **3306 已被占用**,可设 `LOCAL_MYSQL_PORT=13306` 再运行隧道脚本,并把 `.env` 中 `DB_PORT` 改为同一端口。 隧道断开后接口会再次出现 `Can't connect to MySQL server on '127.0.0.1'`;重新执行隧道脚本即可。 ## 本地前端连接此后端 在本地同时跑前端和后端时,按下面配置即可。 ### 1. 后端(本机) - 在项目目录执行:`python run.py`(或使用虚拟环境:`.venv/bin/python run.py`) - 服务地址:**http://localhost:6112** - API 文档:http://localhost:6112/docs ### 2. 前端配置 在前端项目里,把**接口基础地址**指向本机后端,例如: - **Base URL / API Root**:`http://localhost:6112` - 若前端用环境变量,可设:`VITE_API_BASE_URL=http://localhost:6112`(Vite)或 `REACT_APP_API_BASE_URL=http://localhost:6112`(Create React App)等,依你使用的前端框架而定。 ### 3. CORS 说明 后端已允许以下来源的跨域请求,前端只要跑在这些地址即可被接受: | 前端地址 | 说明 | |----------|------| | http://localhost:3000 | 常见开发端口 | | http://localhost:5173 | Vite 默认端口 | | http://127.0.0.1:3000 | 同上 | | http://127.0.0.1:5173 | 同上 | 若前端运行在**其他端口**(如 8080),需在后端 `config/start_fastapi.py` 的 `CORS_ORIGINS` 列表中增加一项,例如:`"http://localhost:8080"`,然后重启后端。 ### 4. 自检 - 浏览器访问:http://localhost:6112/docs ,能打开即表示后端正常。 - 前端发请求时,确保请求的 host 为 `localhost:6112`(或 127.0.0.1:6112),且前端页面来源在上述 CORS 列表中。