This commit is contained in:
CortexCore 2024-05-31 01:15:58 +08:00
parent 8587fb2301
commit eac28d17ec
15 changed files with 501 additions and 62 deletions

View File

@ -34,6 +34,28 @@
<None Remove="src\Services.meta" /> <None Remove="src\Services.meta" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<Compile Remove="Packages\Common~\**" />
<Compile Remove="Packages\Editor\**" />
<Compile Remove="Packages\Runtime\**" />
<Compile Remove="Packages\Core\Cache\**" />
<Compile Remove="Packages\Tests\**" />
<Compile Remove="Packages\Runtime~\Unity\**" />
<Compile Remove="Packages\Runtime~\UnityPluginsSupport\**" />
<Compile Remove="Src\Unity\**" />
<Compile Remove="Src\UnityPluginsSupport\**" />
<Compile Remove="Src\UnityEditor\**" />
</ItemGroup>
<ItemGroup>
<!-- 排除Unity文件 -->
<None Remove="**\*.meta"/>
<None Remove="**\*.asmdef"/>
<None Remove="Src\Unity\**" />
<None Remove="Src\UnityPluginsSupport\**" />
<None Remove="Src\UnityEditor\**" />
</ItemGroup>
<ItemGroup> <ItemGroup>

View File

@ -11,4 +11,69 @@ namespace IDIS.Models
public const string AddressRegex = @"^\d{1,3}\.\d{1,3}\.\d{1,3}/[A-Za-z0-9]{1,32}$"; public const string AddressRegex = @"^\d{1,3}\.\d{1,3}\.\d{1,3}/[A-Za-z0-9]{1,32}$";
public const string Prefix = @"^\d{1,3}\.\d{1,3}\.\d{1,3}$"; public const string Prefix = @"^\d{1,3}\.\d{1,3}\.\d{1,3}$";
} }
public enum MajorIndustryCode
{
A = 1, // 农、林、牧、渔业
B = 2, // 采矿业
C = 3, // 制造业
D = 4, // 电力、热力、燃气及水生产和供应业
E = 5, // 建筑业
F = 6, // 批发和零售业
G = 7, // 交通运输、仓储和邮政业
H = 8, // 住宿和餐饮业
I = 9, // 信息传输、软件和信息技术服务业
J = 10, // 金融业
K = 11, // 房地产业
L = 12, // 租赁和商务服务业
M = 13, // 科学研究和技术服务业
N = 14, // 水利、环境和公共设施管理业
O = 15, // 居民服务、修理和其他服务业
P = 16, // 教育
Q = 17, // 卫生和社会工作
R = 18, // 文化、体育和娱乐业
S = 19, // 公共管理、社会保障和社会组织
T = 20 // 国际组织
}
public enum MinorIndustryCode
{
Agriculture = 1, // 农业
Forestry = 2, // 林业
AnimalHusbandry = 3, // 畜牧业
Fishery = 4, // 渔业
// ... Add similar entries for other codes
}
public enum EnterpriseTypeCode
{
GovernmentAgency = 1, // 政府机关
ResearchInstitution = 2, // 研究机构
SocialOrganization = 3, // 社会团体
EnterpriseUnit = 4 // 企业事业单位
}
public enum BusinessLicenseCode
{
BusinessLicense = 1, // 营业执照
TaxCertificate = 2, // 税务证
OrganizationCodeCertificate = 3, // 组织机构代码证
SafetyProductionLicense = 4, // 安全生产许可证
IndustrialProductProductionLicense = 5 // 工业产品生产许可证或许可证
}
public enum CreditType
{
UnifiedSocialCreditCode = 1, // 统一社会信用代码
Other = 3 // 其他
}
public enum DocumentTypeCode
{
ChineseResidentIDCard = 1, // 中国居民身份证
HongKongMacaoResidentsMainlandTravelPermit = 2, // 港澳居民往来内地通行证
TaiwanResidentsMainlandTravelPermit = 3, // 台湾居民往来大陆通行证
ForeignPermanentResidentIDCard = 4, // 外国人永久居留身份证
HongKongMacaoTaiwanResidentsResidencePermit = 5, // 港澳台居民居住证
Passport = 6 // 护照
}
} }

