liuyuqi-dellpc 1 year ago
parent
commit
5227bb43de

+ 9 - 9
lib/models/good_model.dart

@@ -1,16 +1,16 @@
 /// Description: good model
 /// Time       : 05/06/2023 Saturday
 /// Author     : liuyuqi.gov@msn.cn
-class GoodsModel {
-  List<Result>? result;
+class GoodsListModel {
+  List<GoodsModel>? result;
 
-  GoodsModel({result});
+  GoodsListModel({result});
 
-  GoodsModel.fromJson(Map<String, dynamic> json) {
+  GoodsListModel.fromJson(Map<String, dynamic> json) {
     if (json['result'] != null) {
-      result = <Result>[];
+      result = <GoodsModel>[];
       json['result'].forEach((v) {
-        result!.add(Result.fromJson(v));
+        result!.add(GoodsModel.fromJson(v));
       });
     }
   }
@@ -24,16 +24,16 @@ class GoodsModel {
   }
 }
 
-class Result {
+class GoodsModel {
   String? sId;
   String? title;
   String? pic;
   String? pid;
   String? sort;
 
-  Result({sId, title, pic, pid, sort});
+  GoodsModel({sId, title, pic, pid, sort});
 
-  Result.fromJson(Map<String, dynamic> json) {
+  GoodsModel.fromJson(Map<String, dynamic> json) {
     sId = json['_id'];
     title = json['title'];
     pic = json['pic'];

+ 1 - 1
lib/pages/home/home_controller.dart

@@ -9,7 +9,7 @@ class HomeController extends GetxController {
 
   getData() async {
     final response = await Dio().get('https://jdmall.itying.com/api/pcate');
-    final goodsList = GoodsModel.fromJson(response.data);
+    final goodsList = GoodsListModel.fromJson(response.data);
     state.goodsData.value = goodsList.result!;
   }
 

+ 2 - 2
lib/pages/home/home_state.dart

@@ -2,6 +2,6 @@ import 'package:get/get.dart';
 import 'package:get_demo/models/good_model.dart';
 
 class HomeState {
-  RxList<Result> goodsData = <Result>[].obs;
-  RxList<Result> likeList = <Result>[].obs;
+  RxList<GoodsModel> goodsData = <GoodsModel>[].obs;
+  RxList<GoodsModel> likeList = <GoodsModel>[].obs;
 }

+ 3 - 3
lib/pages/second/second_controller.dart

@@ -10,18 +10,18 @@ class SecondController extends GetxController {
   final controllerP = Get.find<HomeController>();
 
   ///如果home的存储收藏的likeList里的实例的sId包含了当前实例的sId,返回true
-  bool isLike(Result result) {
+  bool isLike(GoodsModel result) {
     return controllerP.state.likeList
         .any((element) => element.sId == result.sId);
   }
 
   ///把当前实例存储到likeList里
-  addLike(Result result) {
+  addLike(GoodsModel result) {
     controllerP.state.likeList.add(result);
   }
 
   ///从likeList移除当前实例
-  removeLike(Result result) {
+  removeLike(GoodsModel result) {
     controllerP.state.likeList.remove(result);
   }
 

+ 1 - 1
lib/pages/second/second_state.dart

@@ -1,5 +1,5 @@
 import 'package:get_demo/models/good_model.dart';
 
 class SecondState {
-  Result result = Result();
+  GoodsModel result = GoodsModel();
 }

+ 1 - 0
mock/api/pcate.json

@@ -0,0 +1 @@
+{"result":[{"_id":"59f1e1ada1da8b15d42234e9","title":"电脑办公","status":"1","pic":"","pid":"0","sort":"100"},{"_id":"59f1e1e880e7ed050cec999d","title":"女装内衣","status":1,"pic":"","pid":"0","sort":"100"},{"_id":"59f1e4659bfd8f3bd030eed3","title":"运动户外","status":1,"pic":"","pid":"0","sort":"100"},{"_id":"59f1e46e9bfd8f3bd030eed4","title":"手机数码","status":"1","pic":"","pid":"0","sort":"100"},{"_id":"59f1e47e9bfd8f3bd030eed5","title":"化妆品","status":"1","pic":"","pid":"0","sort":"100"},{"_id":"5a04251e010e711234661438","title":"箱包","status":"1","pic":"","pid":"0","sort":"100"},{"_id":"5a04261e010e71123466143a","title":"女鞋","status":1,"pic":"","pid":"0","sort":"100"},{"_id":"5a042e29010e711234661443","title":"汽车用品","status":"1","pic":"","pid":"0","sort":"100"},{"_id":"5a042f27010e711234661446","title":"酒水饮料","status":"1","pic":"","pid":"0","sort":"100"}]}