import 'dart:convert';
|
|
import 'package:flutter/material.dart';
|
import 'package:makemoney/utils/encrypt_util.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>?> loginByWX(
|
BuildContext context, String code) async {
|
Map<String, dynamic> params = {};
|
params["code"] = code;
|
|
var result =
|
await HttpUtil.baseRequest(context, "/api/v1/user/loginWX", 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>?> bindWX(
|
BuildContext context, String code) async {
|
Map<String, dynamic> params = {};
|
params["code"] = code;
|
params["uid"] = await UserUtil.getUid();
|
var result =
|
await HttpUtil.baseRequest(context, "/api/v1/user/bindWX", params, () {
|
showLoading(context);
|
}, notifyError: true);
|
dismissDialog(context);
|
if (result.success) {
|
return result.data;
|
}
|
return null;
|
}
|
|
///绑定电话
|
static Future<Map<String, dynamic>?> bindPhone(
|
BuildContext context, String? phone, String? vcode, String? token) async {
|
Map<String, dynamic> params = {};
|
if (phone != null) {
|
params["phone"] = phone;
|
}
|
|
if (vcode != null) {
|
params["vcode"] = vcode;
|
}
|
|
if (token != null) {
|
params["token"] = token;
|
}
|
|
params["uid"] = await UserUtil.getUid();
|
var result = await HttpUtil.baseRequest(
|
context, "/api/v1/user/bindPhone", 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["uid"] = uid.toString();
|
var result = await HttpUtil.baseRequest(
|
context, "/api/v1/user/getUserInfo", params, () {});
|
if (result.success) {
|
return result.data;
|
}
|
return null;
|
}
|
|
static Future<Map<String, dynamic>?> updateUserInfo(BuildContext context,
|
{String? nickName, String? portraitPath}) async {
|
Map<String, dynamic> params = {};
|
params["uid"] = await UserUtil.getUid();
|
if (nickName != null) {
|
params["nickName"] = nickName;
|
}
|
|
if (portraitPath != null) {
|
File file = File(portraitPath);
|
params["portrait"] = file;
|
//设置头像的MD5值,方便验证
|
params["portraitMD5"] = EncryptUtil.md5Bytes(await file.readAsBytes());
|
}
|
|
var result = await HttpUtil.baseRequest(
|
context, "/api/v1/user/updateUserInfo", 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"] = await UserUtil.getUid();
|
var result =
|
await HttpUtil.baseRequest(context, "/api/user/logout", params, () {});
|
if (result.success) {
|
return result.data;
|
}
|
return null;
|
}
|
|
///用户资产
|
static Future<Map<String, dynamic>?> getUserAssets(
|
BuildContext context) async {
|
Map<String, dynamic> params = {};
|
params["uid"] = await UserUtil.getUid();
|
var result = await HttpUtil.baseRequest(
|
context, "/api/v1/user/getUserAssets", params, () {});
|
if (result.success) {
|
return result.data;
|
}
|
return null;
|
}
|
}
|