You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

50 lines
1.5 KiB

using HybirdFrameworkCore.Autofac.Attribute;
using HybirdFrameworkDriver.TcpServer;
using Service.Car.Codec;
using Service.Car.Handler;
using Service.Car.Msg.Car.Req;
using Service.Car.Msg.Car.Resp;
namespace Service.Car.Server;
[Scope("SingleInstance")]
public class CarServer : TcpServer<IBaseHandler, Decoder, Encoder>
{
/// <summary>
/// 客户端连接状态
/// </summary>
public bool Connected { get; set; }
public string? CarNo { get; set; }
public HeartBeatMsg? HeartBeatMsg { get; set; }
/// <summary>
/// 1 待机 2 换电
/// </summary>
public byte StationStatus { get; set; }
/// <summary>
/// 度电数据车载设备连接上换电站的 Wifi 网络时,主动上送度电数据报文(命令代码: 0x01发送周期 60s服务器回复相应的报文(命令代码0x02)
/// </summary>
public ElecMsg? ElecMsg { get; set; }
public LockMsgResp? LockMsgResp { get; set; }
public UnLockMsgResp? UnLockMsgResp { get; set; }
public SetParamMsgResp? SetParamMsgResp { get; set; }
public SettleConfirmMsgResp? SettleConfirmMsgResp { get; set; }
public CarServer() : base()
{
this.ChannelInActiveAction = () =>
{
Connected = false;
HeartBeatMsg = null;
ElecMsg = null;
LockMsgResp = null;
UnLockMsgResp = null;
SetParamMsgResp = null;
SettleConfirmMsgResp = null;
};
}
}