import 'package:carousel_slider/carousel_controller.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:permission_handler/permission_handler.dart'; import 'package:starwork_flutter/base/app_permission.dart'; import 'package:starwork_flutter/base/base_controller.dart'; class HomeController extends BaseController { final isOpenNotificationPermission = false.obs; var carouselCurrentIndex = 0.obs; // 渐变颜色列表 final List gradientColors = [ const Color(0xFFBFCBEF), // #bfcbef const Color(0xFFECBE9B), // 原来的颜色 const Color(0xFFD5F3D5), // 清新绿色 const Color(0xFFFFB6C1), // 温柔粉色 ]; // 当前渐变颜色 var currentGradientColor = const Color(0xFFBFCBEF).obs; @override void onInit() async { super.onInit(); isOpenNotificationPermission.value = await AppPermission.checkPermission( permission: Permission.notification, ); // 监听轮播图切换,更新渐变颜色 carouselCurrentIndex.listen((index) { updateGradientColor(index); }); } // 根据轮播图索引更新渐变颜色 void updateGradientColor(int index) { if (index < gradientColors.length) { currentGradientColor.value = gradientColors[index]; } else { // 如果索引超出颜色数量,使用模运算轮环 currentGradientColor.value = gradientColors[index % gradientColors.length]; } } }