View File

@ -0,0 +1,271 @@
using System.ComponentModel.DataAnnotations;
using Newtonsoft.Json;
using System;
namespace IDIS.Models
{
/// <summary>
/// IDIS 查询企业的结果
/// </summary>
public record IDIS_EnterpriseData
{
/// <summary>
/// 前缀名称
/// </summary>
[JsonProperty("prefix")]
public string Prefix { get; set; }
/// <summary>
/// 前缀创建时间
/// </summary>
[JsonProperty("createDate")]
public DateTime CreateDate { get; set; }
/// <summary>
/// 前缀注册服务机构
/// </summary>
[JsonProperty("ghrName")]
public string GhrName { get; set; }
/// <summary>
/// 前缀状态
/// </summary>
[JsonProperty("status")]
public int Status { get; set; }
/// <summary>
/// 企业中文名称
/// </summary>
[JsonProperty("entNameCn")]
public string EntNameCn { get; set; }
/// <summary>
/// 企业官方地址
/// </summary>
[JsonProperty("entSite")]
public string EntSite { get; set; }
/// <summary>
/// 企业所属行业
/// </summary>
[JsonProperty("entIndustry")]
public string EntIndustry { get; set; }
/// <summary>
/// 企业中文地址
/// </summary>
[JsonProperty("entAddrCn")]
public string EntAddrCn { get; set; }
/// <summary>
/// 企业简介
/// </summary>
[JsonProperty("entDesc")]
public string EntDesc { get; set; }
}
/// <summary>
/// IDIS Enterprise class
/// </summary>
public record IDIS_Enterprise
{
/// <summary>
/// System user information
/// </summary>
public record SystemUserInfo
{
/// <summary>
/// User name
/// </summary>
[JsonProperty("userName")]
#if NET5_0_OR_GREATER
[Key]
#endif
public string UserName { get; set; }
/// <summary>
/// User email
/// </summary>
[JsonProperty("email")]
public string EMail { get; set; }
/// <summary>
/// User mobile
/// </summary>
[JsonProperty("mobile")]
public string Mobile { get; set; }
/// <summary>
/// User password
/// </summary>
[JsonProperty("password")]
public string Password { get; set; }
/// <summary>
/// User remarks
/// </summary>
[JsonProperty("remarks")]
public string Remark { get; set; }
}
/// <summary>
/// Enterprise qualification information
/// </summary>
public record EnterpriseInfo
{
/// <summary>
/// Enterprise email
/// </summary>
[JsonProperty("email")]
public string EMail { get; set; }
/// <summary>
/// Enterprise detailed address
/// </summary>
[JsonProperty("entAddrCn")]
public string AddressCN { get; set; }
/// <summary>
/// City code
/// </summary>
[JsonProperty("entCityCode")]
public string CityCode { get; set; }
/// <summary>
/// County code
/// </summary>
[JsonProperty("entCountyCode")]
public string CountyCode { get; set; }
/// <summary>
/// Credit code
/// </summary>
#if NET5_0_OR_GREATER
[Key]
#endif
[JsonProperty("entCrtCode")]
public string CreditCode { get; set; }
/// <summary>
/// Business license image Base64 encoding
/// </summary>
[JsonProperty("entCrtImgContent")]
public string CreditImageContent { get; set; }
/// <summary>
/// Business license type code
/// </summary>
[JsonProperty("entCrtType")]
public CreditType CreditType { get; set; }
/// <summary>
/// Enterprise remarks
/// </summary>
[JsonProperty("entDesc")]
public string Descption { get; set; }
/// <summary>
/// Major industry code
/// </summary>
[JsonProperty("entIndustry")]
public MajorIndustryCode Industry { get; set; }
/// <summary>
/// Enterprise name
/// </summary>
[JsonProperty("entNameCn")]
public string NameCN { get; set; }
/// <summary>
/// Province code
/// </summary>
[JsonProperty("entProvinceCode")]
public string ProvinceCode { get; set; }
/// <summary>
/// Minor industry code
/// </summary>
[JsonProperty("entTrade")]
public MinorIndustryCode Trade { get; set; }
/// <summary>
/// Enterprise type code
/// </summary>
[JsonProperty("entType")]
public EnterpriseTypeCode Type { get; set; }
/// <summary>
/// Enterprise website
/// </summary>
[JsonProperty("entWebSite")]
public string WebSite { get; set; }
/// <summary>
/// Legal person ID card attachment back image Base64 encoding
/// </summary>
[JsonProperty("legalpIdImgBackContent")]
public string LegalPersonIdImageBackContent { get; set; }
/// <summary>
/// Legal person ID card attachment front image Base64 encoding
/// </summary>
[JsonProperty("legalpIdImgFrontContent")]
public string LegalPersonIdImageFrontContent { get; set; }
/// <summary>
/// Legal person ID number
/// </summary>
[JsonProperty("legalpIdno")]
public string LegalPersonIdNumber { get; set; }
/// <summary>
/// Legal person ID type code
/// </summary>
[JsonProperty("legalpIdtype")]
public DocumentTypeCode LegalPersonIdType { get; set; }
/// <summary>
/// Legal person name
/// </summary>
[JsonProperty("legalpName")]
public string LegalPersonIdName { get; set; }
/// <summary>
/// Contact mobile
/// </summary>
[JsonProperty("mobile")]
public string Mobile { get; set; }
/// <summary>
/// Enterprise remarks
/// </summary>
[JsonProperty("remarks")]
public string Remarks { get; set; }
/// <summary>
/// Enterprise prefix
/// </summary>
[JsonProperty("entPrefix")]
public string Prefix { get; set; }
/// <summary>
/// Contact name
/// </summary>
[JsonProperty("contactName")]
public string ContactName { get; set; }
}
/// <summary>
/// 用户信息
/// </summary>
[JsonProperty("sysUser")]
public SystemUserInfo SystemUser { get; set; } = new();
/// <summary>
/// 企业资质信息
/// </summary>
[JsonProperty("entApply")]
public EnterpriseInfo EnterpriseApply { get; set; } = new();
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 443bc48d302bbc74b8fd1383e434d69d
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,4 +1,7 @@
using System;
using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Linq;
using System.Reflection; using System.Reflection;
using IDIS.Models; using IDIS.Models;
using Newtonsoft.Json; using Newtonsoft.Json;

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: cfb3d4d85704cd84999361bc352942c3
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,35 +1,39 @@
using System;
using Newtonsoft.Json; using Newtonsoft.Json;
namespace IDIS.Models; namespace IDIS.Models
[Serializable]
public record IDIS_Query_Data
{ {
public record QueryData [Serializable]
public record IDIS_Query_Data
{ {
[JsonProperty("format")]
public string Format; public record QueryData
{
[JsonProperty("format")]
public string Format;
[JsonProperty("value")]
public string Value;
}
public record QueryInfo
{
[JsonProperty("data")]
public QueryData Data;
[JsonProperty("auth")]
public string Auth;
[JsonProperty("index")]
public int Index;
[JsonProperty("type")]
public string Type;
}
[JsonProperty("code")]
public int Code;
[JsonProperty("prefix")]
public string Prefix;
[JsonProperty("handle")]
public string Handle;
[JsonProperty("templateVersion")]
public string TemplateVersion;
[JsonProperty("value")] [JsonProperty("value")]
public string Value; public QueryInfo[] Value=Array.Empty<QueryInfo>();
} }
public record QueryInfo
{
[JsonProperty("data")]
public QueryData Data;
[JsonProperty("auth")]
public string Auth;
[JsonProperty("index")]
public int Index;
[JsonProperty("type")]
public string Type;
}
[JsonProperty("code")]
public int Code;
[JsonProperty("prefix")]
public string Prefix;
[JsonProperty("handle")]
public string Handle;
[JsonProperty("templateVersion")]
public string TemplateVersion;
[JsonProperty("value")]
public QueryInfo[] Value=Array.Empty<QueryInfo>();
} }

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 764c221188a49bb4688c8741d85f1b91
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,36 +1,37 @@
using Newtonsoft.Json; using Newtonsoft.Json;
namespace IDIS.Models; namespace IDIS.Models
/// <summary>
/// 用于序列化的注册数据结构
/// </summary>
public class IDIS_Register_Data
{ {
public record ValueData /// <summary>
/// 用于序列化的注册数据结构
/// </summary>
public class IDIS_Register_Data
{ {
[JsonProperty("format")] public record ValueData
public string Format; {
[JsonProperty("value")] [JsonProperty("format")]
public string Value; public string Format;
[JsonProperty("value")]
public string Value;
} }
public record ValueInfo public record ValueInfo
{ {
[JsonProperty("auth")] [JsonProperty("auth")]
public string Auth; public string Auth;
[JsonProperty("index")] [JsonProperty("index")]
public int Index; public int Index;
[JsonProperty("data")] [JsonProperty("data")]
public ValueData Data; public ValueData Data=new();
[JsonProperty("type")] [JsonProperty("type")]
public string Type; public string Type;
} }
[JsonProperty("handle")] [JsonProperty("handle")]
public required string Handle; public string Handle;
[JsonProperty("templateVersion")] [JsonProperty("templateVersion")]
public required string TemplateVersion; public string TemplateVersion;
[JsonProperty("value")] [JsonProperty("value")]
public required ValueInfo[] Value; public ValueInfo[] Value;
}
} }

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: bc081ed7411fa8c47b8cf9b0b03e4678
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -18,7 +18,7 @@ namespace IDIS.Models
public string Name { get; set; } = string.Empty; public string Name { get; set; } = string.Empty;
[JsonProperty("idType")] [JsonProperty("idType")]
public string IdType { get; set; } = string.Empty; public string IdType { get; set; } = string.Empty;
[JsonProperty("metaData")]
public IDIS_Template_Item_MetaData MetaData { get; set; } [JsonProperty("metaData")] public IDIS_Template_Item_MetaData MetaData { get; set; } = new();
} }
} }

