package models import ( "database/sql" "time" ) // SMSMessage 短信消息模型 type SMSMessage struct { ID int64 `json:"id"` FromNumber string `json:"from_number"` Content string `json:"content"` Timestamp int64 `json:"timestamp"` TimestampStr string `json:"timestamp_str,omitempty"` // 显示用 LocalTimestampStr string `json:"local_timestamp_str,omitempty"` // 显示用 DeviceInfo sql.NullString `json:"device_info,omitempty"` SIMInfo sql.NullString `json:"sim_info,omitempty"` SignVerified sql.NullBool `json:"sign_verified,omitempty"` IPAddress string `json:"ip_address"` CreatedAt time.Time `json:"created_at"` } // ReceiveLog 接收日志模型 type ReceiveLog struct { ID int64 `json:"id"` FromNumber string `json:"from_number"` Content string `json:"content"` Timestamp int64 `json:"timestamp"` Sign sql.NullString `json:"sign,omitempty"` SignValid sql.NullBool `json:"sign_valid,omitempty"` IPAddress string `json:"ip_address"` Status string `json:"status"` ErrorMessage sql.NullString `json:"error_message,omitempty"` CreatedAt time.Time `json:"created_at"` } // Statistics 统计信息 type Statistics struct { Total int64 `json:"total"` Today int64 `json:"today"` Week int64 `json:"week"` Verified int64 `json:"verified"` Unverified int64 `json:"unverified"` } // MessageListResponse 消息列表响应 type MessageListResponse struct { Success bool `json:"success"` Data []SMSMessage `json:"data"` Total int64 `json:"total"` Page int `json:"page"` Limit int `json:"limit"` } // StatisticsResponse 统计响应 type StatisticsResponse struct { Success bool `json:"success"` Data Statistics `json:"data"` } // APIResponse API 通用响应 type APIResponse struct { Success bool `json:"success"` Message string `json:"message,omitempty"` MessageID int64 `json:"message_id,omitempty"` Error string `json:"error,omitempty"` }