开发缘由:公司需要调用天眼查-开放平台 ,验证客户的的营业执照信息是否在存续期,并将企业基本信息返回,之后和使用百度图文识别的企业信息进行对照是否一致。

前期准备

在网站中注册后,需要够买套餐。之后点击个人中心进入,点击左侧的我的接口,找到申请接口点击选择你要使用的接口,此次使用的是企业基本信息。

存放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
}

这就是完整的过程

基于NET Core 的Nuget包制作、发布和运用流程的更多相关文章

  1. 一个技术汪的开源梦 —— 基于 .Net Core 的组件 Nuget 包制作 & 发布

    一个技术汪的开源梦 —— 目录 微软的 ASP.Net Core 强化了 Nuget 的使用,所有的 .Net Core 组件均有 Nuget 管理,所以有必要探讨一下 .Net Core 组件制作 ...

  2. 使用批处理根据项目工程文件生成Nuget包并发布(支持.NET Core)

    最近在使用之前自己编写的批处理给.NET Core项目打包时出问题了,发现之前的脚本根本不适用了,折腾了半天,总算解决了.因此在这里分享下经验,并且奉上整理好的脚本. Nuget包这里就不多介绍了,需 ...

  3. asp.net core 三 Nuget包管理

        参考连接:http://www.cnblogs.com/netcore2/p/7412891.html     这里的说明,基本就是学习了别人的文章,自己做了个备份     asp.net c ...

  4. 解决 .net core 中 nuget 包版本冲突问题

    今天在一个 asp.net core 项目中遇到了 nuget 包版本冲突的问题,错误信息如下: Version conflict detected for Microsoft.AspNet.WebA ...

  5. Nuget包制作最佳解决方案

    https://www.cnblogs.com/drea/p/8418717.html 最近研究ABP框架,下载其全套源码,想“据为己有”,这样添加功能或者修改源码的话就非常方便了,否则搭建项目直接用 ...

  6. 解决 .net core 中 nuget 包版本冲突问题[转载]

    今天在一个 asp.net core 项目中遇到了 nuget 包版本冲突的问题,错误信息如下: Version conflict detected for Microsoft.AspNet.WebA ...

  7. .Net core 还原Nuget包失败的解决方法

    今天是2018最后一天了,真是神奇的一年啊,写个博客压压惊,来年继续加油吧..... 正文: 当我们打开.net core 项目时候,发现输出提示nuget包还原失败,这个时候首先要考虑.Net Co ...

  8. 【NET Core】Nuget包发布流程

    1.新建一个.NET Core类库 2.新增一个方法,并编译项目 3.下载Nuget.exe,与刚才新建的类库放在同一目录下 下载地址:https://www.nuget.org/downloads ...

  9. 从一次解决Nancy参数绑定“bug”开始发布自己的第一个nuget包(上篇)

    起因 最近,同事跟我说,他们负责的一个Api程序出现了一些很奇怪的事情.这个Api是为环保局做的一个扬尘质控大屏提供数据的,底层是基于Nancy做的.因为发现有些接口的数据出现异常,他就去调试了一下, ...

  10. .NET Core 环境下使用命令行移除某个 nuget 包的具体方法

    .NET Core 使用Nuget包一般是先写入csproj文件,然后下载保存在\bin\Debug\netcoreapp2.0\publish\下,所以可以采用如下方案进行删除操作(其中netcor ...

随机推荐

  1. JQuery 修改用户信息

    JQuery 修改用户信息,多项选择,赋值,框架: https://www.h-ui.net/v3.shtml $(data.data.roleList).each(function (i, val) ...

  2. linux 实时刷新显示当前时间

    同步阿里云时间 ntpdate ntp1.aliyun.com 使用watch命令:周期性的执行一个命令,并全屏显示. watch -n 1 date 即可:每1秒刷新date命令. # 格式 wat ...

  3. Linux--修改会话超时时间

    控制用户在一段时间内没有活动时会话的自动注销时间 1.修改ssh配置文件(适用于SSH会话) vim /etc/ssh/sshd_config ClientAliveInterval 1800 #秒 ...

  4. Spark Final-Examination Note

    重点 4567,Special 4,5 3道编程题,分值 35(基本书上,不超纲) 选填各 20分,简答 5 题/25分,编程题 3题/35分. 简答题参考每章课后习题 第 1 章简答题 1. 请阐述 ...

  5. Codeforces Round #669 (Div. 2) A、B题题解

    Problem A - Ahahahahahahahaha https://codeforces.com/contest/1407/problem/A 题意: 给定一个偶数数组(元素值 0,1),在删 ...

  6. 揭秘 vivo 如何打造千万级 DAU 活动中台 - 启航篇

    本文首发于 vivo互联网技术 微信公众号 链接:  https://mp.weixin.qq.com/s/Ka1pjJKuFwuVL8B-t7CwuA作者:悟空中台研发团队 vivo大厦(南京) 一 ...

  7. celery与django的结合以及定时任务配置

    一.conda创建新的开发环境 C:\Users\yc>conda create --name celery_django python=3.8 C:\Users\yc>conda inf ...

  8. vue 状态管理 五、Module用法

    系列导航 vue 状态管理 一.状态管理概念和基本结构 vue 状态管理 二.状态管理的基本使用 vue 状态管理 三.Mutations和Getters用法 vue 状态管理 四.Action用法 ...

  9. Nacos注册中心搭建

    1.Nacos服务端搭建(需要有java环境),下载地址:https://github.com/alibaba/Nacos/releases 下载对应操作系统的包解压. 1.1.解压:tar -zxv ...

  10. 《深入理解计算机系统》实验五 —— Perfom Lab

    本次实验是CSAPP的第5个实验,这次实验主要是让我们熟悉如何优化程序,如何写出更具有效率的代码.通过这次实验,我们可以更好的理解计算机的工作原理,在以后编写代码时,具有能结合软硬件思考的能力. @ ...