diff --git a/backend/Dockerfile b/backend/Dockerfile index be4d005..c38f6a2 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -12,8 +12,9 @@ WORKDIR /app COPY package*.json ./ COPY prisma ./prisma/ -# Install dependencies -RUN npm ci +# Install dependencies with Chinese mirror +RUN npm config set registry https://registry.npmmirror.com && \ + npm ci # ======================================== # Stage 2: Builder diff --git a/backend/src/lib/path.ts b/backend/src/lib/path.ts index f7580f0..d772674 100644 --- a/backend/src/lib/path.ts +++ b/backend/src/lib/path.ts @@ -69,7 +69,15 @@ export function resolveImagePath(imagePath: string): string { // 处理 /uploads/ 开头的相对路径 if (imagePath.startsWith('/uploads/')) { - return path.join(getUploadsDir(), imagePath.replace('/uploads/', '')); + const resolved = path.join(getUploadsDir(), imagePath.replace('/uploads/', '')); + + // 在 Docker 环境中,确保使用绝对路径 + if (process.env.NODE_ENV === 'production' || fs.existsSync('/app/uploads')) { + // Docker 环境:直接使用 /app/uploads/ + return `/app/uploads/${imagePath.replace('/uploads/', '')}`; + } + + return resolved; } // 其他相对路径,使用项目根目录 diff --git a/docker-compose.yml b/docker-compose.yml index ce518d9..d6b1b29 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -39,7 +39,7 @@ services: - rapidocr - paddleocr healthcheck: - test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:13057/api/health"] + test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:13057/health"] interval: 30s timeout: 10s retries: 3 diff --git a/frontend/Dockerfile b/frontend/Dockerfile index e9c1849..651e794 100644 --- a/frontend/Dockerfile +++ b/frontend/Dockerfile @@ -8,8 +8,9 @@ WORKDIR /app # Copy package files COPY package*.json ./ -# Install dependencies -RUN npm ci +# Install dependencies with Chinese mirror +RUN npm config set registry https://registry.npmmirror.com && \ + npm ci # ======================================== # Stage 2: Builder diff --git a/frontend/src/pages/SettingsPage.tsx b/frontend/src/pages/SettingsPage.tsx index 89dc11f..f68b8e2 100644 --- a/frontend/src/pages/SettingsPage.tsx +++ b/frontend/src/pages/SettingsPage.tsx @@ -6,7 +6,7 @@ import { Settings, Save, CheckCircle, XCircle, Eye, EyeOff, Server, Globe, Datab // 从环境变量或 localStorage 获取 API 地址 const getDefaultApiUrl = () => { - return import.meta.env.VITE_API_URL || localStorage.getItem('api_base_url') || '/'; + return import.meta.env.VITE_API_URL || localStorage.getItem('api_base_url') || ''; }; type ApiConfig = { diff --git a/test_ocr.png b/test_ocr.png new file mode 100644 index 0000000..fac6bdf Binary files /dev/null and b/test_ocr.png differ diff --git a/当前问题 b/当前问题 new file mode 100644 index 0000000..14164dd --- /dev/null +++ b/当前问题 @@ -0,0 +1,2 @@ +识别后无法转为待办 +paddleOCR和ripadOCR \ No newline at end of file