This commit is contained in:
vipg
2025-11-19 16:24:43 +08:00
parent d05a4cb7e2
commit 89031f86fe
3 changed files with 28 additions and 17 deletions

View File

@@ -76,19 +76,6 @@ func ReadHandler(c *gin.Context) {
return return
} }
// 验证查询条件至少有一个不为空
if req.CountryID == "" && req.Name == "" && req.Code == "" {
zap.L().Warn("⚠️ 请求参数验证失败",
zap.String("req_id", reqID),
zap.String("reason", "country_id、name、code不能同时为空"),
)
c.JSON(http.StatusBadRequest, ReadResponse{
Success: false,
Message: "请求参数错误country_id、name、code不能同时为空",
})
return
}
// 处理分页参数默认值 // 处理分页参数默认值
page, err := strconv.Atoi(req.Page) page, err := strconv.Atoi(req.Page)
if err != nil || page < 1 { if err != nil || page < 1 {

View File

@@ -109,14 +109,17 @@ class _CountryPageState extends State<CountryPage> {
final baseUrl = HostUtils().currentHost; final baseUrl = HostUtils().currentHost;
final path = '/country/read'; final path = '/country/read';
final url = '$baseUrl$path'; final url = '$baseUrl$path';
// 打印请求基本信息
debugPrint('====== 开始请求国家列表 ======');
debugPrint('请求URL: $url');
debugPrint('请求参数: page=$_currentPage, page_size=$_pageSize');
final dio = Dio(); final dio = Dio();
final response = await dio.get( final response = await dio.post(
url, url,
queryParameters: { queryParameters: {
'page': _currentPage, 'page': _currentPage,
'page_size': _pageSize, 'page_size': _pageSize,
// 为空时查询所有国家
'name': '', 'name': '',
'code': '', 'code': '',
'country_id': '', 'country_id': '',
@@ -124,6 +127,10 @@ class _CountryPageState extends State<CountryPage> {
options: Options(headers: {'Content-Type': 'application/json'}), options: Options(headers: {'Content-Type': 'application/json'}),
); );
// 打印响应状态
debugPrint('请求成功,状态码: ${response.statusCode}');
debugPrint('响应数据: ${response.data}');
if (response.statusCode == 200) { if (response.statusCode == 200) {
final CountryResponse countryResponse = CountryResponse.fromJson( final CountryResponse countryResponse = CountryResponse.fromJson(
response.data, response.data,
@@ -142,24 +149,36 @@ class _CountryPageState extends State<CountryPage> {
_currentPage++; _currentPage++;
_errorMessage = null; _errorMessage = null;
}); });
// 打印数据处理结果
debugPrint('数据解析成功,当前列表总数: ${_countries.length}');
debugPrint('是否还有更多数据: $_hasMoreData,下一页: $_currentPage');
} else { } else {
setState(() { setState(() {
_errorMessage = countryResponse.message; _errorMessage = countryResponse.message;
}); });
debugPrint('接口返回失败: ${countryResponse.message}');
} }
} else { } else {
setState(() { setState(() {
_errorMessage = '服务器响应异常: ${response.statusCode}'; _errorMessage = '服务器响应异常: ${response.statusCode}';
}); });
debugPrint('服务器响应异常: ${response.statusCode}');
} }
} on DioException catch (e) { } on DioException catch (e) {
String errorMsg = '网络请求失败'; String errorMsg = '网络请求失败';
if (e.response != null) { if (e.response != null) {
errorMsg = '请求失败: ${e.response?.statusCode}'; errorMsg = '请求失败: ${e.response?.statusCode}';
debugPrint(
'请求错误,状态码: ${e.response?.statusCode},响应数据: ${e.response?.data}',
);
} else if (e.type == DioExceptionType.connectionTimeout) { } else if (e.type == DioExceptionType.connectionTimeout) {
errorMsg = '连接超时,请检查网络'; errorMsg = '连接超时,请检查网络';
debugPrint('连接超时: ${e.message}');
} else if (e.type == DioExceptionType.connectionError) { } else if (e.type == DioExceptionType.connectionError) {
errorMsg = '网络连接错误'; errorMsg = '网络连接错误';
debugPrint('网络连接错误: ${e.message}');
} else {
debugPrint('Dio异常: ${e.type},消息: ${e.message}');
} }
setState(() { setState(() {
_errorMessage = errorMsg; _errorMessage = errorMsg;
@@ -168,21 +187,25 @@ class _CountryPageState extends State<CountryPage> {
setState(() { setState(() {
_errorMessage = '发生未知错误: $e'; _errorMessage = '发生未知错误: $e';
}); });
debugPrint('未知错误: $e');
} finally { } finally {
setState(() { setState(() {
_isLoading = false; _isLoading = false;
}); });
debugPrint('====== 请求结束 ======\n');
} }
} }
// 下拉刷新 // 下拉刷新
Future<void> _refresh() async { Future<void> _refresh() async {
debugPrint('触发下拉刷新');
await _fetchCountries(isRefresh: true); await _fetchCountries(isRefresh: true);
} }
// 加载更多 // 加载更多
void _loadMore() { void _loadMore() {
if (!_isLoading && _hasMoreData) { if (!_isLoading && _hasMoreData) {
debugPrint('触发加载更多,当前页: $_currentPage');
_fetchCountries(); _fetchCountries();
} }
} }
@@ -208,12 +231,14 @@ class _CountryPageState extends State<CountryPage> {
IconButton( IconButton(
icon: const Icon(Icons.add), icon: const Icon(Icons.add),
onPressed: () async { onPressed: () async {
debugPrint('点击新增按钮,跳转到新增页面');
// 跳转到新增页面,返回时刷新列表 // 跳转到新增页面,返回时刷新列表
final result = await Navigator.push( final result = await Navigator.push(
context, context,
MaterialPageRoute(builder: (context) => const AddCountryPage()), MaterialPageRoute(builder: (context) => const AddCountryPage()),
); );
if (result == true) { if (result == true) {
debugPrint('从新增页面返回,刷新列表数据');
_fetchCountries(isRefresh: true); _fetchCountries(isRefresh: true);
} }
}, },

View File

@@ -1,5 +1,4 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:asset_assistant/pages/exchange_page.dart';
class HomePage extends StatelessWidget { class HomePage extends StatelessWidget {
// 功能列表数据 - 为交易所项添加路由信息 // 功能列表数据 - 为交易所项添加路由信息
@@ -117,7 +116,7 @@ class HomePage extends StatelessWidget {
// 点击事件处理 - 如果有路由信息则导航 // 点击事件处理 - 如果有路由信息则导航
if (route != null && context.mounted) { if (route != null && context.mounted) {
// 使用路由路径进行导航 // 使用路由路径进行导航
Navigator.pushNamed(context, route!); Navigator.pushNamed(context, route);
} }
}, },
borderRadius: BorderRadius.circular(8), borderRadius: BorderRadius.circular(8),