510 lines
11 KiB
C#
510 lines
11 KiB
C#
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 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;
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|