#!/bin/bash
# 微信公众号编辑器填充 - xdotool纯操作版（最稳定）
# 前置：VNC中已打开编辑器，窗口标题包含"公众号"

set -e

PROJECT_ROOT="/root/openclaw-workspace/projects/yu-zhi-ran"
MARKDOWN_FILE="$PROJECT_ROOT/content/drafts/001-wechat.md"
COVER_IMG="$PROJECT_ROOT/content/publishing/images/05-封面图.png"

# 检查文件
[ -f "$MARKDOWN_FILE" ] || { echo "错误: $MARKDOWN_FILE 不存在"; exit 1; }
[ -f "$COVER_IMG" ] || { echo "警告: 封面图不存在 $COVER_IMG"; }

# 获取文章内容
ARTICLE_TITLE=$(head -1 "$MARKDOWN_FILE" | sed 's/^# //')
ARTICLE_BODY=$(sed '1d;$d' "$MARKDOWN_FILE")

echo "=========================================="
echo "微信公众号编辑器填充（xdotool版）"
echo "=========================================="
echo "标题: $ARTICLE_TITLE"
echo "正文长度: $(echo "$ARTICLE_BODY" | wc -l) 行"
echo "封面: $COVER_IMG"
echo ""
echo "⚠️  确保："
echo "  1. VNC桌面已打开（http://10.2.0.14:6080/vnc.html）"
echo "  2. 编辑器窗口已激活（点击一下编辑器区域）"
echo "  3. 编辑器是当前活动窗口"
echo ""
echo "3秒后开始..."
sleep 3

export DISPLAY=:0

# 查找编辑器窗口
echo "查找编辑器窗口..."
WIN_ID=$(xdotool search --name "公众号" | head -1)
if [ -z "$WIN_ID" ]; then
  echo "❌ 未找到标题包含'公众号'的窗口"
  echo "请确保编辑器窗口已打开并激活"
  exit 1
fi
echo "✓ 找到窗口 ID: $WIN_ID"

# 激活窗口
xdotool windowactivate "$WIN_ID"
sleep 1

# 确保在编辑器内（点一下）
xdotool click 1
sleep 0.5

# Ctrl+A 全选并删除（清空可能存在的默认文本）
xdotool key ctrl+a
sleep 0.3
xdotool key Delete
sleep 0.5

# 输入标题
echo "输入标题..."
echo -n "$ARTICLE_TITLE" | xclip -selection clipboard
xdotool key ctrl+v
sleep 1

# 按 Tab 键移动到正文区域
echo "切换到正文..."
xdotool key Tab
sleep 0.5

# 可能还需要再按一次 Tab（取决于编辑器结构）
xdotool key Tab
sleep 0.5

# 全选正文区并清空
xdotool key ctrl+a
sleep 0.3
xdotool key Delete
sleep 0.5

# 粘贴正文（分段粘贴避免缓冲区溢出）
echo "粘贴正文（分段）..."
echo "$ARTICLE_BODY" | fold -s -w 100 | while IFS= read -r line; do
  [ -z "$line" ] && continue
  echo -n "$line" | xclip -selection clipboard
  xdotool key ctrl+v
  xdotool key Return
  sleep 0.1
done
sleep 1

# 上传封面图
echo "上传封面图（手动确认）..."
echo "请手动："
echo "  1. 点击编辑器工具栏的图片按钮（🖼️）"
echo "  2. 选择 '上传图片' 或 '本地上传'"
echo "  3. 文件路径: $COVER_IMG"
echo ""
echo "脚本暂停30秒，请完成上传..."
sleep 30

# 截图（已安装 scrot 或 import？）
SCREENSHOT_DIR="$PROJECT_ROOT/content/published/$(date +%Y-%m-%d)-wechat-draft"
mkdir -p "$SCREENSHOT_DIR"
if command -v scrot &>/dev/null; then
  scrot "$SCREENSHOT_DIR/screenshot.png" 2>/dev/null && echo "截图: $SCREENSHOT_DIR/screenshot.png"
elif command -v import &>/dev/null; then
  import -window "$WIN_ID" "$SCREENSHOT_DIR/screenshot.png" 2>/dev/null && echo "截图: $SCREENSHOT_DIR/screenshot.png"
else
  echo "⚠️  未找到截图工具，请手动截图保存到 $SCREENSHOT_DIR/"
fi

# 创建元数据
cat > "$SCREENSHOT_DIR/metadata.json" <<EOF
{
  "title": "$ARTICLE_TITLE",
  "markdown_file": "$MARKDOWN_FILE",
  "cover_image": "$COVER_IMG",
  "created_at": "$(date -Iseconds)",
  "status": "draft",
  "auto_filled": true,
  "notes": "标题和正文已通过xdotool自动填充，封面图已手动上传到正文开头。请手动：1. 点击编辑器右侧'从正文选择'设置封面 2. 填写摘要和标签 3. 保存草稿"
}
EOF
echo "元数据: $SCREENSHOT_DIR/metadata.json"

echo ""
echo "=========================================="
echo "✅ 自动填充完成！"
echo "=========================================="
echo "剩余步骤（手动）："
echo "  1. 编辑器右侧 → 点击'从正文选择' → 选第一张图"
echo "  2. 填写摘要（150字内）"
echo "  3. 添加标签：阳台种菜,城市农业,种植,园艺"
echo "  4. 声明原创（如需）"
echo "  5. 保存草稿或发表"
echo ""
echo "编辑器窗口 ID: $WIN_ID"
echo "=========================================="
