Commit 5e105725 authored by netyouli's avatar netyouli

修复收藏报错,收藏列表显示错误bug

parent 67118e06
...@@ -99,7 +99,7 @@ class NewsAPI { ...@@ -99,7 +99,7 @@ class NewsAPI {
// 收藏图片 // 收藏图片
static Future<CommonResponse> updateCollectImg(String imgUrl, int isCancel) async { static Future<CommonResponse> updateCollectImg(String imgUrl, int isCancel) async {
var response = await HttpUtil().post('/midJourney/createImageByBlend', data: { var response = await HttpUtil().post('/imgInfo/updateCollectImg', data: {
"imgUrl": imgUrl, "imgUrl": imgUrl,
"isCancel": isCancel, "isCancel": isCancel,
"userId": "${UserStore.to.profile.id}" "userId": "${UserStore.to.profile.id}"
......
...@@ -247,11 +247,11 @@ class UserAPI { ...@@ -247,11 +247,11 @@ class UserAPI {
return MyWorkResponse.fromJson(response); return MyWorkResponse.fromJson(response);
} }
static Future<MyWorkResponse> getMyCollectImages() async { static Future<MyCollectResponse> getMyCollectImages() async {
var response = await HttpUtil().get( var response = await HttpUtil().get(
'/imgInfo/getCollectImg', '/imgInfo/getCollectImg',
); );
return MyWorkResponse.fromJson(response); return MyCollectResponse.fromJson(response);
} }
static Future<MyWorkResponse> getSquareImages() async { static Future<MyWorkResponse> getSquareImages() async {
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
// http://192.168.110.66:8083/api/doc.html // http://192.168.110.66:8083/api/doc.html
// const SERVER_API_URL = 'http://192.168.110.23:8083/api'; // 大黄蜂 // const SERVER_API_URL = 'http://192.168.110.23:8083/api'; // 大黄蜂
const SERVER_API_URL = 'http://192.168.110.159:8083/api'; // 清 const SERVER_API_URL = 'http://192.168.110.193:8083/api'; // 清
// http://192.168.110.25:8083/ // http://192.168.110.25:8083/
// const SERVER_API_URL = 'http://192.168.2.178:8083/api'; // const SERVER_API_URL = 'http://192.168.2.178:8083/api';
......
...@@ -30,6 +30,7 @@ class ImageSquareListView extends StatelessWidget { ...@@ -30,6 +30,7 @@ class ImageSquareListView extends StatelessWidget {
noDataText: '没有更多数据啦' noDataText: '没有更多数据啦'
), ),
child: Obx(() => MasonryGridView.count( child: Obx(() => MasonryGridView.count(
padding: const EdgeInsets.fromLTRB(10, 10, 10, 10),
itemCount: controller.squareImgaes.value.length, itemCount: controller.squareImgaes.value.length,
crossAxisCount: 2, crossAxisCount: 2,
itemBuilder: (BuildContext context, int index) { itemBuilder: (BuildContext context, int index) {
......
...@@ -23,7 +23,8 @@ import 'models.dart'; ...@@ -23,7 +23,8 @@ import 'models.dart';
class MyWorkController extends GetxController { class MyWorkController extends GetxController {
late var refreshController = RefreshController(); late var refreshController = RefreshController();
var models = AIDrawTextToImageModel(); var models = AIDrawTextToImageModel();
var images = Rx<List<MyWorkData>>([]); var collectImages = Rx<List<MyCollectData>>([]);
var workImages = Rx<List<MyWorkData>>([]);
var title = "".obs; var title = "".obs;
@override @override
...@@ -42,8 +43,8 @@ class MyWorkController extends GetxController { ...@@ -42,8 +43,8 @@ class MyWorkController extends GetxController {
} }
onClickImage(int index) async { onClickImage(int index) async {
if (index >= 0 && index < images.value.length) { if (index >= 0 && index < collectImages.value.length) {
final item = images.value[index]; final item = collectImages.value[index];
final conversionId = await UserAPI.createConversion(); final conversionId = await UserAPI.createConversion();
EasyLoading.dismiss(); EasyLoading.dismiss();
if (conversionId == 401) { if (conversionId == 401) {
...@@ -54,13 +55,13 @@ class MyWorkController extends GetxController { ...@@ -54,13 +55,13 @@ class MyWorkController extends GetxController {
arguments: { arguments: {
"opearter": OpearterType.imageResult, "opearter": OpearterType.imageResult,
"conversionId": conversionId, "conversionId": conversionId,
"imageUrls": [item.minioUrl ?? ""], "imageUrls": [item.imgUrl ?? ""],
"enText": item.content, "enText": "",
"text": item.content, "text": "",
"ratio": "16:9", "ratio": "16:9",
"s": "", "s": "",
"styleName": item.style ?? "通用风格", "styleName": "通用风格",
"messageId": item.messageId ?? "" "messageId": ""
}); });
} }
} }
...@@ -78,7 +79,7 @@ class MyWorkController extends GetxController { ...@@ -78,7 +79,7 @@ class MyWorkController extends GetxController {
final res = await UserAPI.getMyWorkImages(); final res = await UserAPI.getMyWorkImages();
EasyLoading.dismiss(); EasyLoading.dismiss();
if (res.status == 200) { if (res.status == 200) {
images.value = res.data ?? []; workImages.value = res.data ?? [];
} else { } else {
EasyLoading.showError(res.message ?? "请求我的作品异常"); EasyLoading.showError(res.message ?? "请求我的作品异常");
} }
...@@ -96,7 +97,7 @@ class MyWorkController extends GetxController { ...@@ -96,7 +97,7 @@ class MyWorkController extends GetxController {
final res = await UserAPI.getMyCollectImages(); final res = await UserAPI.getMyCollectImages();
EasyLoading.dismiss(); EasyLoading.dismiss();
if (res.status == 200) { if (res.status == 200) {
images.value = res.data ?? []; collectImages.value = res.data ?? [];
} else { } else {
EasyLoading.showError(res.message ?? "请求我的收藏异常"); EasyLoading.showError(res.message ?? "请求我的收藏异常");
} }
......
...@@ -36,7 +36,7 @@ class MyWorkData { ...@@ -36,7 +36,7 @@ class MyWorkData {
String? messageId; String? messageId;
String? minioUrl; String? minioUrl;
String? createTime; String? createTime;
dynamic style; String? style;
int? showSquare; int? showSquare;
MyWorkData( MyWorkData(
...@@ -75,4 +75,75 @@ class MyWorkData { ...@@ -75,4 +75,75 @@ class MyWorkData {
data['showSquare'] = this.showSquare; data['showSquare'] = this.showSquare;
return data; return data;
} }
}
class MyCollectResponse {
int? status;
String? message;
List<MyCollectData>? data;
int? timestamp;
MyCollectResponse({this.status, this.message, this.data, this.timestamp});
MyCollectResponse.fromJson(Map<String, dynamic> json) {
status = json['status'];
message = json['message'];
if (json['data'] != null) {
data = [];
json['data'].forEach((v) {
data?.add(new MyCollectData.fromJson(v));
});
}
timestamp = json['timestamp'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['status'] = this.status;
data['message'] = this.message;
if (this.data != null) {
data['data'] = this.data?.map((v) => v.toJson()).toList();
}
data['timestamp'] = this.timestamp;
return data;
}
}
class MyCollectData {
int? id;
int? userId;
String? imgUrl;
int? isCancel;
String? createTime;
String? updateTime;
MyCollectData(
{this.id,
this.userId,
this.imgUrl,
this.isCancel,
this.createTime,
this.updateTime});
MyCollectData.fromJson(Map<String, dynamic> json) {
id = json['id'];
userId = json['userId'];
imgUrl = json['imgUrl'];
isCancel = json['isCancel'];
createTime = json['createTime'];
updateTime = json['updateTime'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['id'] = this.id;
data['userId'] = this.userId;
data['imgUrl'] = this.imgUrl;
data['isCancel'] = this.isCancel;
data['createTime'] = this.createTime;
data['updateTime'] = this.updateTime;
return data;
}
} }
\ No newline at end of file
...@@ -33,39 +33,76 @@ class MyWorkPage extends GetView<MyWorkController> { ...@@ -33,39 +33,76 @@ class MyWorkPage extends GetView<MyWorkController> {
loadingText: "正在加载中...", loadingText: "正在加载中...",
noDataText: '没有更多数据啦' noDataText: '没有更多数据啦'
), ),
child: Obx(() => MasonryGridView.count( child: Obx(() {
itemCount: controller.images.value.length, if (controller.title.value == "我的收藏") {
crossAxisCount: 2, return MasonryGridView.count(
itemBuilder: (BuildContext context, int index) { itemCount: controller.collectImages.value.length,
return InkWell( crossAxisCount: 2,
onTap: () { itemBuilder: (BuildContext context, int index) {
controller.onClickImage(index); return InkWell(
onTap: () {
controller.onClickImage(index);
},
child: ClipRRect(
borderRadius: BorderRadius.circular(10),
child: CachedNetworkImage(
fit: BoxFit.cover,
height: index % 2 == 0 ? 260 : 200,
imageUrl: controller.collectImages.value[index].imgUrl ?? "",
placeholder: (context, url) => Container(
alignment: Alignment.center,
child: const SizedBox(
width: 30,
height: 30,
child: CircularProgressIndicator(),
),
),
errorWidget: (context, url, error) => Container(
alignment: Alignment.center,
child: Text(error.toString()),
),
)
),
);
}, },
child: ClipRRect( mainAxisSpacing: 10.0,
borderRadius: BorderRadius.circular(10), crossAxisSpacing: 10.0,
child: CachedNetworkImage(
fit: BoxFit.cover,
height: index % 2 == 0 ? 260 : 200,
imageUrl: controller.images.value[index].minioUrl ?? "",
placeholder: (context, url) => Container(
alignment: Alignment.center,
child: const SizedBox(
width: 30,
height: 30,
child: CircularProgressIndicator(),
),
),
errorWidget: (context, url, error) => Container(
alignment: Alignment.center,
child: Text(error.toString()),
),
)
),
); );
}, }
mainAxisSpacing: 10.0, return MasonryGridView.count(
crossAxisSpacing: 10.0, itemCount: controller.workImages.value.length,
)) crossAxisCount: 2,
itemBuilder: (BuildContext context, int index) {
return InkWell(
onTap: () {
controller.onClickImage(index);
},
child: ClipRRect(
borderRadius: BorderRadius.circular(10),
child: CachedNetworkImage(
fit: BoxFit.cover,
height: index % 2 == 0 ? 260 : 200,
imageUrl: controller.workImages.value[index].minioUrl ?? "",
placeholder: (context, url) => Container(
alignment: Alignment.center,
child: const SizedBox(
width: 30,
height: 30,
child: CircularProgressIndicator(),
),
),
errorWidget: (context, url, error) => Container(
alignment: Alignment.center,
child: Text(error.toString()),
),
)
),
);
},
mainAxisSpacing: 10.0,
crossAxisSpacing: 10.0,
);
})
); );
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment