109 lines
3.4 KiB
Dart
109 lines
3.4 KiB
Dart
import 'dart:async';
|
|
import 'package:flutter_easyloading/flutter_easyloading.dart';
|
|
import 'package:get/get.dart';
|
|
import 'package:star_lock/mine/minePersonInfo/minePersonInfoPage/minePersonInfo_state.dart';
|
|
import '../../../../network/api_repository.dart';
|
|
import '../../../../tools/baseGetXController.dart';
|
|
import 'minePersonGetUploadFileInfo_entity.dart';
|
|
|
|
class MinePersonInfoLogic extends GetConnect{
|
|
final MinePersonInfoState state = MinePersonInfoState();
|
|
//用户信息
|
|
Future<void> getUserInfoRequest() async {
|
|
var entity = await ApiRepository.to.getUserInfo("");
|
|
if (entity.errorCode!.codeIsSuccessful) {
|
|
state.mineInfoData.value = entity.data!;
|
|
state.nickname.value = entity.data!.nickname!;
|
|
state.mobileStr.value = entity.data!.mobile!;
|
|
state.emailStr.value = entity.data!.email!;
|
|
state.countryStr.value = entity.data!.countryName!;
|
|
state.haveSafeAnswer.value = entity.data!.haveSafeAnswer!;
|
|
}
|
|
}
|
|
|
|
//上传头像 先获取upToken 再调用updateUserInfo
|
|
Future<void> getUpTokenRequest(String filename, int size) async {
|
|
var entity = await ApiRepository.to.getUpToken(
|
|
module: 'avatar',
|
|
typeKey: 'userId',
|
|
type: state.mineInfoData.value.uid!.toString(),
|
|
filename: filename,
|
|
size: size
|
|
);
|
|
if (entity.errorCode!.codeIsSuccessful) {
|
|
uploadFile(entity);
|
|
// print("aaaaa:$loginEntity");
|
|
}
|
|
}
|
|
|
|
// 上传头像
|
|
void uploadFile(MinePersonGetUploadFileInfoEntity minePersonGetUploadFileInfoEntity) async {
|
|
// String json = JsonDecoder(minePersonGetUploadFileInfoEntity.data!.formData!);
|
|
|
|
// var formData = FormData();
|
|
//
|
|
// formData.files.add(MapEntry(
|
|
// "files", //后台接收的名字
|
|
// MultipartFile(state.image!.path, filename: 'b'),
|
|
// ));
|
|
|
|
Map<String, dynamic> user = minePersonGetUploadFileInfoEntity.data!.formData!;
|
|
user[minePersonGetUploadFileInfoEntity.data!.fileField!] = state.image!.path;
|
|
final form = FormData(user);
|
|
var entity = await ApiRepository.to.uploadFile(
|
|
url: minePersonGetUploadFileInfoEntity.data!.uploadUrl!,
|
|
body: form
|
|
);
|
|
if (entity.errorCode!.codeIsSuccessful) {
|
|
|
|
}
|
|
|
|
// final formData = FormData.fromMap({
|
|
// 'file': await MultipartFile.fromFile(imageFile.path, contentType: MediaType.parse(mimeType))
|
|
// });
|
|
|
|
// final form = FormData(user);
|
|
// Response response= await post(minePersonGetUploadFileInfoEntity.data!.uploadUrl, form);
|
|
// print("statusText:${response.statusText} statusCode:${response.statusCode} response:$response");
|
|
}
|
|
|
|
void postCases(List<int> image) async {
|
|
final form = FormData({
|
|
'file': MultipartFile(image, filename: 'avatar.png'),
|
|
'otherFile': MultipartFile(image, filename: 'cover.png'),
|
|
});
|
|
Response response= await post('http://youapi/users/upload', form);
|
|
}
|
|
|
|
//更新个人信息-头像
|
|
Future<void> updateUserInfoRequest() async {
|
|
var entity = await ApiRepository.to.updateUserInfo(state.headUrl.value);
|
|
if (entity.errorCode!.codeIsSuccessful) {
|
|
EasyLoading.showToast("操作成功", duration: 2000.milliseconds);
|
|
}
|
|
}
|
|
|
|
@override
|
|
void onReady() {
|
|
// TODO: implement onReady
|
|
super.onReady();
|
|
|
|
getUserInfoRequest();
|
|
}
|
|
|
|
@override
|
|
void onInit() {
|
|
// TODO: implement onInit
|
|
super.onInit();
|
|
|
|
getUserInfoRequest();
|
|
}
|
|
|
|
|
|
@override
|
|
void onClose() {
|
|
// TODO: implement onClose
|
|
|
|
}
|
|
}
|