/**
 * 查看guanghulab.com首页
 */

const GZ = { ip: '43.139.217.141', port: 3910, key: 'zy_gtw_4a155446b7acc09fe46a2a29972c0ca5d9954da19c35dc23' }

async function callGK(srv, method, path, body = null) {
  const url = `http://${srv.ip}:${srv.port}${path}`
  const opts = { method, headers: { 'Authorization': `Bearer ${srv.key}`, 'Content-Type': 'application/json' } }
  if (body) opts.body = JSON.stringify(body)
  const res = await fetch(url, opts)
  const text = await res.text()
  try { return { status: res.status, data: JSON.parse(text) } }
  catch { return { status: res.status, data: { raw: text } } }
}

async function exec(srv, cmd) {
  const r = await callGK(srv, 'POST', '/exec', { cmd })
  return r.data
}

async function readFile(srv, path) {
  const r = await callGK(srv, 'POST', '/file/read', { path })
  if (r.status === 200) return r.data.content
  return null
}

async function main() {
  // 查看首页目录
  console.log('📂 首页目录结构:')
  const r1 = await exec(GZ, 'ls -la /opt/guanghulab-repo/homepage/ 2>&1')
  console.log(r1.stdout || r1.stderr)

  // 读取index.html
  console.log('\n📄 index.html:')
  const html = await readFile(GZ, '/opt/guanghulab-repo/homepage/index.html')
  if (html) console.log(html)
  else console.log('(读取失败)')

  // 看看子目录
  console.log('\n📂 首页子目录:')
  const r2 = await exec(GZ, 'find /opt/guanghulab-repo/homepage/ -type f 2>&1')
  console.log(r2.stdout || r2.stderr)

  // 看首页通过Nginx访问的效果
  console.log('\n🔍 首页HTML:')
  const r3 = await exec(GZ, `curl -s -k -H "Host: guanghulab.com" https://localhost/ 2>&1 | head -100`)
  console.log(r3.stdout || r3.stderr)
}

main().catch(err => console.error('❌', err))
