From 07a90cc2f1d09e25d236c55877aa95226a6222d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=87=E9=98=B3?= <3311118881@qq.com> Date: Fri, 11 Oct 2024 15:37:48 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=B7=B2=E7=9F=A5=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .dockerignore | 4 ++++ dockerfile | 35 +++++++++++++++++++++++++++++++++++ src/api/Footprint.ts | 4 ++-- src/types/response.d.ts | 4 ++-- src/utils/request.ts | 4 ++-- 5 files changed, 45 insertions(+), 6 deletions(-) create mode 100644 .dockerignore create mode 100644 dockerfile diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..edd83c0 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,4 @@ +node_modules +npm-debug.log +Dockerfile +.dockerignore \ No newline at end of file diff --git a/dockerfile b/dockerfile new file mode 100644 index 0000000..11b97b8 --- /dev/null +++ b/dockerfile @@ -0,0 +1,35 @@ +# 使用官方的Node.js镜像作为基础镜像 +FROM node:20-alpine + +# 设置工作目录 +WORKDIR /thrive + +# 复制 package.json 和 package-lock.json +COPY package*.json /thrive/ + +# 配置 npm 镜像源 +RUN npm config set registry https://registry.npmmirror.com + +# 安装依赖 +RUN npm install + +# 复制项目文件 +COPY . /thrive + +# 构建项目 +RUN npm run build + +# 使用 Nginx 作为生产环境的基础镜像 +FROM nginx:alpine + +# 复制构建输出到 Nginx 的默认静态文件目录 +COPY --from=builder /app/dist /usr/share/nginx/html + +# 复制自定义的 Nginx 配置文件(如果需要) +# COPY nginx.conf /etc/nginx/nginx.conf + +# 暴露端口 +EXPOSE 9002 + +# 启动 Nginx +CMD ["nginx", "-g", "daemon off;"] diff --git a/src/api/Footprint.ts b/src/api/Footprint.ts index 70d09cc..826a8b8 100644 --- a/src/api/Footprint.ts +++ b/src/api/Footprint.ts @@ -1,5 +1,5 @@ import Request from '@/utils/request' -import { Footprint } from '@/types/app/footprint' +import { FilterFootprint, Footprint } from '@/types/app/footprint' // 新增路由 export const addFootprintDataAPI = (data: Footprint) => Request("POST", "/footprint", { data }) @@ -14,7 +14,7 @@ export const editFootprintDataAPI = (data: Footprint) => Request("PAT export const getFootprintDataAPI = (id?: number) => Request("GET", `/footprint/${id}`) // 获取路由列表 -export const getFootprintListAPI = (data?: QueryData) => Request("POST", "/footprint/list", { +export const getFootprintListAPI = (data?: QueryData) => Request("POST", "/footprint/list", { data: { ...data?.query }, params: { sort: data?.sort diff --git a/src/types/response.d.ts b/src/types/response.d.ts index 7ea2eaf..a232d9c 100644 --- a/src/types/response.d.ts +++ b/src/types/response.d.ts @@ -27,11 +27,11 @@ interface FilterData { endDate?: string } -interface QueryData { +interface QueryData { // 通用的 sort?: "asc" | "desc", pattern?: "list" | "recursion", - query?: FilterData, + query?: T, pagination?: Page, // 文件相关 diff --git a/src/utils/request.ts b/src/utils/request.ts index 6285791..efa6c96 100644 --- a/src/utils/request.ts +++ b/src/utils/request.ts @@ -3,8 +3,8 @@ import { Modal, notification } from "antd"; import { useUserStore } from "@/stores"; // 配置项目API域名 -export const baseURL = "http://localhost:9999/api"; -// export const baseURL = "http://82.157.186.125:5000/api"; +// export const baseURL = "http://localhost:9999/api"; +export const baseURL = "http://api.liuyuyang.net/api"; // 创建 axios 实例 export const instance = axios.create({