33 lines
1.2 KiB
Dart
33 lines
1.2 KiB
Dart
// 2026-04-11 | verify_categories_detail.dart | 分类数据详细验证 | 检查子分类parent_id字段
|
|
import 'dart:convert';
|
|
import 'dart:io';
|
|
|
|
const String baseUrl = 'http://eat.wktyl.com/api';
|
|
|
|
void main() async {
|
|
final uri = Uri.parse('$baseUrl/api.php').replace(queryParameters: {'act': 'categories'});
|
|
final client = HttpClient();
|
|
client.connectionTimeout = const Duration(seconds: 12);
|
|
final request = await client.getUrl(uri);
|
|
final response = await request.close();
|
|
final body = await response.transform(utf8.decoder).join();
|
|
client.close();
|
|
|
|
final json = jsonDecode(body) as Map<String, dynamic>;
|
|
final data = json['data'] as List;
|
|
|
|
for (final topCat in data) {
|
|
final m = topCat as Map<String, dynamic>;
|
|
print('=== Top: id=${m['id']}, name=${m['name']} ===');
|
|
final children = m['children'] as List?;
|
|
if (children != null && children.isNotEmpty) {
|
|
print(' children count: ${children.length}');
|
|
for (final child in children.take(5)) {
|
|
final cm = child as Map<String, dynamic>;
|
|
print(' child keys: ${cm.keys.join(', ')}');
|
|
print(' child: id=${cm['id'] ?? cm['cate_id']}, name=${cm['name'] ?? cm['cate_name']}, parent_id=${cm['parent_id']}');
|
|
}
|
|
}
|
|
}
|
|
}
|