import 'dart:convert';
|
|
import 'package:flutter/material.dart';
|
import '../../utils/string_util.dart';
|
import '../../utils/user_util.dart';
|
|
import 'http.dart';
|
import 'dart:io';
|
|
class UserApiUtil {
|
///验证码发送
|
static Future<Map<String, dynamic>?> sendSMS(
|
BuildContext context, String phone) async {
|
var result = await HttpUtil.baseRequest(
|
context, "/api/v1/sms/sendSMS", {"phone": phone}, () {
|
showLoading(context);
|
});
|
dismissDialog(context);
|
if (result.success) {
|
return result.data;
|
}
|
return null;
|
}
|
|
///发送邮箱验证码
|
static Future<Map<String, dynamic>?> sendEmailCode(
|
BuildContext context, String email) async {
|
var result = await HttpUtil.baseRequest(
|
context, "/api/user/sendVerifyCode", {"Email": email}, () {
|
showLoading(context);
|
});
|
dismissDialog(context);
|
if (result.success) {
|
return result.data;
|
}
|
return null;
|
}
|
|
static Future<Map<String, dynamic>?> uploadPushRegId(
|
BuildContext context, String regId) async {
|
var uid = await UserUtil.getUid();
|
var params = {"regId": regId};
|
if (uid != null) {
|
params["uid"] = uid.toString();
|
}
|
|
var result = await HttpUtil.baseRequest(
|
context, "/api/v1/user/uploadPushRegId", params, () {});
|
if (result.success) {
|
return result.data;
|
}
|
return null;
|
}
|
|
///登录
|
static Future<Map<String, dynamic>?> loginByPhone(
|
BuildContext context, String phone, String vcode, String token) async {
|
Map<String, dynamic> params = {};
|
params["phone"] = phone;
|
if (!StringUtil.isNullOrEmpty(vcode)) {
|
params["vcode"] = vcode;
|
}
|
|
if (!StringUtil.isNullOrEmpty(token)) {
|
params["token"] = token;
|
}
|
|
var result = await HttpUtil.baseRequest(
|
context, "/api/v1/user/loginPhone", params, () {
|
showLoading(context);
|
}, notifyError: true);
|
dismissDialog(context);
|
if (result.success) {
|
return result.data;
|
}
|
return null;
|
}
|
|
static Future<Map<String, dynamic>?> loginByEmail(
|
BuildContext context, String email, String pwd) async {
|
Map<String, dynamic> params = {};
|
params["Email"] = email;
|
params["Pwd"] = pwd;
|
|
var result =
|
await HttpUtil.baseRequest(context, "/api/user/login", params, () {
|
showLoading(context);
|
}, notifyError: true);
|
dismissDialog(context);
|
if (result.success) {
|
return result.data;
|
}
|
return null;
|
}
|
|
static Future<Map<String, dynamic>?> registerByEmail(
|
BuildContext context, String email, String pwd, String code) async {
|
Map<String, dynamic> params = {};
|
params["Email"] = email;
|
params["Pwd"] = pwd;
|
params["VerifyCode"] = code;
|
var result =
|
await HttpUtil.baseRequest(context, "/api/user/register", params, () {
|
showLoading(context);
|
}, notifyError: true);
|
dismissDialog(context);
|
if (result.success) {
|
return result.data;
|
}
|
return null;
|
}
|
|
static Future<Map<String, dynamic>?> setPwd(
|
BuildContext context, String email, String pwd, String code) async {
|
Map<String, dynamic> params = {};
|
params["Email"] = email;
|
params["Pwd"] = pwd;
|
params["VerifyCode"] = code;
|
var result =
|
await HttpUtil.baseRequest(context, "/api/user/setPwd", params, () {
|
showLoading(context);
|
}, notifyError: true);
|
dismissDialog(context);
|
if (result.success) {
|
return result.data;
|
}
|
return null;
|
}
|
|
///获取用户信息
|
static Future<Map<String, dynamic>?> getUserInfo(
|
BuildContext context, String uid) async {
|
Map<String, dynamic> params = {};
|
params["LoginUid"] = uid.toString();
|
var result = await HttpUtil.baseRequest(
|
context, "/api/user/getLoginUserInfo", params, () {});
|
if (result.success) {
|
return result.data;
|
}
|
return null;
|
}
|
|
static Future<Map<String, dynamic>?> updateUserInfo(BuildContext context,
|
{String? nickName,
|
String? portraitPath,
|
int? sex,
|
String? sign,
|
String? birthDay}) async {
|
Map<String, dynamic> params = {};
|
params["LoginUid"] = await UserUtil.getUid();
|
if (nickName != null) {
|
params["NickName"] = nickName;
|
}
|
|
if (portraitPath != null) {
|
List<int> bytes =await File(portraitPath).readAsBytes();
|
String bs64 = base64Encode(bytes);
|
params["Portrait"] = bs64;
|
}
|
|
if (sex != null) {
|
params["Sex"] = sex.toString();
|
}
|
|
if (sign != null) {
|
params["PersonalSign"] = sign;
|
}
|
|
if (birthDay != null) {
|
params["BirthDay"] = birthDay;
|
}
|
|
var result = await HttpUtil.baseRequest(
|
context, "/api/user/updateLoginUserInfo", params, () {
|
showLoading(context);
|
});
|
dismissDialog(context);
|
if (result.success) {
|
return result.data;
|
}
|
return null;
|
}
|
|
///退出登录
|
static Future<Map<String, dynamic>?> logout(
|
BuildContext context, String uid) async {
|
Map<String, dynamic> params = {};
|
params["uid"] = uid.toString();
|
var result =
|
await HttpUtil.baseRequest(context, "/api/user/logout", params, () {});
|
if (result.success) {
|
return result.data;
|
}
|
return null;
|
}
|
}
|