#!/bin/bash
# 首次运行自我修复：移除隔离 + 加执行权限，之后双击即可运行
xattr -d com.apple.quarantine "$0" 2>/dev/null
chmod +x "$0" 2>/dev/null
# ==============================================
# 硬件信息导出脚本（macOS 版）
# 使用系统自带 system_profiler / sysctl，无需安装依赖
# 兼容 macOS 10.13+（Intel 与 Apple Silicon）
# 零权限：不读取需要 sudo 的信息，双击运行不弹授权窗口
# ==============================================

report="硬件报告.txt"
arch="$(uname -m)"
hw_overview="$(system_profiler SPHardwareDataType 2>/dev/null)"

{
echo "=============================================="
echo "                电脑硬件配置报告"
echo "=============================================="
echo "生成时间：$(date '+%Y-%m-%d %H:%M:%S')"
echo "机器名：$(scutil --get ComputerName)"
echo ""

echo "━━━━━━━━━━ 硬件概览 ━━━━━━━━━━"
echo "$hw_overview"

echo ""
echo "━━━━━━━━━━ CPU ━━━━━━━━━━"
if [ "$arch" = "arm64" ]; then
    chip="$(echo "$hw_overview" | grep -E 'Chip|芯片' | head -1 | sed -E 's/^[^:：]+[:：][[:space:]]*//')"
    echo "芯片：${chip:-未知}"
else
    echo "型号：$(sysctl -n machdep.cpu.brand_string 2>/dev/null)"
fi
echo "物理核心：$(sysctl -n hw.physicalcpu 2>/dev/null) 核"
echo "逻辑核心：$(sysctl -n hw.logicalcpu 2>/dev/null) 核"

echo ""
echo "━━━━━━━━━━ 内存 ━━━━━━━━━━"
echo "总内存：$(( $(sysctl -n hw.memsize 2>/dev/null) / 1024 / 1024 / 1024 )) GB"
if [ "$arch" = "arm64" ]; then
    echo "内存条：本设备为 Apple Silicon 统一内存，无独立内存插槽"
else
    system_profiler SPMemoryDataType 2>/dev/null
fi

echo ""
echo "━━━━━━━━━━ 显卡 / 显示器 ━━━━━━━━━━"
system_profiler SPDisplaysDataType 2>/dev/null

echo ""
echo "━━━━━━━━━━ 存储 ━━━━━━━━━━"
system_profiler SPStorageDataType 2>/dev/null

echo ""
echo "━━━━━━━━━━ 网卡 ━━━━━━━━━━"
system_profiler SPNetworkDataType 2>/dev/null

echo ""
echo "━━━━━━━━━━ 系统 ━━━━━━━━━━"
system_profiler SPSoftwareDataType 2>/dev/null

echo ""
echo "=============================================="
} > "$report"

echo ""
echo "报告已生成：$(pwd)/$report"
open "$report"
