『SuperShortLink』.NET开源的超级短链系统——快速实现长短链的转换及监控

这篇具有很好参考价值的文章主要介绍了『SuperShortLink』.NET开源的超级短链系统——快速实现长短链的转换及监控。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

『SuperShortLink』.NET开源的超级短链系统——快速实现长短链的转换及监控
『SuperShortLink』.NET开源的超级短链系统——快速实现长短链的转换及监控
📣读完这篇文章里你能收获到

  • 了解博主的开源短链项目SuperShortLink
  • 学习长链转短链、短链跳转长链、短链访问统计的原理及方法
  • 掌握内部其他项目的多种接入方式

『SuperShortLink』.NET开源的超级短链系统——快速实现长短链的转换及监控

『SuperShortLink』.NET开源的超级短链系统——快速实现长短链的转换及监控

一、SuperShortLink

这是博主开源的一个基于.NET开源的短链生成及监控系统,它包含了在线生成短链、短链跳转长链、支持短链访问次数以及Web监控页面,可以帮助我们更容易地生成短链、监控短链!

1. 源码地址

  • https://github.com/Bryan-Cyf/SuperShortLink

2. 功能介绍

  • 基于.NET 6开发的后端及Web管理界面
  • 支持自定义短链长度
  • 支持在线短链生成及跳转长链
  • 支持实时统计短链访问次数
  • 支持多种持久化方式:MySQL/PostgreSQL/SqlServer(2012及以上)
  • 傻瓜式配置,开箱即用

3. 架构设计文档

  • 『造轮子』亿级短URL生成器的架构设计及源码分享

『SuperShortLink』.NET开源的超级短链系统——快速实现长短链的转换及监控

二、构建运行项目

1. 运行项目

Step 1 : 打开项目
通过VisualStudio打开 SuperShortLink.sln

Step 2 : 配置数据库

  • 可选:MySQL/PostgreSQL/SqlServer(2012及以上)
  • appsetting.json文件中更新连接字符串
"ShortLink": {
    "Secrect": "vZCN8VhSge13UQrYjBTwKulWqsIOAocL0DkmRdxPMJf5tiHbn72z69aXpGyFE4",// 随机打乱的Base62编码
    "CodeLength": 6, //短链长度
    "DbType": "PostgreSQL", //DatabaseType:MySQL/PostgreSQL/SqlServer(仅支持SQL Server2012及以上)
    "ConnectionString": "Server=127.0.0.1;Port=5432;User Id=uid;Password=pwd;Database=test_db;",//数据库链接字符串
    "LoginAcount": "admin",   //登陆账号
    "LoginPassword": "123456" //登陆密码
}

Step 3 : 执行数据库建表SQL 建表SQL语句

Step 4 : 运行项目

  • 登陆管理后台:{域名}/home/index
  • 默认登陆账号密码:admin 123456

2. 配置更新

  • 修改账号密码:更新appsetting.json的LoginAcount及LoginPassword
  • 修改随机秘钥:可直接运行测试用例随机生成新秘钥:ShortLinkTest/Generate_Key_Be_Valid,然后更新appsetting.json的Secrect

『SuperShortLink』.NET开源的超级短链系统——快速实现长短链的转换及监控

三、项目接入

1. 通过API扩展类库接入(推荐)

API类库是基于HTTP请求,适合将接口开放给其他平台/系统调用,对应用屏蔽了Token,时间戳,应用Code等所需携带的请求细节

Step 1 : 安装包,通过Nuget安装包

Install-Package SuperShortLink.Api

Step 2 : 配置 Startup 启动类

public class Startup
{
    //...
    
    public void ConfigureServices(IServiceCollection services)
    {
        //configuration
        services.AddShortLinkApi(option =>
        {
            option.ApiDomain = "短链服务域名";
            option.AppSecret = "应用秘钥";
            option.AppCode = "应用Code";
        });
    }    
}

Step 3 : IShortLinkApiService服务接口使用

[Route("api/[controller]/[Action]")]
public class ShortLinkController : Controller
{
    private readonly IShortLinkApiService _apiService;
    public ShortLinkController(IShortLinkApiService apiService)
    {
        _apiService = apiService;
    }

    /// <summary>
    /// 解析生成短网址
    /// </summary>
    /// <param name="url">长链接</param>
    /// <returns></returns>
    [HttpPost]
    public async Task<string> Generate(string url)
    {
        var short_url = await _apiService.GenerateAsync(url);
        return short_url;
    }
}

2. 通过Core扩展类库接入

Core类库是直连数据库的,适合由内部平台/系统调用,不需经过授权验证

Step 1 : 安装包,通过Nuget安装包

Install-Package SuperShortLink.Core

Step 2 : 配置 Startup 启动类

public class Startup
{
    //...
    
    public void ConfigureServices(IServiceCollection services)
    {
        //configuration
        services.AddShortLink(option =>
        {
            option.ConnectionString = "数据库链接";
            option.DbType = "数据库类型";//可选:DatabaseType.PostgreSQL/MySQL/SqlServer
            option.Secrect = "打乱后的Base62编码",
            option.CodeLength = "短链长度";
        });
    }    
}

Step 3 : IShortLinkService服务接口使用

[Route("api/[controller]/[Action]")]
public class ShortLinkController : Controller
{
    private readonly IShortLinkService _shortLinkService;
    public ShortLinkController(IShortLinkService shortLinkService)
    {
        _shortLinkService = shortLinkService;
    }

