From b1f0c1d346ed99a56062f454b4caccac78be6d56 Mon Sep 17 00:00:00 2001 From: engigu Date: Tue, 23 Dec 2025 22:12:27 +0800 Subject: [PATCH] feat: add node env build --- Dockerfile | 3 ++- docker-entrypoint.sh | 21 +++++++++++++++++++-- web/src/views/loginlogs/LoginLogs.vue | 5 +---- 3 files changed, 22 insertions(+), 7 deletions(-) diff --git a/Dockerfile b/Dockerfile index 340a4f3..e0c020f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -50,7 +50,8 @@ RUN CGO_ENABLED=0 GOOS=${TARGETOS} GOARCH=${TARGETARCH} \ FROM debian:bookworm-slim ENV TZ=Asia/Shanghai -ENV PATH="/app/envs/python/bin:$PATH" +ENV PATH="/app/envs/node/bin:/app/envs/python/bin:$PATH" +ENV NODE_PATH="/app/envs/node/lib/node_modules" # 安装必要系统工具 + Node + Python RUN sed -i 's@deb.debian.org@mirrors.tuna.tsinghua.edu.cn@g' /etc/apt/sources.list.d/debian.sources \ diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index ee78dde..4236384 100644 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -1,6 +1,7 @@ #!/bin/sh PYTHON_VENV_DIR="/app/envs/python" +NODE_ENV_DIR="/app/envs/node" # ============================ # 创建必要目录 @@ -21,9 +22,25 @@ else fi # ============================ -# 激活 Python 虚拟环境 +# 创建 Node 环境目录(如果不存在) # ============================ -export PATH="$PYTHON_VENV_DIR/bin:$PATH" +if [ ! -d "$NODE_ENV_DIR" ]; then + echo "Creating Node environment directory..." + mkdir -p "$NODE_ENV_DIR" + # 设置 npm 全局安装目录 + npm config set prefix "$NODE_ENV_DIR" + # 配置淘宝镜像 + npm config set registry https://registry.npmmirror.com + echo "Node environment created at $NODE_ENV_DIR" +else + echo "Node environment already exists at $NODE_ENV_DIR" +fi + +# ============================ +# 设置环境变量 +# ============================ +export PATH="$NODE_ENV_DIR/bin:$PYTHON_VENV_DIR/bin:$PATH" +export NODE_PATH="$NODE_ENV_DIR/lib/node_modules" # ============================ # 启动应用 diff --git a/web/src/views/loginlogs/LoginLogs.vue b/web/src/views/loginlogs/LoginLogs.vue index 0ef7467..1745f06 100644 --- a/web/src/views/loginlogs/LoginLogs.vue +++ b/web/src/views/loginlogs/LoginLogs.vue @@ -2,7 +2,6 @@ import { ref, onMounted } from 'vue' import { Button } from '@/components/ui/button' import { Input } from '@/components/ui/input' -import { Badge } from '@/components/ui/badge' import Pagination from '@/components/Pagination.vue' import { RefreshCw, Search } from 'lucide-vue-next' import { api } from '@/api' @@ -106,9 +105,7 @@ onMounted(loadLogs) {{ log.username }} {{ log.ip }} - - {{ log.status === 'success' ? '成功' : '失败' }} - + {{ log.user_agent || '-' }} {{ log.created_at }}