image_captcha.service.dart 649 B

123456789101112131415161718192021222324252627
  1. import 'dart:convert';
  2. import 'dart:typed_data';
  3. import 'package:dio/dio.dart';
  4. import 'package:maxkey_flutter/utils.dart';
  5. class ImageCaptchaService {
  6. final Dio _dio;
  7. ImageCaptchaService(this._dio);
  8. Future<Uint8List?> captcha({required String state}) async {
  9. try {
  10. LOGGER.i("GET: /captcha?_allow_anonymous=true");
  11. final res = await _dio.get(
  12. "/captcha?_allow_anonymous=true",
  13. queryParameters: {"state": state},
  14. );
  15. final String base64Image = res.data["data"]["image"];
  16. return base64.decode(base64Image.split(",")[1]);
  17. } catch (err) {
  18. LOGGER.e(err);
  19. }
  20. return null;
  21. }
  22. }