初始刷

This commit is contained in:
2024-11-28 13:36:05 +08:00
parent b9b7c9090e
commit 88ebd4c300
753 changed files with 62888 additions and 64 deletions

View File

@@ -0,0 +1,127 @@
using Infrastructure.Constant;
using System.Collections.Generic;
namespace Infrastructure.Model
{
public class ApiResult : Dictionary<string, object>
{
/// <summary>
/// 状态码
/// </summary>
public static readonly string CODE_TAG = "code";
/// <summary>
/// 返回内容
/// </summary>
public static readonly string MSG_TAG = "msg";
/// <summary>
/// 数据对象
/// </summary>
public static readonly string DATA_TAG = "data";
/// <summary>
/// 初始化一个新创建的APIResult对象使其表示一个空消息
/// </summary>
public ApiResult()
{
}
/// <summary>
/// 初始化一个新创建的 ApiResult 对象
/// </summary>
/// <param name="code"></param>
/// <param name="msg"></param>
public ApiResult(int code, string msg)
{
Add(CODE_TAG, code);
Add(MSG_TAG, msg);
}
/// <summary>
/// 初始化一个新创建的 ApiResult 对象
/// </summary>
/// <param name="code"></param>
/// <param name="msg"></param>
/// <param name="data"></param>
public ApiResult(int code, string msg, object data)
{
Add(CODE_TAG, code);
Add(MSG_TAG, msg);
if (data != null)
{
Add(DATA_TAG, data);
}
}
/// <summary>
/// 返回成功消息
/// </summary>
/// < returns > 成功消息 </ returns >
public static ApiResult Success() { return new ApiResult(HttpStatus.SUCCESS, "success"); }
/// <summary>
/// 返回成功消息
/// </summary>
/// <param name="data"></param>
/// <returns> 成功消息 </returns >
public static ApiResult Success(object data) { return new ApiResult(HttpStatus.SUCCESS, "success", data); }
/// <summary>
/// 返回成功消息
/// </summary>
/// <param name="msg">返回内容</param>
/// <returns>成功消息</returns>
public static ApiResult Success(string msg) { return new ApiResult(HttpStatus.SUCCESS, msg, null); }
/// <summary>
/// 返回成功消息
/// </summary>
/// <param name="msg">返回内容</param>
/// <param name="data">数据对象</param>
/// <returns>成功消息</returns>
public static ApiResult Success(string msg, object data) { return new ApiResult(HttpStatus.SUCCESS, msg, data); }
public static ApiResult Error(ResultCode code, string msg = "")
{
return Error((int)code, msg);
}
/// <summary>
/// 返回失败消息
/// </summary>
/// <param name="code"></param>
/// <param name="msg"></param>
/// <returns></returns>
public static ApiResult Error(int code, string msg) { return new ApiResult(code, msg); }
/// <summary>
/// 返回失败消息
/// </summary>
/// <param name="msg"></param>
/// <returns></returns>
public static ApiResult Error(string msg) { return new ApiResult((int)ResultCode.CUSTOM_ERROR, msg); }
/// <summary>
/// 是否为成功消息
/// </summary>
/// <returns></returns>
public bool IsSuccess()
{
return HttpStatus.SUCCESS == (int)this[CODE_TAG];
}
/// <summary>
/// 方便链式调用
/// </summary>
/// <param name="key"></param>
/// <param name="value"></param>
/// <returns></returns>
public ApiResult Put(string key, object value)
{
Add(key, value);
return this;
}
}
}

View File

