// 测试小程序端区域数据加载(修复后) const http = require('http'); // 模拟小程序端的GraphQL请求 function graphqlRequest(query, variables = {}) { return new Promise((resolve, reject) => { const data = JSON.stringify({ query: query, variables: variables }); const options = { hostname: 'localhost', port: 8080, path: '/api/graphql', method: 'POST', headers: { 'Content-Type': 'application/json', 'Content-Length': Buffer.byteLength(data) } }; const req = http.request(options, (res) => { let body = ''; res.on('data', (chunk) => { body += chunk; }); res.on('end', () => { try { const response = JSON.parse(body); console.log('📊 GraphQL响应:', JSON.stringify(response, null, 2)); if (response.errors) { console.error('❌ GraphQL错误:', response.errors); reject(response.errors); } else if (response.data) { resolve(response.data); } else { console.error('❌ GraphQL响应异常:', response); reject('请求失败'); } } catch (error) { console.error('❌ 解析响应失败:', error); reject(error); } }); }); req.on('error', (error) => { console.error('❌ 请求失败:', error); reject(error); }); req.write(data); req.end(); }); } // 模拟loadRegions方法 async function loadRegions() { try { console.log('🔄 开始加载区域数据...'); const query = ` query { allRegions { id name pid leafFlag } } `; const result = await graphqlRequest(query); console.log('📊 区域数据查询结果:', result); if (result && result.allRegions) { console.log(`📍 总区域数量: ${result.allRegions.length}`); // 显示前5个区域的leafFlag类型和值 console.log('🔍 前5个区域的leafFlag详情:'); result.allRegions.slice(0, 5).forEach(region => { console.log(` - ${region.name}: leafFlag=${region.leafFlag} (类型: ${typeof region.leafFlag})`); }); // 只显示leaf_flag=true的区域(叶子节点区域) const leafRegions = result.allRegions.filter(region => region.leafFlag === true); console.log(`🍃 叶子节点区域数量: ${leafRegions.length}`); console.log('🍃 叶子节点区域列表:', leafRegions.map(r => `${r.name}(${r.id})`)); console.log('✅ 区域数据设置完成'); return leafRegions; } else { console.warn('⚠️ 未获取到区域数据'); return []; } } catch (error) { console.error('❌ 加载区域数据失败:', error); return []; } } // 执行测试 loadRegions().then(regions => { console.log('\n🎯 测试结果:'); console.log(`- 成功获取 ${regions.length} 个叶子节点区域`); if (regions.length > 0) { console.log('✅ 区域数据加载正常!'); } else { console.log('❌ 区域数据加载失败!'); } }).catch(error => { console.error('❌ 测试失败:', error); });