From dceac6f951c6e09c760f25aac4ae0b86b2e85ec9 Mon Sep 17 00:00:00 2001 From: along <1015042407@qq.com> Date: Wed, 1 Apr 2026 10:03:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=81=8A=E5=A4=A9=E7=AA=97?= =?UTF-8?q?=E5=8F=A3=EF=BC=8C=E5=90=8E=E7=AB=AFdocker=E9=83=A8=E7=BD=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/Dockerfile | 17 +++ backend/docker-compose.yml | 17 +++ frontend/App.vue | 219 ++++++++++++++++++++++++++++++++++++- frontend/package-lock.json | 2 + frontend/vite.config.js | 4 + 5 files changed, 258 insertions(+), 1 deletion(-) create mode 100644 backend/Dockerfile diff --git a/backend/Dockerfile b/backend/Dockerfile new file mode 100644 index 0000000..8b437fd --- /dev/null +++ b/backend/Dockerfile @@ -0,0 +1,17 @@ +FROM python:3.11-slim + +WORKDIR /app + +# 先复制 requirements 以利用 Docker 缓存 +COPY requirements.txt . + +RUN pip install --no-cache-dir -r requirements.txt + +# 复制其余代码和数据(如果在后端的相对路径下需要读取) +COPY . . + +# 暴露 FastAPI 使用的端口 +EXPOSE 8000 + +# 启动 FastAPI +CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "8000"] diff --git a/backend/docker-compose.yml b/backend/docker-compose.yml index 99b4ea8..280e888 100644 --- a/backend/docker-compose.yml +++ b/backend/docker-compose.yml @@ -1,4 +1,21 @@ services: + backend: + build: . + container_name: dt_backend + ports: + - "8001:8000" + volumes: + - ../data:/data + env_file: + - .env + environment: + - NEO4J_URI=bolt://neo4j:7687 + - NEO4J_USER=neo4j + - NEO4J_PASSWORD=dtmap2024 + depends_on: + neo4j: + condition: service_healthy + neo4j: image: neo4j:5-community container_name: dt_neo4j diff --git a/frontend/App.vue b/frontend/App.vue index be18e37..0df9ce4 100644 --- a/frontend/App.vue +++ b/frontend/App.vue @@ -96,11 +96,39 @@
加载数据中… {{ loadedCount }}/63 卷 + + +
+ 💬 智能助手 +
+ + +
+
+

💬 知识问答

+ × +
+
+
+ {{ msg.content }} +
+
思索中...
+
+
+ + +
+
diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 8fb36ee..bace479 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -1135,6 +1135,7 @@ "integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "esbuild": "^0.21.3", "postcss": "^8.4.43", @@ -1194,6 +1195,7 @@ "resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.31.tgz", "integrity": "sha512-iV/sU9SzOlmA/0tygSmjkEN6Jbs3nPoIPFhCMLD2STrjgOU8DX7ZtzMhg4ahVwf5Rp9KoFzcXeB1ZrVbLBp5/Q==", "license": "MIT", + "peer": true, "dependencies": { "@vue/compiler-dom": "3.5.31", "@vue/compiler-sfc": "3.5.31", diff --git a/frontend/vite.config.js b/frontend/vite.config.js index ac40221..026e3d8 100644 --- a/frontend/vite.config.js +++ b/frontend/vite.config.js @@ -34,6 +34,10 @@ export default defineConfig({ target: 'http://192.168.190.41:8080', changeOrigin: true, rewrite: (path) => path.replace(/^\/tiles/, '') + }, + '/api': { + target: 'http://127.0.0.1:8000', + changeOrigin: true } } },