@@ -0,0 +1,180 @@
using System.Collections.Generic;
namespace Infrastructure.Model
{
/// <summary>
/// 获取配置文件POCO实体类
/// </summary>
public class OptionsSetting
{
/// <summary>
/// 是否单设备登录
/// </summary>
public bool SingleLogin { get; set; }
/// <summary>
/// 是否演示模式
/// </summary>
public bool DemoMode { get; set; }
/// <summary>
/// 初始化db
/// </summary>
public bool InitDb { get; set; }
public string[] InitTables { get; set; }
/// <summary>
/// 邮箱配置
/// </summary>
public List<MailOptions> MailOptions { get; set; }
/// <summary>
/// 上传配置
/// </summary>
public Upload Upload { get; set; }
/// <summary>
/// 阿里云oss
/// </summary>
public ALIYUN_OSS ALIYUN_OSS { get; set; }
public JwtSettings JwtSettings { get; set; }
/// <summary>
/// 代码生成配置
/// </summary>
public CodeGen CodeGen { get; set; }
/// <summary>
/// 数据库集合
/// </summary>
public List<DbConfigs> DbConfigs { get; set; }
/// <summary>
/// 代码生成数据库配置
/// </summary>
public DbConfigs CodeGenDbConfig { get; set; }
/// <summary>
/// Reids配置
/// </summary>
public RedisServerConfig RedisServer { get; set; }
}
/// <summary>
/// 发送邮件数据配置
/// </summary>
public class MailOptions
{
public string FromName { get; set; }
public string FromEmail { get; set; }
public string Password { get; set; }
public string Smtp { get; set; }
public int Port { get; set; }
public bool UseSsl { get; set; }
public string Signature { get; set; }
}
/// <summary>
/// 上传
/// </summary>
public class Upload
{
public string UploadUrl { get; set; }
public string LocalSavePath { get; set; }
public int MaxSize { get; set; }
public string[] NotAllowedExt { get; set; } = new string[0];
}
/// <summary>
/// 阿里云存储
/// </summary>
public class ALIYUN_OSS
{
public string REGIONID { get; set; }
public string KEY { get; set; }
public string SECRET { get; set; }
public string BucketName { get; set; }
public string DomainUrl { get; set; }
public int MaxSize { get; set; } = 100;
}
/// <summary>
/// Jwt
/// </summary>
public class JwtSettings
{
/// <summary>
/// token是谁颁发的
/// </summary>
public string Issuer { get; set; }
/// <summary>
/// token可以给那些客户端使用
/// </summary>
public string Audience { get; set; }
/// <summary>
/// 加密的keySecretKey必须大于16个,是大于,不是大于等于)
/// </summary>
public string SecretKey { get; set; }
/// <summary>
/// token时间
/// </summary>
public int Expire { get; set; } = 1440;
/// <summary>
/// 刷新token时长
/// </summary>
public int RefreshTokenTime { get; set; }
/// <summary>
/// token类型
/// </summary>
public string TokenType { get; set; } = "Bearer";
}
public class CodeGen
{
/// <summary>
/// 是否显示移动端代码生成
/// </summary>
public bool ShowApp { get; set; }
/// <summary>
/// 是否自动去除前缀
/// </summary>
public bool AutoPre { get; set; }
/// <summary>
/// vue前端生成路径
/// </summary>
public string VuePath { get; set; }
/// <summary>
/// 作者
/// </summary>
public string Author { get; set; }
public string TablePrefix { get; set; }
/// <summary>
/// 模块名默认值business
/// </summary>
public string ModuleName { get; set; }
public int FrontTpl { get; set; }
/// <summary>
/// unipap vue版本号可选值2/3
/// </summary>
public int UniappVersion { get; set; } = 2;
/// <summary>
/// unipap前端存储路径
/// </summary>
public string UniappPath { get; set; }
public CsharpTypeArr CsharpTypeArr { get; set; }
}
public class DbConfigs
{
public string Conn { get; set; }
public int DbType { get; set; }
public string ConfigId { get; set; }
public bool IsAutoCloseConnection { get; set; }
public string DbName { get; set; }
}
public class CsharpTypeArr
{
public string[] String { get; set; }
public string[] Int { get; set; }
public string[] Long { get; set; }
public string[] DateTime { get; set; }
public string[] Float { get; set; }
public string[] Decimal { get; set; }
public string[] Bool { get; set; }
}
public class RedisServerConfig
{
public int Open { get; set; }
public bool DbCache { get; set; }
}
}

View File

@@ -0,0 +1,36 @@
using System;
using System.ComponentModel.DataAnnotations;
namespace Infrastructure.Model
{
public class SendEmailDto
{
/// <summary>
/// 文件地址
/// </summary>
public string FileUrl { get; set; } = "";
/// <summary>
/// 主题
/// </summary>
[Required(ErrorMessage = "主题不能为空")]
public string Subject { get; set; }
[Required(ErrorMessage = "发送人不能为空")]
public string ToUser { get; set; }
public string Content { get; set; } = "";
public string HtmlContent { get; set; }
/// <summary>
/// 是否发送给自己
/// </summary>
public bool SendMe { get; set; }
public DateTime AddTime { get; set; }
/// <summary>
/// 是否发送
/// </summary>
public bool IsSend { get; set; }
/// <summary>
/// 发送邮箱
/// </summary>
public string FromName { get; set; }
public string FromEmail { get; set; }
}
}

View File

@@ -0,0 +1,48 @@
using System;
using System.Collections.Generic;
using System.Linq;
namespace Infrastructure.Model
{
public class TokenModel
{
public long UserId { get; set; }
public long DeptId { get; set; }
public string UserName { get; set; }
/// <summary>
/// 角色集合
/// </summary>
public List<string> RoleIds { get; set; }
/// <summary>
/// 角色集合(数据权限过滤使用)
/// </summary>
public List<Roles> Roles { get; set; }
/// <summary>
/// Jwt过期时间
/// </summary>
public DateTime ExpireTime { get; set; }
/// <summary>
/// 权限集合
/// </summary>
//public List<string> Permissions { get; set; } = new List<string>();
public TokenModel()
{
}
public TokenModel(TokenModel info, List<Roles> roles)
{
UserId = info.UserId;
UserName = info.UserName;
DeptId = info.DeptId;
Roles = roles;
RoleIds = roles.Select(f => f.RoleKey).ToList();
}
}
public class Roles
{
public long RoleId { get; set; }
public string RoleKey { get; set; }
public int DataScope { get; set; }
}
}