You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
105 lines
2.8 KiB
105 lines
2.8 KiB
// api/api_client.dart
|
|
// ignore_for_file: constant_identifier_names
|
|
|
|
import 'package:dio/dio.dart';
|
|
import 'package:music_player_miao/models/universal_bean.dart';
|
|
import '../models/getInfo_bean.dart';
|
|
import '../models/login_bean.dart';
|
|
|
|
const String _LoginURL = 'http://8.210.250.29:10010/users/login';
|
|
const String _LogoutURL = 'http://8.210.250.29:10010/users/logout';
|
|
const String _SetupURL = 'http://8.210.250.29:10010/email/register';
|
|
const String _verificationURL = 'http://8.210.250.29:10010/email/verificationCode';
|
|
const String _GetInfoURL = 'http://8.210.250.29:10010/users/info';
|
|
|
|
///登录
|
|
class LoginApiClient {
|
|
final Dio dio = Dio();
|
|
Future<LoginBean> login({
|
|
required String email,
|
|
required String password,
|
|
}) async {
|
|
Response response = await dio.post(
|
|
_LoginURL,
|
|
data: {
|
|
'email': email,
|
|
'password': password,
|
|
},
|
|
options: Options(headers:{'Content-Type':'application/json;charset=UTF-8'})
|
|
);
|
|
print(response.data);
|
|
return LoginBean.formMap(response.data);
|
|
|
|
}
|
|
}
|
|
///登出
|
|
class LogoutApiClient {
|
|
final Dio dio = Dio();
|
|
Future<UniversalBean> logout({
|
|
required String Authorization,
|
|
}) async {
|
|
Response response = await dio.post(
|
|
_LogoutURL,
|
|
data: {
|
|
'Authorization': Authorization,
|
|
},
|
|
options: Options(headers:{'Authorization':Authorization,'Content-Type':'application/json;charset=UTF-8'})
|
|
);
|
|
print(response.data);
|
|
return UniversalBean.formMap(response.data);
|
|
}
|
|
|
|
}
|
|
///注册
|
|
class SetupApiClient{
|
|
final Dio dio = Dio();
|
|
Future<UniversalBean> register({
|
|
required String email,
|
|
required String password,
|
|
required String username,
|
|
required String verificationCode,
|
|
}) async {
|
|
Response response = await dio.post(
|
|
_SetupURL,
|
|
data: {
|
|
'email': email,
|
|
'password': password,
|
|
"username": username,
|
|
"verificationCode": verificationCode,
|
|
},
|
|
options: Options(headers:{'Content-Type':'application/json;charset=UTF-8'})
|
|
);
|
|
print(response.data);
|
|
return UniversalBean.formMap(response.data);
|
|
}
|
|
|
|
Future<UniversalBean> verification({required String email,}) async {
|
|
Response response = await dio.get(
|
|
_verificationURL,
|
|
queryParameters: {'email':email},
|
|
);
|
|
print(response.data);
|
|
return UniversalBean.formMap(response.data);
|
|
}
|
|
}
|
|
///获取用户信息
|
|
class GetInfoApiClient{
|
|
final Dio dio = Dio();
|
|
Future<GetInfoBean> getInfo({required String Authorization,}) async {
|
|
Response response = await dio.get(
|
|
_GetInfoURL,
|
|
data: {
|
|
'Authorization':Authorization
|
|
},
|
|
options: Options(headers:{'Authorization':Authorization,'Content-Type':'application/json;charset=UTF-8'})
|
|
);
|
|
print(response.data);
|
|
return GetInfoBean.formMap(response.data);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|