image_captcha.service.dart 751 B

1234567891011121314151617181920212223242526272829
  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("ImageCaptchaService.captcha(): ");
  11. LOGGER.i("GET: /captcha?_allow_anonymous=true");
  12. final res = await _dio.get(
  13. "/captcha?_allow_anonymous=true",
  14. queryParameters: {"state": state},
  15. );
  16. final String base64Image = res.data["data"]["image"];
  17. return base64.decode(base64Image.split(",")[1]);
  18. } catch (err) {
  19. LOGGER.e("ImageCaptchaService.captcha(): ");
  20. LOGGER.e(err);
  21. }
  22. return null;
  23. }
  24. }