/**
 * 测试百家号 API 接口
 * 用于验证 API 是否正常工作
 */

// 示例 Cookie（需要替换为真实的 Cookie）
const testCookie = 'BDUSS=xxx; STOKEN=xxx';

async function testBaijiahaoAPI() {
  console.log('开始测试百家号 API...\n');

  const headers = {
    'Accept': 'application/json, text/plain, */*',
    'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8',
    'Cookie': testCookie,
    'Referer': 'https://baijiahao.baidu.com/builder/rc/home',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
  };

  // 1. 测试 appinfo 接口
  console.log('1. 测试 appinfo 接口...');
  try {
    const response = await fetch('https://baijiahao.baidu.com/builder/app/appinfo', {
      method: 'GET',
      headers,
    });
    
    const data = await response.json();
    console.log('   状态码:', response.status);
    console.log('   errno:', data.errno);
    console.log('   errmsg:', data.errmsg);
    if (data.data?.user) {
      console.log('   用户名:', data.data.user.name);
      console.log('   app_id:', data.data.user.app_id);
      console.log('   ✅ appinfo 接口正常\n');
    } else {
      console.log('   ❌ 没有用户信息\n');
    }
  } catch (error) {
    console.log('   ❌ 请求失败:', error.message, '\n');
  }

  // 2. 测试 growth info 接口
  console.log('2. 测试 growth info 接口...');
  try {
    const response = await fetch('https://baijiahao.baidu.com/cms-ui/rights/growth/get_info', {
      method: 'GET',
      headers,
    });
    
    const data = await response.json();
    console.log('   状态码:', response.status);
    console.log('   errno:', data.errno);
    if (data.data) {
      console.log('   粉丝数:', data.data.total_fans);
      console.log('   ✅ growth info 接口正常\n');
    } else {
      console.log('   ❌ 没有数据\n');
    }
  } catch (error) {
    console.log('   ❌ 请求失败:', error.message, '\n');
  }

  // 3. 测试 article lists 接口
  console.log('3. 测试 article lists 接口...');
  try {
    const response = await fetch('https://baijiahao.baidu.com/pcui/article/lists?currentPage=1&pageSize=20&search=&type=&collection=&startDate=&endDate=&clearBeforeFetch=false&dynamic=0', {
      method: 'GET',
      headers,
    });
    
    const data = await response.json();
    console.log('   状态码:', response.status);
    console.log('   errno:', data.errno);
    if (data.data) {
      console.log('   作品数:', data.data.list?.length || 0);
      console.log('   总数:', data.data.total);
      console.log('   ✅ article lists 接口正常\n');
    } else {
      console.log('   ❌ 没有数据\n');
    }
  } catch (error) {
    console.log('   ❌ 请求失败:', error.message, '\n');
  }

  console.log('测试完成！');
  console.log('\n注意：如果所有接口都返回 errno=110 或没有数据，说明 Cookie 无效或已过期。');
}

// 运行测试
testBaijiahaoAPI().catch(console.error);
