This commit is contained in:
owenchen committed 2026-10-22 13:55:27 +08:00
1 parent c6eb00b406
commit 1c91f62ff6
58 files changed
+3888 -69

No files matched your search

@@ -0,0 +1,20 @@
using CloudBuilder.Core.Authorization;
using CloudBuilder.Master.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CloudBuilder.Master.Data
{
[TypeScript]
public class ArticleData
{
public ArticleDisplayData? Article { get; set; }
public ArticleFamilyGroupDisplayData[]? FamilyGroups { get; set; }
public ArticleFilenameDisplayData[]? Filenames { get; set; }
}
}
@@ -0,0 +1,45 @@
using CloudBuilder.Core.Authorization;
using CloudBuilder.Master.Entity;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CloudBuilder.Master.Data
{
/// <summary>
/// 排除实体类标记
/// </summary>
[NotMapped]
[TypeScript]
public class ArticleDisplayData : ArticleEntity
{
public ArticleDisplayData()
{
}
public ArticleDisplayData(ArticleEntity entity)
{
CopyFrom(entity);
}
/// <summary>作者中文名(按 CreatedBy join security_user.user_local_name)</summary>
public string? AuthorLocalName { get; set; }
/// <summary>作者头像访问地址(按 CreatedBy join security_user.user_icon_img_path 打包)</summary>
public string? AuthorAvatarUrl { get; set; }
/// <summary>封面访问地址(由 ArticleCoverFilename 物理名打包,未设置为空)</summary>
public string? CoverUrl { get; set; }
/// <summary>当前登录人是否作者本人(前端据此显示编辑/删除/审核/置顶)</summary>
public bool IsOwner { get; set; }
/// <summary>当前登录人是否关联群组的正式成员</summary>
public bool IsMember { get; set; }
/// <summary>当前登录人是否关联群组的管理员</summary>
public bool IsManager { get; set; }
}
}
@@ -0,0 +1,31 @@
using CloudBuilder.Core.Authorization;
using CloudBuilder.Master.Entity;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CloudBuilder.Master.Data
{
[NotMapped]
[TypeScript]
public class ArticleFamilyGroupDisplayData : ArticleFamilyGroupEntity
{
public ArticleFamilyGroupDisplayData()
{
}
public ArticleFamilyGroupDisplayData(FamilyGroupEntity entity)
{
this.FamilyLocalName = entity.FamilyLocalName;
this.FamilyName = entity.FamilyName;
this.Notice = entity.Notice;
}
public string? FamilyLocalName { get; set; }
public string? Notice { get; set; }
}
}
@@ -0,0 +1,32 @@
using CloudBuilder.Core.Authorization;
using CloudBuilder.Master.Entity;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CloudBuilder.Master.Data
{
/// <summary>
/// 文章配图明细展示数据:在实体(FileName 存物理名)基础上补一个打包后的访问地址,
/// 供前端图片 Tab 直接渲染;提交时仍回传物理名 FileName,ImageUrl 只读。
/// </summary>
[NotMapped]
[TypeScript]
public class ArticleFilenameDisplayData : ArticleFilenameEntity
{
public ArticleFilenameDisplayData()
{
}
public ArticleFilenameDisplayData(ArticleFilenameEntity entity)
{
CopyFrom(entity);
}
/// <summary>配图访问地址(由 FileName 物理名打包,未设置为空)</summary>
public string? ImageUrl { get; set; }
}
}
@@ -0,0 +1,17 @@
using CloudBuilder.Core.Authorization;
using CloudBuilder.Core.Service;
using CloudBuilder.Master.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CloudBuilder.Master.Data
{
[TypeScript]
public class ArticleResultData : SearchCriteriaResultData
{
public ArticleDisplayData[]? Datas { get; set; }
}
}