View File

@ -14,10 +14,9 @@ namespace IDIS
{ {
Type = type; Type = type;
} }
[JsonProperty("type")] public string Type { get; set; } = nameof(String); [JsonProperty("type")] public string Type { get; set; } = "string";
[JsonProperty("minLength")] [JsonProperty("minLength")]
public int MinLength { get; set; } public int MinLength { get; set; }
[JsonProperty("maxLength")] [JsonProperty("maxLength")] public int MaxLength { get; set; } = 255;
public int MaxLength { get; set; }
} }
} }

View File

@ -0,0 +1,13 @@
using Cysharp.Threading.Tasks;
namespace IDIS.Models
{
public interface IDIS_EnterpriseService
{
public UniTask RegisterAsync(IDIS_Enterprise.SystemUserInfo userInfo, IDIS_Enterprise.EnterpriseInfo enterpriseInfo);
public UniTask<IDIS_Enterprise.EnterpriseInfo[]> GetEnterprisesAsync();
public UniTask<IDIS_Enterprise.SystemUserInfo[]> GetSystemUsersAsync();
public UniTask<IDIS_EnterpriseData> GetEnterpriseAsync(string prefix);
public UniTask<IDIS_Enterprise.SystemUserInfo> GetSystemUserAsync(string userName);
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 37c8be2177c3a8a44a9f92a944ccab2c
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -73,6 +73,12 @@ namespace IDIS.Services
/// <returns><see cref="IDIS_Response"/></returns> /// <returns><see cref="IDIS_Response"/></returns>
UniTask<IDIS_Query_Data> QueryAsync(string code); UniTask<IDIS_Query_Data> QueryAsync(string code);
/// <summary>
/// 异步获取所有标识
/// </summary>
/// <returns></returns>
UniTask<IDIS_Query_Data[]> ToArrayAsync();
/// <summary> /// <summary>
/// 标识码是否已注册 /// 标识码是否已注册
/// </summary> /// </summary>