/**
 * 背景图片配置API测试
 * 
 * 使用说明：
 * 1. 确保后端API接口已经部署
 * 2. 在浏览器控制台中运行测试函数
 * 3. 检查API响应是否符合预期格式
 */

import { useLoginBackgroundApi } from './loginBackground';

export class LoginBackgroundApiTest {
  private api = useLoginBackgroundApi();

  /**
   * 测试获取配置接口
   */
  async testGetConfig() {
    console.log('🔍 测试获取背景图片配置...');
    
    try {
      const response = await this.api.getConfig();
      console.log('✅ 获取配置成功:', response);
      
      // 验证响应格式
      if (response.code === 200 || response.code === 2000) {
        console.log('📋 配置数据:', response.data);
      } else if (response.data) {
        console.log('📋 配置数据:', response.data);
      } else {
        console.log('📋 配置数据:', response);
      }
      
      return response;
    } catch (error) {
      console.error('❌ 获取配置失败:', error);
      throw error;
    }
  }

  /**
   * 测试设置配置接口
   */
  async testSetConfig() {
    console.log('💾 测试设置背景图片配置...');
    
    const testData = {
      backgroundImage: 'https://example.com/test-background.jpg',
      description: '测试背景图片',
      enabled: true
    };
    
    try {
      const response = await this.api.setConfig(testData);
      console.log('✅ 设置配置成功:', response);
      
      // 验证保存结果
      if (response.code === 200 || response.code === 2000 || response.success) {
        console.log('🎉 配置保存成功');
      } else {
        console.warn('⚠️ 配置保存可能失败:', response.message);
      }
      
      return response;
    } catch (error) {
      console.error('❌ 设置配置失败:', error);
      throw error;
    }
  }

  /**
   * 完整测试流程
   */
  async runFullTest() {
    console.log('🚀 开始完整API测试...');
    
    try {
      // 1. 先获取当前配置
      console.log('\n--- 步骤1: 获取当前配置 ---');
      const currentConfig = await this.testGetConfig();
      
      // 2. 设置新配置
      console.log('\n--- 步骤2: 设置新配置 ---');
      await this.testSetConfig();
      
      // 3. 再次获取配置验证
      console.log('\n--- 步骤3: 验证配置是否已更新 ---');
      await this.testGetConfig();
      
      console.log('\n🎉 所有测试完成！');
      
    } catch (error) {
      console.error('\n💥 测试过程中出现错误:', error);
    }
  }
}

// 导出测试实例以便在控制台中使用
export const backgroundApiTest = new LoginBackgroundApiTest();

// 使用示例（在浏览器控制台中）:
// 
// import { backgroundApiTest } from '@/api/system/loginBackgroundTest';
// 
// // 测试获取配置
// backgroundApiTest.testGetConfig();
//
// // 测试设置配置  
// backgroundApiTest.testSetConfig();
//
// // 运行完整测试
// backgroundApiTest.runFullTest();