fix: 修复云端变量记录data为null的问题

- 后端: handleAddRecord增加recordData nil检查,避免存入null
- 后端: 记录读取改用interface{}替代map[string]interface{}解析JSON
- 后端: JSON解析失败时回退返回原始字符串
- 后端: API返回raw_data字段暴露数据库原始数据用于诊断
- 后端: app/cloud.go同步修复同样的JSON解析问题
- 前端: parseRecordData增加raw_data回退解析
- 前端: 添加数据诊断卡片显示原始数据结构
This commit is contained in:
2026-05-08 02:31:15 +08:00
parent e1578f299e
commit 375fd46224
4 changed files with 98 additions and 35 deletions
+8 -3
View File
@@ -818,11 +818,16 @@ func handleAppGetVariableRecords(c *gin.Context) {
result := make([]gin.H, len(records))
for i, r := range records {
var data map[string]interface{}
json.Unmarshal([]byte(r.Data), &data)
var parsedData interface{}
if r.Data != "" {
json.Unmarshal([]byte(r.Data), &parsedData)
}
if parsedData == nil && r.Data != "" {
parsedData = r.Data
}
result[i] = gin.H{
"id": r.ID,
"data": data,
"data": parsedData,
"created_at": r.CreatedAt,
}
}