基于NET Core 的Nuget包制作、发布和运用流程
开发缘由:公司需要调用天眼查-开放平台 ,验证客户的的营业执照信息是否在存续期,并将企业基本信息返回,之后和使用百度图文识别的企业信息进行对照是否一致。
前期准备
在网站中注册后,需要够买套餐。之后点击个人中心进入,点击左侧的我的接口,找到申请接口点击选择你要使用的接口,此次使用的是企业基本信息。
存放Nuget包目前我已知的是1.NuGet官网https://www.nuget.org 2.借助 Nexus Repository Manager 搭建私人的用于存放Nuget包的网站。
搭建私人网站较麻烦,本次使用第一种方式
一定要记住上图的Token值!!
Nuget包制作
1.新建两个.net Core 类库 ,方法如下:
2.新增加方法,用于调用天眼查获取企业信息
方法中的具体实现逻辑请参考 https://gitee.com/comstar-starHouse/KK.Client.git
解决方案中 IEISManager 为对外暴露的接口。EnterpriseMessageOutput 为返回值。TianYanChaServiceCollectionExtension 为第三方系统调用时作为启动项,传入Token
3.填写包、包版本、公司、作者、产品、进行打包
右键点击类库打开属性、生成,选择Release
点击打包 ,填写包、包版本、公司、作者、产品,勾选在构建时生成Nuget包
1.切换为Release ,2.重新生成解决方案 会在\bin\Release出现打包好的Nuget包
上传Nuget包
1.在https://www.nuget.org/中进行注册
2.点击Upload,点击Browse,将打包好的Nuget包上传
3.可以在用户管理处,点击Manage Packages中查看上传成功后的Nuget包
Nuget包使用
我是在自己做的一个 项目中进行测试使用的,项目中使用Swagger 访问后端的接口,所以使用Host作为启动项
(一)、准备配置信息
1.在解决方案的Host中引入Nuget包
<PackageReference Include="KK.EIS.TianYanCha" Version="1.0.1" />
2.在appsetting.json添加json串
"EISCode": {
"Token": "28131c23-cc0a-4cad-9e2b-6cb6485dd3a1"//为注册完天眼查-开放平台可以获得
},
3.在Startup 文件中的找到ConfigureServices方法,在其中加载appsetting.json 中的配置
public IServiceProvider ConfigureServices(IServiceCollection services)
{
services.AddTianYanChaEIS(x => {
x.Token = _appConfiguration["EISCode:Token"];
});
}
(二)、业务层调用
1.业务层添加Nuget包
<PackageReference Include="KK.EIS" Version="1.0.0" />
2.依赖注入,调用方法,传入的是 "统一社会信用代码"
public class EnterpriseMessageManager : DomainService
{
private IEISManager _eisManager;
public EnterpriseMessageManager(IEISManager eisManager)
{
_eisManager = eisManager;
}
/// <summary>
/// 调用天眼查查询企业基本信息
/// </summary>
/// <param name="companyMessage"></param>
/// <returns></returns>
public ResultMessage<EnterpriseMessageOutput> EnterpriseBasicInformationAsync(string companyMessage)
{
var result = _eisManager.EnterpriseBasicInformationQueryAsync(companyMessage);
return result;
}
3.返回信息
{
"result": {
"name": "中国移动通信集团有限公司",
"approvedTime": 1619452800000,
"regStatus": "存续",
"taxNumber": "911100007109250324",
"legalPersonName": "杨杰",
"regLocation": "北京市西城区金融大街29号",
"businessScope": "基础电信业务(具体经营范围以许可证为准,有效期至2029年1月6日);增值电信业务(具体经营范围以许可证为准);互联网视听节目服务、手机电视分发服务、IPTV传输服务(信息传输业其他许可有效期至2021年09月17日);制作、发行广播电视节目(时政、新闻及同类专题、专栏除外);经营与信息通信业务相关的系统集成、漫游结算清算、技术开发、技术服务、广告业务、设备销售和进出口业务等;国有资产投资及管理;业务培训、会议服务;设计、制作广告,利用自有媒体发布广告。(市场主体依法自主选择经营项目,开展经营活动;依法须经批准的项目,经相关部门批准后依批准的内容开展经营活动;不得从事国家和本市产业政策禁止和限制类项目的经营活动。)",
"creditCode": "911100007109250324",
"estiblishTime": 932572800000,
"toTime": null,
"regCapital": "30000000万人民币"
},
"targetUrl": null,
"success": true,
"error": null,
"unAuthorizedRequest": false,
"__abp": true
}