    /// <summary>
    /// 解析生成短网址
    /// </summary>
    /// <param name="url">长链接</param>
    /// <returns></returns>
    [HttpPost]
    public async Task<string> Generate(string url)
    {
        var short_url = await _shortLinkService.GenerateAsync(url);
        return short_url;
    }
}

『SuperShortLink』.NET开源的超级短链系统——快速实现长短链的转换及监控
『SuperShortLink』.NET开源的超级短链系统——快速实现长短链的转换及监控文章来源地址https://www.toymoban.com/news/detail-420983.html

到了这里,关于『SuperShortLink』.NET开源的超级短链系统——快速实现长短链的转换及监控的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于.NET6.0完全开源的MiniX后台管理系统,全端免费开源

    介绍 基于.NET 6.0打造的成熟后台管理系统框架,完全开源免费免费,集成了LayUI,操作界面友好!已应用到上百个项目,经过多年的沉淀,开源给广大用户使用。 整套架构包含后端\\\"miniAdmin\\\"+前端APP/小程序应用“miniAPP”+PC端“miniPC”,全栈开源,永久免费。 符合国家安全三级

    2024年02月11日
    浏览(48)
  • 基于ASP.NET MVC开发的、开源的个人博客系统

    推荐一个功能丰富、易于使用和扩展的开源博客,可以轻松地创建和管理自己的博客。 基于.Net Framework 4.5开发的、开源博客系统,具有丰富的功能,包括文章发布、分类、标签、评论、订阅、统计等功能,同时也可以根据需要进行自定义扩展。 提供了丰富的配置选项和API,

    2024年02月14日
    浏览(54)
  • .NET开源免费、企业级、可商用内容管理系统 - SSCMS

    今天给大家推荐一款基于.NET Core开源、企业级、可商用、能够以最低的成本、最少的人力投入在最短的时间内架设一个功能齐全、性能优异、规模庞大并易于维护的内容管理系统:SSCMS。 SSCMS 内容管理系统基于微软 .NET Core 平台开发,用于创建在 Windows、Linux、Mac 以及 Docker 上

    2024年01月18日
    浏览(54)
  • 一个基于.NET Core开源、跨平台的仓储管理系统

    今天给大家推荐一个基于.NET Core开源、跨平台的仓储管理系统,数据库支持MSSQL/MySQL:ZEQP.WMS。 仓储管理系统(Warehouse Management System,WMS)是一种用于管理和控制仓库操作的软件系统,它可以帮助企业实现对仓库内物品的跟踪、存储、拣选、包装和发运等全过程管理,提高仓

    2024年02月21日
    浏览(150)
  • 基于.Net5+Vue+iView前后端分离通用权限开源系统

    在Github上,.Net通用的权限框架非常多,功能也都比较强大,但是对于很多初学者来说,想要从零学习框架的搭建,就比较困难了。 所以,今天给大家推荐一套比较简单的前后端分离通用权限系统。 这是一个基于.Net5+Vue+iView开发的、前后端分离通用权限系统,系统采用三层架

    2024年02月03日
    浏览(33)
  • 推荐一款基于 .NET Core开源的小程序商城系统

    由于疫情的缘故,很多商家都把线下的战场转移到线上了。而小程序就成为商家越来越看中的新战场,因为它能够帮助克服疫情对于经济的影响,开辟新的零售模式。今天就给大家推荐一款开源的小程序商城系统。 项目简介 这个是一个基于 .NET Core构建的简单、跨平台、模块

    2024年02月09日
    浏览(42)
  • 低代码开发平台,快速搭建开源MES系统

    MS低代码云MES作为一家专注于提供生产制造数字化方案的服务商,“以客户为中心”、以“数据驱动、智能化、互联化”为企业的核心标签,以低代码平台为切入点,帮助企业构建以人为本的未来供应链生态系统,实现制造企业的智能化转型。 一、 云MES主要功能场景: 低代

    2024年04月09日
    浏览(57)
  • Taurus .Net Core 微服务开源框架:Admin 插件【2】 - 系统环境信息管理

    继上篇:Taurus .Net Core 微服务开源框架:Admin 插件【1】 - 微服务节点管理 本篇继续介绍下一个内容:  基本信息如上图,重点的几个参数: 其它就不另外单独翻译了。 默认 NetCore 整体程序集加载的有点多,达100多个。 默认网关的应用程序的程序集是3个,其余全是公共运行

    2024年02月11日
    浏览(41)
  • 界面控件DevExpress ASP.NET Scheduler - 助力快速交付个人信息管理系统(上)

    DevExpress ASP. NET Scheduler组件能完全复制Microsoft Outlook Scheduler的样式和功能,具有日、周、月和时间轴视图,并包括内置的打印支持,因此用户可以在尽可能短的时间内交付全功能的个人信息管理系统。 P.S :DevExpress ASP.NET Web Forms Controls拥有针对Web表单(包括报表)的110+种UI控

    2024年03月11日
    浏览(44)
  • Taurus .Net Core 微服务开源框架:Admin 插件【2】 - 系统环境信息管理 - 【OS、Assembly】

    继上篇:Taurus .Net Core 微服务开源框架:Admin 插件【1】 - 微服务节点管理 本篇继续介绍下一个内容:  基本信息如上图,重点的几个参数: 其它就不另外单独翻译了。 默认 NetCore 整体程序集加载的有点多,达100多个。 默认网关的应用程序的程序集是3个,其余全是公共运行

    2024年02月11日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包