#!/bin/bash

# 前端容器构建脚本
# 用于构建若依 Vue3 前端 Docker 镜像

set -e

# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color

# 日志函数
log_info() {
    echo -e "${GREEN}[INFO]${NC} $1"
}

log_warn() {
    echo -e "${YELLOW}[WARN]${NC} $1"
}

log_error() {
    echo -e "${RED}[ERROR]${NC} $1"
}

# 检查 Docker 是否安装
if ! command -v docker &> /dev/null; then
    log_error "Docker 未安装或不在 PATH 中"
    exit 1
fi

# 设置变量
IMAGE_NAME="anxin-frontend"
TAG="${1:-latest}"
DOCKERFILE_PATH="docker/frontend/Dockerfile"

log_info "开始构建前端 Docker 镜像..."
log_info "镜像名称: ${IMAGE_NAME}:${TAG}"
log_info "Dockerfile 路径: ${DOCKERFILE_PATH}"

# 检查 Dockerfile 是否存在
if [ ! -f "${DOCKERFILE_PATH}" ]; then
    log_error "Dockerfile 不存在: ${DOCKERFILE_PATH}"
    exit 1
fi

# 检查前端源码目录是否存在
if [ ! -d "RuoYi-Vue3" ]; then
    log_error "前端源码目录不存在: RuoYi-Vue3"
    exit 1
fi

# 构建镜像
log_info "正在构建镜像..."
if docker build -t "${IMAGE_NAME}:${TAG}" -f "${DOCKERFILE_PATH}" .; then
    log_info "镜像构建成功: ${IMAGE_NAME}:${TAG}"
    
    # 显示镜像信息
    log_info "镜像信息:"
    docker images "${IMAGE_NAME}:${TAG}"
else
    log_error "镜像构建失败"
    exit 1
fi

log_info "前端镜像构建完成!"