5 Commits

Author SHA1 Message Date
3333514cff 修改保存升级结果方法参数 2025-10-07 20:12:38 +08:00
c283409b9e 添加设备操作日志方法 2025-09-25 14:23:17 +08:00
207b56e419 语音助手参数添加在线状态字段 2025-09-20 17:42:05 +08:00
69e7893d27 添加语音助手相关方法 2025-09-19 18:00:55 +08:00
30e530de6d 修改日志等级 2025-09-15 16:33:50 +08:00
3 changed files with 95 additions and 6 deletions

View File

@@ -151,18 +151,68 @@ func (d *Device) UpdateVersion(deviceId uint32, versionNumber uint) error {
} }
// 保存升级结果 // 保存升级结果
func (d *Device) SaveUpgradeResult(upgradeTaskId uint32, status uint8, finishTime time.Time) error { func (d *Device) SaveUpgradeResult(upgradeTaskId uint32, result uint8, finishTime time.Time) error {
body := map[string]any{ body := map[string]any{
"upgrade_task_id": upgradeTaskId, "upgrade_task_id": upgradeTaskId,
"status": status, "result": result,
"finish_time": finishTime.Format(time.DateTime), "finish_time": finishTime.Format(time.DateTime),
} }
result := &Result[any]{} res := &Result[any]{}
if err := GetRequest().Send("device.save_upgrade_result", body, result); err != nil { if err := GetRequest().Send("device.save_upgrade_result", body, res); err != nil {
return err return err
} }
if res.Code != 0 {
return fmt.Errorf("%s", res.Message)
}
return nil
}
// 获取语音助手参数列表
func (d *Device) GetVoiceAssistantList() ([]VoiceAssistant, error) {
body := map[string]any{}
result := &Result[[]VoiceAssistant]{}
if err := GetRequest().Send("device.get_voice_assistant_list", body, result); err != nil {
return nil, err
}
if result.Code != 0 { if result.Code != 0 {
return fmt.Errorf("%s", result.Message) return nil, fmt.Errorf("%s", result.Message)
}
return result.Data, nil
}
// 获取设备语音助手参数
func (d *Device) GetVoiceAssistant(deviceId uint32) (*VoiceAssistant, error) {
body := map[string]any{
"device_id": deviceId,
}
result := &Result[*VoiceAssistant]{}
if err := GetRequest().Send("device.get_voice_assistant", body, result); err != nil {
return nil, err
}
if result.Code != 0 {
return nil, fmt.Errorf("%s", result.Message)
}
return result.Data, nil
}
// 记录设备操作日志
func (d *Device) RecordOperationLog(deviceId uint32, platform DeviceOperationLogPlatform, attribute string, value any, valueType uint8, result DeviceOperationLogResult, reason *string, userId *uint32) error {
body := map[string]any{
"device_id": deviceId,
"platform": platform,
"attribute": attribute,
"value": value,
"value_type": valueType,
"result": result,
"reason": reason,
"user_id": userId,
}
res := &Result[any]{}
if err := GetRequest().Send("device.record_operation_log", body, res); err != nil {
return err
}
if res.Code != 0 {
return fmt.Errorf("%s", res.Message)
} }
return nil return nil
} }

View File

@@ -61,7 +61,7 @@ func (r *Request) Send(methodName string, body any, responseBody any) error {
} }
if r.logger != nil { if r.logger != nil {
r.logger.Infof("method: %s, request: %s, response: %s", r.logger.Debugf("method: %s, request: %s, response: %s",
methodName, methodName,
string(bodyByte), string(bodyByte),
string(responseBodyByte), string(responseBodyByte),

View File

@@ -72,3 +72,42 @@ type WebsocketSignData struct {
UserId uint32 `json:"user_id"` UserId uint32 `json:"user_id"`
Platform string `json:"platform"` Platform string `json:"platform"`
} }
// 语音助手数据
type VoiceAssistant struct {
Id uint32 `json:"id"`
Type uint8 `json:"type"`
OnlineStatus uint8 `json:"online_status"`
BemFaEnable uint8 `json:"bem_fa_enable"`
BemFaName string `json:"bem_fa_name"`
}
// 设备操作日志平台
type DeviceOperationLogPlatform uint8
const (
// 设备操作日志平台 - 管理后台
DeviceOperationLogPlatformBackstage DeviceOperationLogPlatform = iota + 1
// 设备操作日志平台 - 语音助手
DeviceOperationLogPlatformAssistant
// 设备操作日志平台 - 设备
DeviceOperationLogPlatformDevice
// 设备操作日志平台 - APP
DeviceOperationLogPlatformApp
// 设备操作日志平台 - 自动化
DeviceOperationLogPlatformAutomation
// 设备操作日志平台 - 桌面端
DeviceOperationLogPlatformDesktop
// 设备操作日志平台 - API
DeviceOperationLogPlatformAPI
)
// 设备操作日志结果
type DeviceOperationLogResult uint8
const (
// 设备操作日志结果 - 成功
DeviceOperationLogResultSuccess DeviceOperationLogResult = iota + 1
// 设备操作日志结果 - 失败
DeviceOperationLogResultFail
)