| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- // 地区数据系统测试工具
- // 用于验证双地区数据系统是否正常工作
- import { regionData } from 'element-china-area-data';
- import { chinaAreaList } from '@/api/system/addressarea/index';
- import { convertRegionData, BackendRegionUtils } from './regionDataConverter';
- /**
- * 测试基本信息地址选择系统
- */
- export function testFrontendRegionData() {
- console.log('=== 测试基本信息地址选择系统 ===');
-
- if (!regionData || !Array.isArray(regionData)) {
- console.error('❌ 前端地区数据加载失败');
- return false;
- }
-
- console.log('✅ 前端地区数据加载成功');
- console.log(`📊 省份数量: ${regionData.length}`);
-
- // 测试数据结构
- const firstProvince = regionData[0];
- if (firstProvince && firstProvince.value && firstProvince.label && firstProvince.children) {
- console.log('✅ 数据结构正确');
- console.log(`📍 示例省份: ${firstProvince.label} (${firstProvince.value})`);
-
- const firstCity = firstProvince.children[0];
- if (firstCity && firstCity.children) {
- console.log(`📍 示例城市: ${firstCity.label} (${firstCity.value})`);
- console.log(`📍 示例区县: ${firstCity.children[0]?.label} (${firstCity.children[0]?.value})`);
- }
- } else {
- console.error('❌ 前端地区数据结构异常');
- return false;
- }
-
- return true;
- }
- /**
- * 测试供应区域管理系统
- */
- export async function testBackendRegionData() {
- console.log('=== 测试供应区域管理系统 ===');
-
- try {
- const res = await chinaAreaList();
- const backendData = res.data;
-
- if (!backendData || !Array.isArray(backendData)) {
- console.error('❌ 后端地区数据加载失败');
- return false;
- }
-
- console.log('✅ 后端地区数据加载成功');
- console.log(`📊 省份数量: ${backendData.length}`);
-
- // 测试数据结构
- const firstProvince = backendData[0];
- if (firstProvince && firstProvince.id && firstProvince.areaCode && firstProvince.areaName) {
- console.log('✅ 数据结构正确');
- console.log(`📍 示例省份: ${firstProvince.areaName} (${firstProvince.areaCode})`);
-
- if (firstProvince.children && firstProvince.children.length > 0) {
- const firstCity = firstProvince.children[0];
- console.log(`📍 示例城市: ${firstCity.areaName} (${firstCity.areaCode})`);
- }
- } else {
- console.error('❌ 后端地区数据结构异常');
- return false;
- }
-
- // 测试数据转换
- const convertedData = convertRegionData(backendData);
- if (convertedData && convertedData.length > 0) {
- console.log('✅ 数据转换成功');
- console.log(`📊 转换后数据量: ${convertedData.length}`);
- } else {
- console.error('❌ 数据转换失败');
- return false;
- }
-
- // 测试工具函数
- const beijingData = BackendRegionUtils.findByAreaCode(backendData, 'CN11');
- if (beijingData) {
- console.log(`✅ 工具函数测试成功: 找到 ${beijingData.areaName}`);
- }
-
- return true;
- } catch (error) {
- console.error('❌ 后端地区数据测试失败:', error);
- return false;
- }
- }
- /**
- * 运行完整的地区数据系统测试
- */
- export async function runRegionDataTests() {
- console.log('🚀 开始地区数据系统测试...');
-
- const frontendTest = testFrontendRegionData();
- const backendTest = await testBackendRegionData();
-
- if (frontendTest && backendTest) {
- console.log('🎉 所有测试通过!双地区数据系统工作正常');
- return true;
- } else {
- console.log('❌ 部分测试失败,请检查相关配置');
- return false;
- }
- }
- // 在开发环境下可以手动运行测试
- if (import.meta.env.DEV) {
- // 可以在控制台运行: runRegionDataTests()
- (window as any).runRegionDataTests = runRegionDataTests;
- (window as any).testFrontendRegionData = testFrontendRegionData;
- (window as any).testBackendRegionData = testBackendRegionData;
- }
|