feat: 增加侧滑事件

This commit is contained in:
2025-12-02 06:09:25 -08:00
parent 8e27ddeded
commit e82480b937
13 changed files with 669 additions and 250 deletions
+64 -54
View File
@@ -13,76 +13,86 @@ import 'package:kaer_with_panels/app/widgets/hi_collapsible_list.dart';
import 'package:kaer_with_panels/app/widgets/hi_fixed_scrollbar.dart';
import 'package:kaer_with_panels/app/modules/hi_menu/widgets/hi_menu_list_item.dart';
import '../../../routes/app_pages.dart';
import 'package:kaer_with_panels/app/widgets/swipe/has_swipe_config.dart';
import 'package:kaer_with_panels/app/widgets/swipe/swipe_config.dart';
class HIHelpView extends GetView<HIHelpController> {
class HIHelpView extends GetView<HIHelpController> implements HasSwipeConfig {
const HIHelpView({super.key});
@override
SwipeConfig get swipeConfig =>
SwipeConfig(enableLeft: true, onLeft: () => Get.back());
@override
Widget build(BuildContext context) {
final ScrollController scrollController = ScrollController();
return HIBaseScaffold(
child: Column(
children: [
Expanded(
child: Obx(
() => EasyRefresh(
// controller: controller.refreshController,
// onRefresh: controller.kr_onRefresh,
// onLoad: controller.kr_onLoadMore,
// header: const DeliveryHeader(
// triggerOffset: 50.0,
// springRebound: true,
// ),
// footer: const DeliveryFooter(
// triggerOffset: 50.0,
// springRebound: true,
// ),
onRefresh: null, // 设置为 null 来禁用下拉刷新
onLoad: null, // 设置为 null 来禁用上拉加载
child: Padding(
padding: EdgeInsets.only(right: 0.w), // 滚动条与内容间距
child: HiFixedScrollbar(
controller: scrollController,
child: ListView.builder(
child: Padding(
padding: const EdgeInsets.only(left: 20),
child: Column(
children: [
Expanded(
child: Obx(
() => EasyRefresh(
// controller: controller.refreshController,
// onRefresh: controller.kr_onRefresh,
// onLoad: controller.kr_onLoadMore,
// header: const DeliveryHeader(
// triggerOffset: 50.0,
// springRebound: true,
// ),
// footer: const DeliveryFooter(
// triggerOffset: 50.0,
// springRebound: true,
// ),
onRefresh: null, // 设置为 null 来禁用下拉刷新
onLoad: null, // 设置为 null 来禁用上拉加载
child: Padding(
padding: EdgeInsets.only(right: 0.w), // 滚动条与内容间距
child: HiFixedScrollbar(
controller: scrollController,
padding: EdgeInsets.symmetric(horizontal: 40.w),
itemCount: controller.kr_messages.length,
itemBuilder: (context, index) {
final message = controller.kr_messages[index];
final collapsibleItemData = HICollapsibleItem(
title: message.title,
content: message.content,
);
return Padding(
padding: EdgeInsets.only(bottom: 10.w),
child: HICollapsibleItemWidget(item: collapsibleItemData),
);
},
child: ListView.builder(
controller: scrollController,
padding: EdgeInsets.only(left: 40.w - 20, right: 40.w),
itemCount: controller.kr_messages.length,
itemBuilder: (context, index) {
final message = controller.kr_messages[index];
final collapsibleItemData = HICollapsibleItem(
title: message.title,
content: message.content,
);
return Padding(
padding: EdgeInsets.only(bottom: 10.w),
child: HICollapsibleItemWidget(
item: collapsibleItemData),
);
},
),
),
),
),
),
),
),
SizedBox(height: 60.w),
// 增加在线客服入口
Padding(
padding: EdgeInsets.symmetric(horizontal: 40.w),
child: MenuListItem(
// 2. 创建一个 MenuItem 数据对象
item: MenuItem(
iconName: 'icon-5',
title: '在线客服',
// 3. 使用 onTap 回调来处理跳转逻辑
onTap: () {
Get.toNamed(Routes.KR_CRISP);
},
SizedBox(height: 60.w),
// 增加在线客服入口
Padding(
padding: EdgeInsets.symmetric(horizontal: 40.w),
child: MenuListItem(
// 2. 创建一个 MenuItem 数据对象
item: MenuItem(
iconName: 'icon-5',
title: '在线客服',
// 3. 使用 onTap 回调来处理跳转逻辑
onTap: () {
Get.toNamed(Routes.KR_CRISP);
},
),
),
),
),
SizedBox(height: 30.w)
],
SizedBox(height: 30.w)
],
),
),
);
}