using System; using System.Collections.Generic; using UnityEngine; namespace Kill.Managers { #region AssetBundle 数据 [System.Serializable] public class AssetBundleInfoList { public string version; public List assetbundles; public AssetBundleInfoList(List list) { assetbundles = list; } } [System.Serializable] public class AssetBundleInfo { public string name; public long size; public string md5; } #endregion #region 用户数据 /// /// 登录请求数据 /// [Serializable] public class LoginRequest { public string email; public string password; } /// /// 登录响应数据 /// [Serializable] public class LoginResponse { public int code; public string message; public LoginData data; } [Serializable] public class LoginData { public string token; public UserInfo user; } [Serializable] public class UserInfo { public string id; public string email; public string avatar; public string username; public string role; public bool exam_completed; public int device_count; public int total_kill_count; /// /// 单位系统 0公制 1英制 /// public int unit_system; public bool has_simple_password; public bool has_complex_password; } #endregion #region 登录注册 public class EmailCodeRequest { public string email; } public class NoDataResponse { public int code; public string message; } public class BoolResponse { public int code; public string message; public BoolData data; } public class BoolData { public bool registered; } public class VerifyCodeRequest { public string email; public string code; } public class RegisterRequest { public string email; public string password; public int password_type; } public class ResetPasswordRequest { public string email; public string password; public int password_type; } public class FireBaseLoginRequest { public string firebase_token; } public class BindFireBaseRequest { public string code; public string email; public string temp_token; } /// /// Firebase 绑定响应 /// public class FirebaseBindResponse { public int code; public string message; public FirebaseBindData data; } public class FirebaseBindData { public bool firebase_bind; } #endregion #region 安全学习题目 /// /// 题目列表响应 /// [Serializable] public class QuestionListResponse { public int code; public string message; public QuestionListData data; } [Serializable] public class QuestionListData { public int total; public int pages; public int limit; public int page; public List list; } /// /// 题目信息 /// [Serializable] public class QuestionInfo { public int id; public string questionNumber; public string questionContent; public string questionContentEn; public string correctAnswer; public string videoUrl; public List options; } /// /// 题目选项 /// [Serializable] public class QuestionOption { public int id; public string optionLabel; public string optionContent; public string optionContentEn; public bool isCorrect; public string explanation; public string explanationEn; } #endregion #region 答题记录 /// /// 答题记录(用于本地存储) /// [Serializable] public class QuestionRecord { public int questionId; public int correctCount; // 累计答对次数 } /// /// 答题记录数据 /// [Serializable] public class QuestionRecordData { public List records = new List(); public int totalAnsweredCount; // 总答题序号(累加) } #endregion [Serializable] public class BandDeviceRequest { public string device_sn; public string user_id; } #region 设备列表 /// /// 设备列表响应 /// [Serializable] public class DeviceListResponse { public int code; public string message; public DeviceListData data; } [Serializable] public class DeviceListData { public List owned_devices; public List shared_devices; public int? online_count; public int? offline_count; public int? fault_count; public int? total; public int? page; public int? size; public int? pages; } /// /// 设备信息 /// [Serializable] public class DeviceInfo { public string device_sn; public string ble_mac; public string wifi_mac; public string device_name; public string product_id; public string status; public string bind_time; public string device_model; public string firmware_version; public int? total_work_hours; public int? total_mosquitoes_killed; public string location; public string last_online_time; public string owner_id; public string owner_name; public string owner_username; public string share_time; } #endregion /// /// 单位设置请求数据 /// [Serializable] public class UnitRequest { /// /// 0公制 1英制 /// public int unit_system; } /// /// 密码校验 /// [Serializable] public class PasswordRequest { public string password; } /// /// 重置设备请求数据 /// [Serializable] public class ResetDeviceRequest { public string device_sn; } public class ShareDeviceRequest { public string device_sn; public string target_user_id; public string owner_id; } [Serializable] public class SharedUserInfo { public string user_id; public string user_name; public string avatar; public DateTime share_time; } public class SharedUserInfoListData { public List list; } public class ShareUserInfoRequest { public string device_sn; } public class ShareUserListResponse { public int code; public string message; public SharedUserInfoListData data; } public class OTAResponse { public int code; public string message; public OTAData data; } public class OTAData { public string version; public string download_url; public string md5; public string release_notes; } public class MessageData { public string id; public string title; public string type; public string content; public DateTime create_at; public DateTime publish_time; public bool is_read; } public class AnnouncementData { public string id; public string title; public string type; public string content; public DateTime publish_time; public bool is_read; } public enum MessageType { device, warning, announcement } [Serializable] public class MessageTypeData { public int device; public int warning; public int announcement; } public class MessageTypeDataListResponse { public int code; public string message; public MessageTypeData data; } public class RecordData { public string id; public DateTime time; public float angle; public float distance; } public class DeviceVideoData { public string id; public string video_url; public string cover_url; public DateTime record_time; } public class RecordDataList { public int total; public List records; } public class DeviceVideoDataList { public int total; public List list; } public class RecordDataListResponse { public int code; public string message; public RecordDataList data; } public class DeviceVideoDataListResponse { public int code; public string message; public DeviceVideoDataList data; } public class KillCountData { public string time_point; public int count; } public class KillCountDataList { public int total_count; public List stats; } public class KillCountDataResponse { public int code; public string message; public KillCountDataList data; } public class HeatmapData { public float angle; public float distance; public int count; } public class HeatmapDataList { public List points; } public class HeatmapDataListResponse { public int code; public string message; public HeatmapDataList data; } public class RankData { public int rank; public string nickname; public string avatar; public int kill_count; } public class RankDataList { public List top_list; public RankData my_rank; } public class RankDataListResponse { public int code; public string message; public RankDataList data; } public class BundleData { public string bundle_version; public string bundle_url; } public class BundleDataResponse { public int code; public string message; public BundleData data; } [Serializable] public class PostRecordData { public string device_sn; public string record_time; public float angle; public float distance; } public class FileRequest { public byte[] file; } }