using HeartRateMonitorAndroid.Models;
namespace HeartRateMonitorAndroid.Services
{
///
/// 心率数据服务接口,用于前端与后台服务通信
///
public interface IHeartRateDataService
{
///
/// 心率数据更新事件
///
event Action HeartRateDataReceived;
///
/// 服务状态更新事件
///
event Action ServiceStatusChanged;
///
/// 设备连接状态更新事件
///
event Action DeviceStatusChanged;
///
/// 获取当前心率数据
///
HeartRateSessionData GetCurrentSessionData();
///
/// 获取服务状态
///
ServiceStatus GetServiceStatus();
///
/// 获取设备连接状态
///
DeviceConnectionStatus GetDeviceStatus();
///
/// 启动后台服务
///
Task StartBackgroundServiceAsync();
///
/// 停止后台服务
///
Task StopBackgroundServiceAsync();
}
///
/// 服务状态
///
public class ServiceStatus
{
public bool IsRunning { get; set; }
public string StatusMessage { get; set; } = "";
public bool IsWebSocketConnected { get; set; }
public string WebSocketUrl { get; set; } = "";
public DateTime LastUpdateTime { get; set; }
}
///
/// 设备连接状态
///
public class DeviceConnectionStatus
{
public bool IsConnected { get; set; }
public string DeviceName { get; set; } = "";
public string ConnectionMessage { get; set; } = "";
public DateTime LastConnectionTime { get; set; }
public int SignalStrength { get; set; } // 信号强度,如果支持的话
}
}