#!/bin/bash

# Oraset 一键安装脚本
# 版本: 4.0.1-Beta

set -e

# 版本检查 URL
VERSION_URL="https://oraset.parlz.com/download/version.txt"
PKG_URL_BASE="https://oraset.parlz.com/download/pkg"

echo "🚀 开始安装 Oraset..."

# 检查系统
if [[ "$OSTYPE" != "darwin"* ]]; then
    echo "❌ 错误: 此安装脚本仅支持 macOS 系统"
    exit 1
fi

# 检查是否有管理员权限
if [ "$EUID" -ne 0 ]; then
    echo "⚠️  需要管理员权限来安装 Oraset"
    echo "请使用 sudo 运行此脚本，或者输入密码："
    sudo -v
fi

# 检查网络连接
check_network() {
    if ! curl -s --head --fail "$VERSION_URL" > /dev/null 2>&1; then
        return 1
    fi
    return 0
}

# 获取最新版本号
get_latest_version() {
    if command -v curl &> /dev/null; then
        LATEST_VERSION=$(curl -s "$VERSION_URL")
    elif command -v wget &> /dev/null; then
        LATEST_VERSION=$(wget -q -O- "$VERSION_URL")
    else
        echo "❌ 错误: 需要 curl 或 wget"
        exit 1
    fi
    echo "$LATEST_VERSION"
}

echo "🔍 正在检查最新版本..."
if check_network; then
    LATEST_VERSION=$(get_latest_version)
    if [ -z "$LATEST_VERSION" ]; then
        echo "⚠️  无法获取最新版本信息，使用默认版本"
        LATEST_VERSION="4.0.1-Beta(..26:.6:12)"
    else
        echo "✅ 检测到最新版本: $LATEST_VERSION"
    fi
else
    echo "⚠️  网络不可用，使用默认版本"
    LATEST_VERSION="4.0.1-Beta(..26:.6:12)"
fi

# 创建临时目录
TEMP_DIR=$(mktemp -d)
echo "📁 创建临时目录: $TEMP_DIR"

# 下载 PKG 文件
PKG_FILE="Oraset-Re+$LATEST_VERSION.pkg"
PKG_URL="$PKG_URL_BASE/$PKG_FILE"
PKG_PATH="$TEMP_DIR/$PKG_FILE"

echo "📥 正在下载 Oraset $LATEST_VERSION..."
if command -v curl &> /dev/null; then
    curl -L -o "$PKG_PATH" "$PKG_URL"
elif command -v wget &> /dev/null; then
    wget -O "$PKG_PATH" "$PKG_URL"
else
    echo "❌ 错误: 需要 curl 或 wget 来下载文件"
    rm -rf "$TEMP_DIR"
    exit 1
fi

# 检查下载是否成功
if [ ! -f "$PKG_PATH" ]; then
    echo "❌ 错误: 下载失败"
    rm -rf "$TEMP_DIR"
    exit 1
fi

echo "✅ 下载完成"

# 安装 PKG
echo "🔧 正在安装 Oraset..."
sudo installer -pkg "$PKG_PATH" -target /

# 清理临时文件
rm -rf "$TEMP_DIR"
echo "🧹 清理临时文件"

# 验证安装
if command -v oraset &> /dev/null; then
    echo "✅ 安装成功！"
    echo ""
    echo "🎉 Oraset $LATEST_VERSION 已成功安装到您的系统"
    echo ""
    echo "使用方法:"
    echo "  查看版本: oraset -v"
    echo "  运行脚本: oraset your_script.ora"
    echo ""
    echo "开始使用 Oraset 吧！"
else
    echo "⚠️  安装可能未完成，请检查错误信息"
    echo "您可以尝试手动安装:"
    echo "  sudo installer -pkg $PKG_FILE -target /"
    exit 1
fi