Commit 5e105725 authored by netyouli's avatar netyouli

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

parent 67118e06
......@@ -99,7 +99,7 @@ class NewsAPI {
// 收藏图片
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,
"isCancel": isCancel,
"userId": "${UserStore.to.profile.id}"
......
......@@ -247,11 +247,11 @@ class UserAPI {
return MyWorkResponse.fromJson(response);
}
static Future<MyWorkResponse> getMyCollectImages() async {
static Future<MyCollectResponse> getMyCollectImages() async {
var response = await HttpUtil().get(
'/imgInfo/getCollectImg',
);
return MyWorkResponse.fromJson(response);
return MyCollectResponse.fromJson(response);
}
static Future<MyWorkResponse> getSquareImages() async {
......
......@@ -12,7 +12,7 @@
// 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.159:8083/api'; // 清
const SERVER_API_URL = 'http://192.168.110.193:8083/api'; // 清
// http://192.168.110.25:8083/
// const SERVER_API_URL = 'http://192.168.2.178:8083/api';
......
......@@ -30,6 +30,7 @@ class ImageSquareListView extends StatelessWidget {
noDataText: '没有更多数据啦'
),
child: Obx(() => MasonryGridView.count(
padding: const EdgeInsets.fromLTRB(10, 10, 10, 10),
itemCount: controller.squareImgaes.value.length,
crossAxisCount: 2,
itemBuilder: (BuildContext context, int index) {
......
......@@ -23,7 +23,8 @@ import 'models.dart';
class MyWorkController extends GetxController {
late var refreshController = RefreshController();
var models = AIDrawTextToImageModel();
var images = Rx<List<MyWorkData>>([]);
var collectImages = Rx<List<MyCollectData>>([]);
var workImages = Rx<List<MyWorkData>>([]);
var title = "".obs;
@override
......@@ -42,8 +43,8 @@ class MyWorkController extends GetxController {
}
onClickImage(int index) async {
if (index >= 0 && index < images.value.length) {
final item = images.value[index];
if (index >= 0 && index < collectImages.value.length) {
final item = collectImages.value[index];
final conversionId = await UserAPI.createConversion();
EasyLoading.dismiss();
if (conversionId == 401) {
......@@ -54,13 +55,13 @@ class MyWorkController extends GetxController {
arguments: {
"opearter": OpearterType.imageResult,
"conversionId": conversionId,
"imageUrls": [item.minioUrl ?? ""],
"enText": item.content,
"text": item.content,
"imageUrls": [item.imgUrl ?? ""],
"enText": "",
"text": "",
"ratio": "16:9",
"s": "",
"styleName": item.style ?? "通用风格",
"messageId": item.messageId ?? ""
"styleName": "通用风格",
"messageId": ""
});
}
}
......@@ -78,7 +79,7 @@ class MyWorkController extends GetxController {
final res = await UserAPI.getMyWorkImages();
EasyLoading.dismiss();
if (res.status == 200) {
images.value = res.data ?? [];
workImages.value = res.data ?? [];
} else {
EasyLoading.showError(res.message ?? "请求我的作品异常");
}
......@@ -96,7 +97,7 @@ class MyWorkController extends GetxController {
final res = await UserAPI.getMyCollectImages();
EasyLoading.dismiss();
if (res.status == 200) {
images.value = res.data ?? [];
collectImages.value = res.data ?? [];
} else {
EasyLoading.showError(res.message ?? "请求我的收藏异常");
}
......
......@@ -36,7 +36,7 @@ class MyWorkData {
String? messageId;
String? minioUrl;
String? createTime;
dynamic style;
String? style;
int? showSquare;
MyWorkData(
......@@ -75,4 +75,75 @@ class MyWorkData {
data['showSquare'] = this.showSquare;
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> {
loadingText: "正在加载中...",
noDataText: '没有更多数据啦'
),
child: Obx(() => MasonryGridView.count(
itemCount: controller.images.value.length,
crossAxisCount: 2,
itemBuilder: (BuildContext context, int index) {
return InkWell(
onTap: () {
controller.onClickImage(index);
child: Obx(() {
if (controller.title.value == "我的收藏") {
return MasonryGridView.count(
itemCount: controller.collectImages.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.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(
borderRadius: BorderRadius.circular(10),
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,
crossAxisSpacing: 10.0,
);
},
mainAxisSpacing: 10.0,
crossAxisSpacing: 10.0,
))
}
return MasonryGridView.count(
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