2026-06-12 09:42:44 +08:00

577 lines
13 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Collections.Generic;
using UnityEngine;
namespace Kill.Managers
{
#region AssetBundle
[System.Serializable]
public class AssetBundleInfoList
{
public string version;
public List<AssetBundleInfo> assetbundles;
public AssetBundleInfoList(List<AssetBundleInfo> list)
{
assetbundles = list;
}
}
[System.Serializable]
public class AssetBundleInfo
{
public string name;
public long size;
public string md5;
}
#endregion
#region
/// <summary>
/// 登录请求数据
/// </summary>
[Serializable]
public class LoginRequest
{
public string email;
public string password;
}
/// <summary>
/// 登录响应数据
/// </summary>
[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;
/// <summary>
/// 单位系统 0公制 1英制
/// </summary>
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;
}
/// <summary>
/// Firebase 绑定响应
/// </summary>
public class FirebaseBindResponse
{
public int code;
public string message;
public FirebaseBindData data;
}
public class FirebaseBindData
{
public bool firebase_bind;
}
#endregion
#region
/// <summary>
/// 题目列表响应
/// </summary>
[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<QuestionInfo> list;
}
/// <summary>
/// 题目信息
/// </summary>
[Serializable]
public class QuestionInfo
{
public int id;
public string questionNumber;
public string questionContent;
public string questionContentEn;
public string correctAnswer;
public string videoUrl;
public string videoUrlEn;
public List<QuestionOption> options;
}
/// <summary>
/// 题目选项
/// </summary>
[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
/// <summary>
/// 答题记录(用于本地存储)
/// </summary>
[Serializable]
public class QuestionRecord
{
public int questionId;
public int correctCount; // 累计答对次数
}
/// <summary>
/// 答题记录数据
/// </summary>
[Serializable]
public class QuestionRecordData
{
public List<QuestionRecord> records = new List<QuestionRecord>();
public int totalAnsweredCount; // 总答题序号(累加)
}
#endregion
[Serializable]
public class BandDeviceRequest
{
public string device_sn;
public string user_id;
}
#region
/// <summary>
/// 设备列表响应
/// </summary>
[Serializable]
public class DeviceListResponse
{
public int code;
public string message;
public DeviceListData data;
}
[Serializable]
public class DeviceListData
{
public List<DeviceInfo> owned_devices;
public List<DeviceInfo> 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;
}
/// <summary>
/// 设备信息
/// </summary>
[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
/// <summary>
/// 单位设置请求数据
/// </summary>
[Serializable]
public class UnitRequest
{
/// <summary>
/// 0公制 1英制
/// </summary>
public int unit_system;
}
/// <summary>
/// 密码校验
/// </summary>
[Serializable]
public class PasswordRequest
{
public string password;
}
/// <summary>
/// 重置设备请求数据
/// </summary>
[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<SharedUserInfo> 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<RecordData> records;
}
public class DeviceVideoDataList
{
public int total;
public List<DeviceVideoData> 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<KillCountData> 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<HeatmapData> 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<RankData> 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;
}
/// <summary>
/// 设备在线状态响应
/// </summary>
[System.Serializable]
public class DeviceOnlineResponse
{
public int code;
public string message;
public bool data;
}
#region
/// <summary>
/// 设备配置对应Java DeviceConfig实体
/// </summary>
[System.Serializable]
public class DeviceConfig
{
public string device_sn;
public int? language;
public bool? is_locked;
public int? fov_angle;
public int? detection_distance;
public int? aim_distance;
public string work_mode;
public bool? fill_light_enable;
public string fill_light_type;
public string fill_light_intensity;
public bool? laser_visible_enable;
public bool? visual_detect_enable;
public string visual_sensitivity;
public bool? radar_enable;
public string radar_sensitivity;
public int? radar_safe_distance;
public bool? rgb_enable;
public byte? rgb_red;
public byte? rgb_green;
public byte? rgb_blue;
public string rgb_effect;
public bool? lcd_auto_brightness;
public byte? lcd_brightness;
public bool? lcd_sleep_enable;
public byte? lcd_sleep_time;
public bool? wifi_enable;
public string wifi_ssid;
public string wifi_password;
public bool? video_record_enable;
public byte? record_duration;
public bool? sound_enable;
public string sound_type;
public byte? volume;
}
/// <summary>
/// 设备配置响应
/// </summary>
[System.Serializable]
public class DeviceConfigResponse
{
public int code;
public string message;
public DeviceConfig data;
}
#endregion
}