基于NET Core 的Nuget包制作、发布和运用流程解析(完整过程)

作者:悟自省 时间:2022-03-10 01:09:29 

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

前期准备

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

存放Nuget包目前我已知的是1.NuGet官网https://www.nuget.org 2.借助 Nexus Repository Manager 搭建私人的用于存放Nuget包的网站。
搭建私人网站较麻烦,本次使用第一种方式

基于NET Core 的Nuget包制作、发布和运用流程解析(完整过程)

基于NET Core 的Nuget包制作、发布和运用流程解析(完整过程)

一定要记住上图的Token值!!

Nuget包制作

1.新建两个.net Core 类库 ,方法如下:

基于NET Core 的Nuget包制作、发布和运用流程解析(完整过程)

2.新增加方法,用于调用天眼查获取企业信息

方法中的具体实现逻辑请参考 https://gitee.com/comstar-starHouse/KK.Client.git

基于NET Core 的Nuget包制作、发布和运用流程解析(完整过程)

解决方案中 IEISManager 为对外暴露的接口。EnterpriseMessageOutput 为返回值。TianYanChaServiceCollectionExtension 为第三方系统调用时作为启动项,传入Token

基于NET Core 的Nuget包制作、发布和运用流程解析(完整过程)

3.填写包、包版本、公司、作者、产品、进行打包

右键点击类库打开属性、生成,选择Release

基于NET Core 的Nuget包制作、发布和运用流程解析(完整过程)

点击打包 ,填写包、包版本、公司、作者、产品,勾选在构建时生成Nuget包

基于NET Core 的Nuget包制作、发布和运用流程解析(完整过程)

1.切换为Release ,2.重新生成解决方案 会在\bin\Release出现打包好的Nuget包

基于NET Core 的Nuget包制作、发布和运用流程解析(完整过程)

基于NET Core 的Nuget包制作、发布和运用流程解析(完整过程)

上传Nuget包

1.在https://www.nuget.org/中进行注册

2.点击Upload,点击Browse,将打包好的Nuget包上传

基于NET Core 的Nuget包制作、发布和运用流程解析(完整过程)

3.可以在用户管理处,点击Manage Packages中查看上传成功后的Nuget包

基于NET Core 的Nuget包制作、发布和运用流程解析(完整过程)

基于NET Core 的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
}

这就是完整的过程

来源:https://www.cnblogs.com/moonstars/p/15879063.html

标签:net,Core,Nuget,包
0
投稿

猜你喜欢

  • C#中DataTable和List互转的示例代码

    2022-08-25 21:40:06
  • C#字符串加密解密方法实例

    2022-01-11 23:30:14
  • 第一次使用Android Studio时你应该知道的一切配置(推荐)

    2022-01-08 00:49:38
  • 原来Java中有两个ArrayList

    2023-06-27 11:49:40
  • java开源区块链jdchain入门

    2022-08-07 11:44:44
  • spring-boot-maven-plugin:打包时排除provided依赖问题

    2023-07-18 02:12:11
  • 归并排序的原理及java代码实现

    2021-11-18 13:51:10
  • 基于Transactional事务的使用以及注意说明

    2022-02-24 12:23:08
  • java实现用户自动登录

    2023-11-10 14:38:59
  • 使用JMX连接JVM实现过程详解

    2022-07-25 23:05:45
  • Java基础学习之方法的重载知识总结

    2023-10-27 01:45:15
  • flutter TextField换行自适应的实现

    2023-06-21 01:21:39
  • JavaWeb工程中集成YMP框架快速上手

    2023-11-24 12:15:12
  • java微信公众号开发(搭建本地测试环境)

    2021-07-07 05:32:40
  • Docker学习之基于Dockerfile搭建JAVA Tomcat运行环境的方法

    2022-02-13 17:42:00
  • Java的接口调用时的权限验证功能的实现

    2023-08-09 11:15:06
  • Spring框架中一个有用的小组件之Spring Retry组件详解

    2021-05-27 10:07:40
  • Java双冒号(::)运算符使用详解

    2022-03-31 11:18:17
  • java 使用DecimalFormat进行数字的格式化实例详解

    2022-04-28 10:55:25
  • 浅谈Synchronized和Lock的区别

    2023-10-26 04:28:33
  • asp之家 软件编程 m.aspxhome.com