login.dart 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import 'dart:convert';
  2. import 'package:app_business/generated/base.pb.dart' as pb;
  3. import 'package:app_business/service/api.dart';
  4. import 'package:get/get.dart';
  5. import 'package:track_common/view.dart';
  6. class LoginControllerImp extends LoginController {
  7. final _api = Get.find<ApiService>();
  8. @override
  9. Future<void> authSendCodeToPhone(String phone) async {
  10. return _api.authSendCodeToPhone(phone, SmsType.Login);
  11. }
  12. @override
  13. Future<Duration> getCodeLifeTime(String phone) {
  14. return _api.getSmsSendLeftTime(phone);
  15. }
  16. @override
  17. Future<void> signIn(String phone, String code) async {
  18. return _api.signIn(phone, code, '');
  19. }
  20. @override
  21. Future<(String, String)> getQrCode() async {
  22. final r = await _api.stub.toGetSignInQrCode(DefaultRequest());
  23. final json = const JsonEncoder()
  24. .convert({'KeyType': 'BusinessLogin', 'code': r.qrCode});
  25. return (json, r.qrCode);
  26. }
  27. @override
  28. Future<bool> isQrCodeOk(String codeValue) async {
  29. final r =
  30. await _api.stub.toQrCodeSignIn(pb.QrCodeInfo()..qrCode = qrCodeValue);
  31. _api.token = r.token;
  32. return true;
  33. }
  34. }