ltx 25830581d2 feat(api): 完善小程序赛事角色与秩序册检录接口
新增成绩查询、裁判认证及检录员账号管理接口,并统一小程序角色登录与个人中心数据。

检录任务绑定赛事秩序册场次,按项目、组别、场地和场次顺序执行;支持最多三名检录员、分配检录轮次及前序检录校验。

补充检录任务、检录记录、裁判申请实体及四份数据库迁移,包含表字段备注、秩序册绑定和检录序号。
2026-08-07 14:59:15 +08:00

154 lines
3.9 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.ComponentModel.DataAnnotations;
namespace YD_Event.Application.Client.Dtos;
/// <summary>
/// 小程序登录输入参数
/// </summary>
public class MiniProgramLoginInput
{
[Required(ErrorMessage = "手机号不能为空")]
[RegularExpression(@"^1[3-9]\d{9}$", ErrorMessage = "手机号格式不正确")]
public string Mobile { get; set; } = string.Empty;
/// <summary>
/// 密码(密码登录时必填)
/// </summary>
public string Password { get; set; }
/// <summary>
/// 验证码(短信登录时必填)
/// </summary>
public string VerificationCode { get; set; }
}
/// <summary>
/// 小程序登录输出参数
/// </summary>
public class MiniProgramLoginOutput
{
/// <summary>
/// 访问令牌
/// </summary>
public string AccessToken { get; set; }
/// <summary>
/// 刷新令牌
/// </summary>
public string RefreshToken { get; set; }
/// <summary>
/// 过期时间(秒)
/// </summary>
public int ExpiresIn { get; set; }
/// <summary>
/// 用户信息
/// </summary>
public object UserInfo { get; set; }
}
/// <summary>
/// 小程序注册输入参数
/// </summary>
public class MiniProgramRegisterInput
{
/// <summary>
/// 注册角色:participant/referee/checker。
/// </summary>
public string? Role { get; set; }
/// <summary>
/// 注册角色数值:1-参赛者,2-裁判,3-检录员。Role 优先。
/// </summary>
public int? RoleType { get; set; }
/// <summary>
/// 手机号(必填)
/// </summary>
[Required(ErrorMessage = "手机号不能为空")]
[RegularExpression(@"^1[3456789]\d{9}$", ErrorMessage = "手机号格式不正确")]
public string Mobile { get; set; }
/// <summary>
/// 密码(必填)
/// </summary>
[Required(ErrorMessage = "密码不能为空")]
[StringLength(32, MinimumLength = 6, ErrorMessage = "密码长度必须在6-32位之间")]
public string Password { get; set; }
/// <summary>
/// 验证码(必填)
/// </summary>
[Required(ErrorMessage = "验证码不能为空")]
public string VerificationCode { get; set; }
/// <summary>
/// 昵称(可选)
/// </summary>
[StringLength(64, ErrorMessage = "昵称长度不能超过64个字符")]
public string NickName { get; set; }
/// <summary>
/// 头像(可选)
/// </summary>
[StringLength(512, ErrorMessage = "头像URL长度不能超过512个字符")]
public string Avatar { get; set; }
}
/// <summary>
/// 小程序注册输出参数
/// </summary>
public class MiniProgramRegisterOutput
{
public string Role { get; set; }
public int RoleType { get; set; }
/// <summary>
/// 用户ID
/// </summary>
public long UserId { get; set; }
/// <summary>
/// 手机号
/// </summary>
public string Mobile { get; set; }
/// <summary>
/// 昵称
/// </summary>
public string NickName { get; set; }
/// <summary>
/// 注册时间
/// </summary>
public DateTime RegisterTime { get; set; }
}
/// <summary>
/// 小程序重置密码输入参数
/// </summary>
public class MiniProgramResetPasswordInput
{
/// <summary>
/// 手机号(必填)
/// </summary>
[Required(ErrorMessage = "手机号不能为空")]
[RegularExpression(@"^1[3456789]\d{9}$", ErrorMessage = "手机号格式不正确")]
public string Mobile { get; set; }
/// <summary>
/// 新密码(必填)
/// </summary>
[Required(ErrorMessage = "新密码不能为空")]
[StringLength(32, MinimumLength = 6, ErrorMessage = "密码长度必须在6-32位之间")]
public string NewPassword { get; set; }
/// <summary>
/// 验证码(必填)
/// </summary>
[Required(ErrorMessage = "验证码不能为空")]
public string VerificationCode { get; set; }
}