widget_utils.dart 954 B

12345678910111213141516171819202122232425262728293031323334
  1. import 'dart:io';
  2. import 'package:dio/dio.dart';
  3. import 'package:flutter/material.dart';
  4. import '../helper/toast.dart';
  5. /// 对错误 [e] 进行分发处理
  6. dispatchFailure(BuildContext context, dynamic e) {
  7. var message = e.toString();
  8. if (e is DioError) {
  9. final response = e.response;
  10. if (response?.statusCode == 401) {
  11. message = "account or password error ";
  12. } else if (403 == response?.statusCode) {
  13. message = "forbidden";
  14. } else if (404 == response?.statusCode) {
  15. message = "page not found";
  16. } else if (500 == response?.statusCode) {
  17. message = "Server internal error";
  18. } else if (503 == response?.statusCode) {
  19. message = "Server Updating";
  20. } else if (e.error is SocketException) {
  21. message = "network cannot use";
  22. } else {
  23. message = "Oops!!";
  24. }
  25. }
  26. print("error :" + message);
  27. if (context != null) {
  28. Toast.show(message, context, type: Toast.ERROR);
  29. }
  30. }