修正知识点亮

This commit is contained in:
tanghong668 2023-11-28 19:22:36 +08:00
parent f1c7279bfb
commit 7b50ff0f78
3 changed files with 53 additions and 44 deletions

View File

@ -26,6 +26,7 @@ class HomeController extends GetxController {
final chatMsgList = RxList<ChatMsg>([]);
final scrollController = ScrollController();
final selectKnowledge = Rx<KnowledgePoint?>(null);
final knowledgePoints = RxList<Rx<KnowledgePoint>>([]);
late String account = '';
late int gender = 1;
@ -37,9 +38,7 @@ class HomeController extends GetxController {
late List<ExploreApp> leftExploreApps = [];
late List<ExploreApp> rightExploreApps = [];
late List<Goal> goals = [];
late List<KnowledgePoint> knowledgePoints = [];
final int second = 5;
final int second = 3;
StreamSubscription<dynamic>? subscription;
@override
@ -50,7 +49,7 @@ class HomeController extends GetxController {
age = SpUtil.getInt(Constant.age, defValue: 10)!;
occupationName = SpUtil.getString(Constant.occupationName).nullSafe;
occupationId = SpUtil.getInt(Constant.occupationId, defValue: 2)!;
create.value = SpUtil.getBool(Constant.create, defValue: true)!;
// create.value = SpUtil.getBool(Constant.create, defValue: true)!;
initLeftExploreApps();
initRightExploreApps();
initArtistGoals();
@ -91,17 +90,23 @@ class HomeController extends GetxController {
void initKnowledgePoints() {
knowledgePoints.add(KnowledgePoint(
id: 1, left: 559.0, top: 149.0, title: '钱是怎么形成的?', leared: false));
id: 1, left: 559.0, top: 149.0, title: '钱是怎么形成的?', leared: false)
.obs);
knowledgePoints.add(KnowledgePoint(
id: 2, right: 751.0, top: 198.0, title: '小实验溶解糖', leared: false));
id: 2, right: 751.0, top: 198.0, title: '小实验溶解糖', leared: false)
.obs);
knowledgePoints.add(KnowledgePoint(
id: 3, left: 632.0, top: 278.0, title: '科学家是怎么工作的?', leared: false));
id: 3, left: 632.0, top: 278.0, title: '科学家是怎么工作的?', leared: false)
.obs);
knowledgePoints.add(KnowledgePoint(
id: 4, left: 814.0, top: 376.0, title: '艺术家——梵高', leared: false));
id: 4, left: 814.0, top: 376.0, title: '艺术家——梵高', leared: false)
.obs);
knowledgePoints.add(KnowledgePoint(
id: 5, right: 696.0, top: 438.0, title: '什么是科学?', leared: false));
id: 5, right: 696.0, top: 438.0, title: '什么是科学?', leared: false)
.obs);
knowledgePoints.add(KnowledgePoint(
id: 6, left: 741.0, top: 499.0, title: '足球比赛规则', leared: false));
id: 6, left: 741.0, top: 499.0, title: '足球比赛规则', leared: false)
.obs);
}
void initArtistGoals() {
@ -241,9 +246,11 @@ class HomeController extends GetxController {
);
chatMsgList.add(chatMsg);
var knowledge =
knowledgePoints.firstWhere((t) => t.id == selectKnowledge.value!.id);
knowledge.leared = true;
var knowledge = knowledgePoints
.firstWhere((t) => t.value.id == selectKnowledge.value!.id);
knowledge.update((val) {
val!.leared = true;
});
selectKnowledge.update((val) {
val!.leared = true;
});

View File

@ -159,23 +159,24 @@ class ExploreView extends GetView<HomeController> {
}
Widget buildKnowledge(BuildContext context) {
return Stack(
return Obx(
() => Stack(
children: controller.knowledgePoints.map((e) {
return Positioned(
top: e.top!.h,
left: e.left != null ? e.left!.w : null,
right: e.right != null ? e.right!.w : null,
top: e.value.top!.h,
left: e.value.left != null ? e.value.left!.w : null,
right: e.value.right != null ? e.value.right!.w : null,
child: ConstrainedBox(
constraints: BoxConstraints(minWidth: 214.w, minHeight: 68.h),
child: GestureDetector(
onTap: () async {
await controller.leareKnowledge(e);
await controller.leareKnowledge(e.value);
},
child: Container(
padding: REdgeInsets.symmetric(horizontal: 9.0),
decoration: BoxDecoration(
image: DecorationImage(
image: e.leared!
image: e.value.leared!
? Images.studyKnowledgePointPre
: Images.studyKnowledgePointDefault,
fit: BoxFit.fill,
@ -183,8 +184,8 @@ class ExploreView extends GetView<HomeController> {
),
child: Center(
child: Text(
e.title!,
style: e.leared!
e.value.title!,
style: e.value.leared!
? TextStyles.boldWhiteShadow22_104
: TextStyles.mediumColor22,
),
@ -194,6 +195,7 @@ class ExploreView extends GetView<HomeController> {
),
);
}).toList(),
),
);
}
}

View File

@ -529,7 +529,7 @@ class HomeView extends GetView<HomeController> {
void showGoalDialog(Goal goal) {
SmartDialog.show(
maskColor: const Color(0xFF02184B).withOpacity(0.8),
maskColor: const Color(0xFF02184B).withOpacity(0.7),
alignment: Alignment.center,
builder: (_) {
return GoalDialog(