2026-05-18 08:42:33 +08:00

310 lines
6.5 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 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;
}
#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 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;
}
}