phone_auth_repository.dart 1.31 KB
import 'package:appframe/config/locator.dart';
import 'package:appframe/services/api_service.dart';
import 'package:dio/dio.dart';

class PhoneAuthRepository {
  late final ApiService _appService;

  PhoneAuthRepository() {
    _appService = getIt<ApiService>(instanceName: 'appApiService');
  }

  ///
  /// {
  ///   "code": 0,
  ///   "error": "绑定成功"
  /// }
  ///
  Future<dynamic> bind(String userid, String phone, String verifyCode) async {
    Response resp = await _appService.post(
      '/api/v1/comm/phone/bind',
      {
        "userid": userid,
        "phone": phone,
        "verifyCode": verifyCode,
      },
    );
    return resp.data;
  }

  ///
  /// {
  /// "code": 0,
  /// "error": "获取成功",
  /// }
  ///
  Future<dynamic> verifyCode(String phone) async {
    Response resp = await _appService.get(
      '/api/v1/comm/phone/verifycode',
      queryParameters: {
        "phone": phone,
        "type": 1,
      },
    );
    return resp.data;
  }

  ///
  /// {
  /// "code": 0,
  /// "error": "登录成功",
  /// "userid": "user123"
  /// }
  ///
  Future<dynamic> login(String phone, String verifyCode) async {
    Response resp = await _appService.post(
      '/api/v1/comm/phone/login',
      {
        "phone": phone,
        "verifyCode": verifyCode,
      },
    );
    return resp.data;
  }
}