#!/bin/bash
# 定义图标
CHECK_ICON="✅"
ERROR_ICON="❌"
INFO_ICON="ℹ️"
WARNING_ICON="⚠️"

wk=`pwd`
chmod -R 755 $wk/${webAppName}

echo -e "${INFO_ICON} 开始执行安装后检查，应用: '${webAppName}'..."

# 1. 检查应用的主目录是否存在。
#    -d 表示检查目标是否为一个目录。
if [ ! -d "${webAppName}" ]; then
  echo -e "${ERROR_ICON} 错误: 安装检查失败。应用目录 '${webAppName}' 不存在。" >&2
  exit 1
fi

# 2. 检查目录是否为空。
#    ls -A 会列出除 . 和 .. 之外的所有条目。
#    -z 会检查命令输出的字符串是否为空。
if [ -z "$(ls -A "${webAppName}")" ]; then
  echo -e "${ERROR_ICON} 错误: 安装检查失败。应用目录 '${webAppName}' 存在但为空。" >&2
  exit 1
fi

echo -e "${CHECK_ICON} 成功: 应用目录 '${webAppName}' 已找到且不为空。"
echo -e "${CHECK_ICON} 安装验证通过。"

<% if (enableObfuscation && configFileNames && configFileNames.length) { %>
# 混淆配置文件：优先 node（javascript-obfuscator），无 node 时回退 bash 轻量混淆
echo -e "${CHECK_ICON} 开始混淆配置文件..."
pkg_root=`pwd`
cd "$(dirname "$0")"
use_node=0
if command -v node >/dev/null 2>&1; then
  use_node=1
  echo -e "${INFO_ICON} 检测到 node，使用 confuse.js 强混淆"
else
  echo -e "${WARNING_ICON} 未检测到 node，使用 confuse.sh 轻量混淆（强度较弱）"
fi
<% configFileNames.forEach(function (cf) { %>
if [ "$use_node" -eq 1 ]; then
  node ./js/confuse.js "${webAppName}" "<% print(cf) %>" "$pkg_root"
else
  bash ./js/confuse.sh "${webAppName}" "<% print(cf) %>" "$pkg_root"
fi
if [ $? -ne 0 ]; then
  echo -e "${ERROR_ICON} 错误: 混淆配置文件失败 (<% print(cf) %>).js。" >&2
  exit 1
fi
<% }) %>

echo -e "${CHECK_ICON} 成功: 混淆配置文件完成。"
<% } %>

exit 0
