reason

修改用户信息页面

import 'dart:convert';
import 'package:Parlando/generated/json/base/json_field.dart';
import 'package:Parlando/generated/json/upload_avatar_entity.g.dart';
@JsonSerializable()
class UploadAvatarEntity {
String? status;
int? code;
String? message;
UploadAvatarData? data;
UploadAvatarError? error;
UploadAvatarEntity();
factory UploadAvatarEntity.fromJson(Map<String, dynamic> json) =>
$UploadAvatarEntityFromJson(json);
Map<String, dynamic> toJson() => $UploadAvatarEntityToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
@JsonSerializable()
class UploadAvatarData {
String? avatar;
UploadAvatarData();
factory UploadAvatarData.fromJson(Map<String, dynamic> json) =>
$UploadAvatarDataFromJson(json);
Map<String, dynamic> toJson() => $UploadAvatarDataToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
@JsonSerializable()
class UploadAvatarError {
UploadAvatarError();
factory UploadAvatarError.fromJson(Map<String, dynamic> json) =>
$UploadAvatarErrorFromJson(json);
Map<String, dynamic> toJson() => $UploadAvatarErrorToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
This diff is collapsed. Click to expand it.
......@@ -3,6 +3,7 @@ import 'package:Parlando/account/view_models/account_view_model.dart';
import 'package:Parlando/apis/api_response.dart';
import 'package:Parlando/login/login_router.dart';
import 'package:Parlando/res/constant.dart';
import 'package:cached_network_image/cached_network_image.dart';
import 'package:flustars/flustars.dart';
import 'package:flutter/material.dart';
import 'package:Parlando/membership/membership_router.dart';
......@@ -98,9 +99,12 @@ class _AccountPageState extends State<AccountPage> {
),
),
child: ClipOval(
child: Image.network(
"https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif",
child: CachedNetworkImage(
fit: BoxFit.cover,
placeholder: (context, url) =>
const CircularProgressIndicator(),
errorWidget: (context, url, error) => const Icon(Icons.error),
imageUrl: _user.avatar!,
),
),
),
......
......@@ -17,7 +17,7 @@ class AccountViewProvider with ChangeNotifier {
}
Future<void> fetchAccountData(String value) async {
_apiResponse = ApiResponse.loading('Fetching artist data');
_apiResponse = ApiResponse.loading('请求数据中...');
DioUtils.instance.asyncRequestNetwork<UserEntity>(
Method.get,
HttpApi.user,
......
......@@ -4,6 +4,7 @@
// This file is automatically generated. DO NOT EDIT, all your changes would be lost.
import 'package:flutter/material.dart';
import 'package:Parlando/account/models/upload_avatar_entity.dart';
import 'package:Parlando/account/models/user_entity.dart';
import 'package:Parlando/category/models/category_item_entity.dart';
import 'package:Parlando/home/models/setting_entity.dart';
......@@ -18,17 +19,20 @@ typedef JsonConvertFunction<T> = T Function(Map<String, dynamic> json);
class JsonConvert {
static final Map<String, JsonConvertFunction> _convertFuncMap = {
(UserEntity).toString(): UserEntity.fromJson,
(UserData).toString(): UserData.fromJson,
(UserError).toString(): UserError.fromJson,
(CategoryItemEntity).toString(): CategoryItemEntity.fromJson,
(SettingEntity).toString(): SettingEntity.fromJson,
(SettingData).toString(): SettingData.fromJson,
(SettingDataLoginSetting).toString(): SettingDataLoginSetting.fromJson,
(SettingError).toString(): SettingError.fromJson,
(AuthEntity).toString(): AuthEntity.fromJson,
(AuthData).toString(): AuthData.fromJson,
(AuthError).toString(): AuthError.fromJson,
(UploadAvatarEntity).toString(): UploadAvatarEntity.fromJson,
(UploadAvatarData).toString(): UploadAvatarData.fromJson,
(UploadAvatarError).toString(): UploadAvatarError.fromJson,
(UserEntity).toString(): UserEntity.fromJson,
(UserData).toString(): UserData.fromJson,
(UserError).toString(): UserError.fromJson,
(CategoryItemEntity).toString(): CategoryItemEntity.fromJson,
(SettingEntity).toString(): SettingEntity.fromJson,
(SettingData).toString(): SettingData.fromJson,
(SettingDataLoginSetting).toString(): SettingDataLoginSetting.fromJson,
(SettingError).toString(): SettingError.fromJson,
(AuthEntity).toString(): AuthEntity.fromJson,
(AuthData).toString(): AuthData.fromJson,
(AuthError).toString(): AuthError.fromJson,
(UploadEntity).toString(): UploadEntity.fromJson,
(UploadData).toString(): UploadData.fromJson,
(UploadError).toString(): UploadError.fromJson,
......@@ -114,73 +118,97 @@ class JsonConvert {
//list is returned by type
static M? _getListChildType<M>(List<Map<String, dynamic>> data) {
if(<UserEntity>[] is M){
return data.map<UserEntity>((Map<String, dynamic> e) => UserEntity.fromJson(e)).toList() as M;
}
if(<UserData>[] is M){
return data.map<UserData>((Map<String, dynamic> e) => UserData.fromJson(e)).toList() as M;
}
if(<UserError>[] is M){
return data.map<UserError>((Map<String, dynamic> e) => UserError.fromJson(e)).toList() as M;
}
if(<CategoryItemEntity>[] is M){
return data.map<CategoryItemEntity>((Map<String, dynamic> e) => CategoryItemEntity.fromJson(e)).toList() as M;
}
if(<SettingEntity>[] is M){
return data.map<SettingEntity>((Map<String, dynamic> e) => SettingEntity.fromJson(e)).toList() as M;
}
if(<SettingData>[] is M){
return data.map<SettingData>((Map<String, dynamic> e) => SettingData.fromJson(e)).toList() as M;
}
if(<SettingDataLoginSetting>[] is M){
return data.map<SettingDataLoginSetting>((Map<String, dynamic> e) => SettingDataLoginSetting.fromJson(e)).toList() as M;
}
if(<SettingError>[] is M){
return data.map<SettingError>((Map<String, dynamic> e) => SettingError.fromJson(e)).toList() as M;
}
if(<AuthEntity>[] is M){
return data.map<AuthEntity>((Map<String, dynamic> e) => AuthEntity.fromJson(e)).toList() as M;
}
if(<AuthData>[] is M){
return data.map<AuthData>((Map<String, dynamic> e) => AuthData.fromJson(e)).toList() as M;
}
if(<AuthError>[] is M){
return data.map<AuthError>((Map<String, dynamic> e) => AuthError.fromJson(e)).toList() as M;
}
if(<UploadEntity>[] is M){
return data.map<UploadEntity>((Map<String, dynamic> e) => UploadEntity.fromJson(e)).toList() as M;
}
if(<UploadData>[] is M){
return data.map<UploadData>((Map<String, dynamic> e) => UploadData.fromJson(e)).toList() as M;
}
if(<UploadError>[] is M){
return data.map<UploadError>((Map<String, dynamic> e) => UploadError.fromJson(e)).toList() as M;
}
if(<LangSortEntity>[] is M){
return data.map<LangSortEntity>((Map<String, dynamic> e) => LangSortEntity.fromJson(e)).toList() as M;
}
if(<SearchEntity>[] is M){
return data.map<SearchEntity>((Map<String, dynamic> e) => SearchEntity.fromJson(e)).toList() as M;
}
if(<SearchItems>[] is M){
return data.map<SearchItems>((Map<String, dynamic> e) => SearchItems.fromJson(e)).toList() as M;
}
if(<SearchItemsOwner>[] is M){
return data.map<SearchItemsOwner>((Map<String, dynamic> e) => SearchItemsOwner.fromJson(e)).toList() as M;
}
if(<SearchItemsLicense>[] is M){
return data.map<SearchItemsLicense>((Map<String, dynamic> e) => SearchItemsLicense.fromJson(e)).toList() as M;
}
if(<FriendEntity>[] is M){
return data.map<FriendEntity>((Map<String, dynamic> e) => FriendEntity.fromJson(e)).toList() as M;
}
if(<FriendData>[] is M){
return data.map<FriendData>((Map<String, dynamic> e) => FriendData.fromJson(e)).toList() as M;
}
if (<UploadAvatarEntity>[] is M) {
return data
.map<UploadAvatarEntity>(
(Map<String, dynamic> e) => UploadAvatarEntity.fromJson(e))
.toList() as M;
}
if (<UploadAvatarData>[] is M) {
return data
.map<UploadAvatarData>(
(Map<String, dynamic> e) => UploadAvatarData.fromJson(e))
.toList() as M;
}
if (<UploadAvatarError>[] is M) {
return data
.map<UploadAvatarError>(
(Map<String, dynamic> e) => UploadAvatarError.fromJson(e))
.toList() as M;
}
if (<UserEntity>[] is M) {
return data
.map<UserEntity>((Map<String, dynamic> e) => UserEntity.fromJson(e))
.toList() as M;
}
if (<UserData>[] is M) {
return data
.map<UserData>((Map<String, dynamic> e) => UserData.fromJson(e))
.toList() as M;
}
if (<UserError>[] is M) {
return data
.map<UserError>((Map<String, dynamic> e) => UserError.fromJson(e))
.toList() as M;
}
if (<CategoryItemEntity>[] is M) {
return data.map<CategoryItemEntity>((Map<String, dynamic> e) => CategoryItemEntity.fromJson(e)).toList() as M;
}
if(<SettingEntity>[] is M){
return data.map<SettingEntity>((Map<String, dynamic> e) => SettingEntity.fromJson(e)).toList() as M;
}
if(<SettingData>[] is M){
return data.map<SettingData>((Map<String, dynamic> e) => SettingData.fromJson(e)).toList() as M;
}
if(<SettingDataLoginSetting>[] is M){
return data.map<SettingDataLoginSetting>((Map<String, dynamic> e) => SettingDataLoginSetting.fromJson(e)).toList() as M;
}
if(<SettingError>[] is M){
return data.map<SettingError>((Map<String, dynamic> e) => SettingError.fromJson(e)).toList() as M;
}
if(<AuthEntity>[] is M){
return data.map<AuthEntity>((Map<String, dynamic> e) => AuthEntity.fromJson(e)).toList() as M;
}
if(<AuthData>[] is M){
return data.map<AuthData>((Map<String, dynamic> e) => AuthData.fromJson(e)).toList() as M;
}
if(<AuthError>[] is M){
return data.map<AuthError>((Map<String, dynamic> e) => AuthError.fromJson(e)).toList() as M;
}
if(<UploadEntity>[] is M){
return data.map<UploadEntity>((Map<String, dynamic> e) => UploadEntity.fromJson(e)).toList() as M;
}
if(<UploadData>[] is M){
return data.map<UploadData>((Map<String, dynamic> e) => UploadData.fromJson(e)).toList() as M;
}
if(<UploadError>[] is M){
return data.map<UploadError>((Map<String, dynamic> e) => UploadError.fromJson(e)).toList() as M;
}
if(<LangSortEntity>[] is M){
return data.map<LangSortEntity>((Map<String, dynamic> e) => LangSortEntity.fromJson(e)).toList() as M;
}
if(<SearchEntity>[] is M){
return data.map<SearchEntity>((Map<String, dynamic> e) => SearchEntity.fromJson(e)).toList() as M;
}
if(<SearchItems>[] is M){
return data.map<SearchItems>((Map<String, dynamic> e) => SearchItems.fromJson(e)).toList() as M;
}
if(<SearchItemsOwner>[] is M){
return data.map<SearchItemsOwner>((Map<String, dynamic> e) => SearchItemsOwner.fromJson(e)).toList() as M;
}
if(<SearchItemsLicense>[] is M){
return data.map<SearchItemsLicense>((Map<String, dynamic> e) => SearchItemsLicense.fromJson(e)).toList() as M;
}
if(<FriendEntity>[] is M){
return data.map<FriendEntity>((Map<String, dynamic> e) => FriendEntity.fromJson(e)).toList() as M;
}
if(<FriendData>[] is M){
return data.map<FriendData>((Map<String, dynamic> e) => FriendData.fromJson(e)).toList() as M;
}
debugPrint("${M.toString()} not found");
debugPrint("${M.toString()} not found");
return null;
return null;
}
static M? fromJsonAsT<M>(dynamic json) {
......
import 'package:Parlando/generated/json/base/json_convert_content.dart';
import 'package:Parlando/account/models/upload_avatar_entity.dart';
UploadAvatarEntity $UploadAvatarEntityFromJson(Map<String, dynamic> json) {
final UploadAvatarEntity uploadAvatarEntity = UploadAvatarEntity();
final String? status = jsonConvert.convert<String>(json['status']);
if (status != null) {
uploadAvatarEntity.status = status;
}
final int? code = jsonConvert.convert<int>(json['code']);
if (code != null) {
uploadAvatarEntity.code = code;
}
final String? message = jsonConvert.convert<String>(json['message']);
if (message != null) {
uploadAvatarEntity.message = message;
}
final UploadAvatarData? data =
jsonConvert.convert<UploadAvatarData>(json['data']);
if (data != null) {
uploadAvatarEntity.data = data;
}
final UploadAvatarError? error =
jsonConvert.convert<UploadAvatarError>(json['error']);
if (error != null) {
uploadAvatarEntity.error = error;
}
return uploadAvatarEntity;
}
Map<String, dynamic> $UploadAvatarEntityToJson(UploadAvatarEntity entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['status'] = entity.status;
data['code'] = entity.code;
data['message'] = entity.message;
data['data'] = entity.data?.toJson();
data['error'] = entity.error?.toJson();
return data;
}
UploadAvatarData $UploadAvatarDataFromJson(Map<String, dynamic> json) {
final UploadAvatarData uploadAvatarData = UploadAvatarData();
final String? avatar = jsonConvert.convert<String>(json['avatar']);
if (avatar != null) {
uploadAvatarData.avatar = avatar;
}
return uploadAvatarData;
}
Map<String, dynamic> $UploadAvatarDataToJson(UploadAvatarData entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['avatar'] = entity.avatar;
return data;
}
UploadAvatarError $UploadAvatarErrorFromJson(Map<String, dynamic> json) {
final UploadAvatarError uploadAvatarError = UploadAvatarError();
return uploadAvatarError;
}
Map<String, dynamic> $UploadAvatarErrorToJson(UploadAvatarError entity) {
final Map<String, dynamic> data = <String, dynamic>{};
return data;
}
......@@ -4,7 +4,9 @@ class HttpApi {
static const String verify = 'verify';
static const String login = 'login';
static const String uploadVideo = 'upload/video';
static const String uploadImage = 'upload/image';
static const String immersive = 'immersive';
static const String avatar = 'avatar';
static const String user = 'user';
static const String search = 'search/repositories';
static const String subscriptions = 'users/simplezhli/subscriptions';
......
......@@ -215,7 +215,7 @@ class _PoemPublishState extends State<PoemPublish> {
final directory = await getApplicationDocumentsDirectory();
dynamic video = await MultipartFile.fromFile(
directory.path + "/" + widget.data,
filename: "xxx23.png");
filename: "video.mp4");
return video;
}
......