136 lines
4.7 KiB
C#
136 lines
4.7 KiB
C#
using dy.net.dto;
|
|
using Newtonsoft.Json;
|
|
using SqlSugar;
|
|
|
|
namespace dy.net.model
|
|
{
|
|
[SugarTable(TableName = "dy_cookie")]
|
|
public class DyUserCookies
|
|
{
|
|
|
|
[SugarColumn(IsPrimaryKey = true)]
|
|
public string Id { get; set; }
|
|
/// <summary>
|
|
/// 用户账号-唯一就行,手机号啥的
|
|
/// </summary>
|
|
|
|
//public string UserId { get; set; }
|
|
/// <summary>
|
|
/// 用户描述
|
|
/// </summary>
|
|
public string UserName { get; set; }
|
|
/// <summary>
|
|
/// 用户抖音Cookie
|
|
/// </summary>
|
|
[SugarColumn(Length =-1,IsNullable =true)]
|
|
public string Cookies { get; set; }
|
|
/// <summary>
|
|
/// 存储路径
|
|
/// </summary>
|
|
[SugarColumn(Length =255,IsNullable =true)]
|
|
public string SavePath { get; set; }
|
|
|
|
public int Status { get; set; }
|
|
|
|
/// <summary>
|
|
/// 同步喜欢的视频需要sec_user_id
|
|
/// </summary>
|
|
[SugarColumn(Length =500,IsNullable =true)]
|
|
public string SecUserId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 喜欢的视频存储路径
|
|
/// </summary>
|
|
[SugarColumn(Length =500,IsNullable =true)]
|
|
public string FavSavePath { get; set; }
|
|
|
|
///// <summary>
|
|
///// 最新收藏夹的分页页码
|
|
///// </summary>
|
|
//[SugarColumn(Length =500,IsNullable =true)]
|
|
//public string CollectMaxCursor { get; set; }
|
|
///// <summary>
|
|
///// 最新我喜欢的分页页码
|
|
///// </summary>
|
|
//[SugarColumn(Length = 500, IsNullable = true)]
|
|
//public string FavoriteMaxCursor { get; set; }
|
|
|
|
/// <summary>
|
|
/// 是否已经同步过了(就是是否是第一次同步) 0-未同步 1-已同步
|
|
/// 如果是0,则同步时会获取全部数据;如果是1,则同步时只获取最新的数据(也就是只查一次)
|
|
/// 接口可以将该值改为0,下次开始同步就会重新获取全部数据
|
|
/// </summary>
|
|
public int CollHasSyncd { get; set; }
|
|
public int FavHasSyncd { get; set; }
|
|
public int UperSyncd { get; set; }
|
|
/// <summary>
|
|
/// 关注的用户sec_user_id列表 json字符串存储
|
|
/// </summary>
|
|
[SugarColumn(Length =-1,IsNullable =true)]
|
|
public string UpSecUserIds { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
/// Up主发布的视频存储路径
|
|
/// </summary>
|
|
[SugarColumn(Length = 500, IsNullable = true)]
|
|
public string UpSavePath { get; set; }
|
|
|
|
|
|
[SugarColumn(IsIgnore = true)]
|
|
public List<DyUpSecUserIdDto> UpSecUserIdsJson
|
|
{
|
|
get
|
|
{
|
|
// 反序列化逻辑(保持不变)
|
|
if (string.IsNullOrWhiteSpace(UpSecUserIds))
|
|
{
|
|
return new List<DyUpSecUserIdDto>();
|
|
}
|
|
|
|
try
|
|
{
|
|
return JsonConvert.DeserializeObject<List<DyUpSecUserIdDto>>(UpSecUserIds);
|
|
}
|
|
catch (JsonSerializationException ex)
|
|
{
|
|
// 日志记录(按需添加)
|
|
// Logger.Error($"反序列化失败:{ex.Message},原始值:{UpSecUserIds}");
|
|
return new List<DyUpSecUserIdDto>();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
// 日志记录(按需添加)
|
|
// Logger.Error($"处理异常:{ex.Message}");
|
|
return new List<DyUpSecUserIdDto>();
|
|
}
|
|
}
|
|
set
|
|
{
|
|
// 序列化逻辑:将列表转为JSON字符串,赋值给UpSecUserIds
|
|
try
|
|
{
|
|
// 若传入的列表为null,直接设为空字符串(避免序列化后出现"null"字符串)
|
|
UpSecUserIds = value == null
|
|
? string.Empty
|
|
: JsonConvert.SerializeObject(value);
|
|
}
|
|
catch (JsonSerializationException ex)
|
|
{
|
|
// 捕获序列化异常(如对象循环引用、不支持的类型等)
|
|
// Logger.Error($"序列化失败:{ex.Message},列表值:{value}");
|
|
// 异常时默认设为空字符串,避免存储错误的JSON
|
|
UpSecUserIds = string.Empty;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
// 捕获其他未知异常
|
|
// Logger.Error($"设置值异常:{ex.Message}");
|
|
UpSecUserIds = string.Empty;
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|