0


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


📣读完这篇文章里你能收获到

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

文章目录

一、SuperShortLink

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

1. 源码地址

2. 功能介绍

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

3. 架构设计文档

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

二、构建运行项目

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

三、项目接入

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

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

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

Install-Package Pandora.ShortLink.Api

Step 2 : 配置 Startup 启动类

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

Step 3 : IShortLinkApiService服务接口使用

[Route("api/[controller]/[Action]")]publicclassShortLinkController:Controller{privatereadonlyIShortLinkApiService _apiService;publicShortLinkController(IShortLinkApiService apiService){
        _apiService = apiService;}/// <summary>/// 解析生成短网址/// </summary>/// <param name="url">长链接</param>/// <returns></returns>[HttpPost]publicasyncTask<string>Generate(string url){var short_url =await _apiService.GenerateAsync(url);return short_url;}}

2. 通过Core扩展类库接入

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

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

Install-Package Pandora.ShortLink.Core

Step 2 : 配置 Startup 启动类

publicclassStartup{//...publicvoidConfigureServices(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]")]publicclassShortLinkController:Controller{privatereadonlyIShortLinkService _shortLinkService;publicShortLinkController(IShortLinkService shortLinkService){
        _shortLinkService = shortLinkService;}/// <summary>/// 解析生成短网址/// </summary>/// <param name="url">长链接</param>/// <returns></returns>[HttpPost]publicasyncTask<string>Generate(string url){var short_url =await _shortLinkService.GenerateAsync(url);return short_url;}}
标签: 开源 .net 短链

本文转载自: https://blog.csdn.net/qq_34202873/article/details/130222045
版权归原作者 老陈聊架构 所有, 如有侵权,请联系我们删除。

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

还没有评论