using Newtonsoft.Json;
namespace MainForm.ClassFile.XiaomiAPI
{
///
/// 小米 MqttClient类 - API拓展方法
/// 操作记录⽇志
/// 供应商软件每次启动/关闭/重新加载项⽬时,以操作记录⽇志完成上报相应事件
///
public partial class XiaomiMqttClient_Extend : XiaomiMqttClient
{
///
/// 操作记录⽇志- 事件Id
///
private static string OperateLogId { get; set; } = "equipment_configuration/HomeSpd";
///
/// 操作记录⽇志 - 事件方法
///
/// 事件数据;Json
/// 自定义事件Id;如:guid
///
public static int Write_OperateLog(OperateLogRequest request, string dataId = "")
{
int result = 0;
string msg = JsonConvert.SerializeObject(request);
byte[] bytes = ToUTF8(msg);
// 发送
if (string.IsNullOrEmpty(dataId))
result = Write(OperateLogId, bytes);
else
result = WriteWithDataId(OperateLogId, bytes, dataId);
return result;
}
///
/// 操作记录⽇志 - 参数
///
public class OperateLogRequest
{
///
/// 操作记录⽇志标识符
/// string[1,128] operate_log/operate_log
///
public string id { get; set; } = "operate_log/operate_log";
///
/// 软件版本号
/// 供应商软件版本号,如:V1.2.4
///
public string software_version { get; set; } = string.Empty;
///
/// 操作时间
/// 供应商软件开启/关闭/重新加载项⽬时间,精确到毫秒。如:2022-06-01 14:27:57.283
///
public string operate_time { get; set; } = string.Empty;
///
/// 操作动作
/// 对应软件开启/关闭/重新加载项⽬,枚举值如下:
/// startup
/// shutdown
/// reload
///
public string operate_action { get; set; } = string.Empty;
///
/// 动作参数
/// 选填,附带额外的信息
///
public string action_param { get; set; } = string.Empty;
///
/// 操作模块
/// 选填
///
public string operate_module { get; set; } = string.Empty;
///
/// 操作⻚⾯
/// 选填
///
public string operate_page { get; set; } = string.Empty;
///
/// 当前进程
/// 进程ID
///
public string current_process { get; set; } = string.Empty;
///
/// 操作描述
/// 如:供应商软件开启/关闭/重新加载项⽬
///
public string operate_desc { get; set; } = string.Empty;
///
/// 操作结果
///
public string operate_result { get; set; } = "success";
///
/// 操作账号名
/// 填当前操作⽤⼾,如⽆则填default
///
public string operator_name { get; set; } = "default";
}
}
}