This commit is contained in:
zhutao
2025-11-20 18:00:34 +08:00
parent 701b99b138
commit b7239292d1
45 changed files with 1499 additions and 354 deletions

View File

@@ -0,0 +1,56 @@
import 'package:app/request/api/room_api.dart';
import 'package:app/request/dto/room/room_info_dto.dart';
import 'package:app/utils/time.dart';
import 'package:flutter/material.dart';
class HomeViewModel extends ChangeNotifier {
RoomInfoDto? roomInfo;
bool loading = true;
HomeViewModel() {
loadData();
}
//加载数据
Future<void> loadData() async {
final list = await getRoomListApi();
loading = false;
if (list.isNotEmpty) {
roomInfo = list.first;
}
notifyListeners();
}
///计算会议时间
int get roomMinutes {
if (roomInfo == null) return 0;
final start = roomInfo!.startTime;
final end = roomInfo!.endTime;
final s = DateTime.parse('2000-01-01 $start:00');
final e = DateTime.parse('2000-01-01 $end:00');
return e.difference(s).inMinutes;
}
///能否进入房间
bool get canEnterRoom {
final info = roomInfo;
if (info == null) return false;
final now = DateTime.now();
//开始时间
final startTime = parseTime(info.startTime);
// 当前时间距离开始时间是否超过 5 分钟
if (now.isBefore(startTime) && startTime.difference(now).inMinutes > 5) {
return false;
}
return true;
}
}