??讀完這篇文章里你能收獲到
- 了解博主的開源短鏈項(xiàng)目SuperShortLink
- 學(xué)習(xí)長鏈轉(zhuǎn)短鏈、短鏈跳轉(zhuǎn)長鏈、短鏈訪問統(tǒng)計(jì)的原理及方法
- 掌握內(nèi)部其他項(xiàng)目的多種接入方式
一、SuperShortLink
這是博主開源的一個(gè)基于.NET開源的短鏈生成及監(jiān)控系統(tǒng),它包含了在線生成短鏈、短鏈跳轉(zhuǎn)長鏈、支持短鏈訪問次數(shù)以及Web監(jiān)控頁面,可以幫助我們更容易地生成短鏈、監(jiān)控短鏈!
1. 源碼地址
- https://github.com/Bryan-Cyf/SuperShortLink
2. 功能介紹
- 基于.NET 6開發(fā)的后端及Web管理界面
- 支持自定義短鏈長度
- 支持在線短鏈生成及跳轉(zhuǎn)長鏈
- 支持實(shí)時(shí)統(tǒng)計(jì)短鏈訪問次數(shù)
- 支持多種持久化方式:MySQL/PostgreSQL/SqlServer(2012及以上)
- 傻瓜式配置,開箱即用
3. 架構(gòu)設(shè)計(jì)文檔
- 『造輪子』億級短URL生成器的架構(gòu)設(shè)計(jì)及源碼分享
二、構(gòu)建運(yùn)行項(xiàng)目
1. 運(yùn)行項(xiàng)目
Step 1 : 打開項(xiàng)目
通過VisualStudio打開 SuperShortLink.sln
Step 2 : 配置數(shù)據(jù)庫
- 可選:
MySQL
/PostgreSQL
/SqlServer
(2012及以上) - 在
appsetting.json
文件中更新連接字符串
"ShortLink": {
"Secrect": "vZCN8VhSge13UQrYjBTwKulWqsIOAocL0DkmRdxPMJf5tiHbn72z69aXpGyFE4",// 隨機(jī)打亂的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;",//數(shù)據(jù)庫鏈接字符串
"LoginAcount": "admin", //登陸賬號
"LoginPassword": "123456" //登陸密碼
}
Step 3 : 執(zhí)行數(shù)據(jù)庫建表SQL 建表SQL語句
Step 4 : 運(yùn)行項(xiàng)目
- 登陸管理后臺:{域名}/home/index
- 默認(rèn)登陸賬號密碼:admin 123456
2. 配置更新
- 修改賬號密碼:更新
appsetting.json
的LoginAcount及LoginPassword - 修改隨機(jī)秘鑰:可直接運(yùn)行測試用例隨機(jī)生成新秘鑰:
ShortLinkTest/Generate_Key_Be_Valid
,然后更新appsetting.json
的Secrect
三、項(xiàng)目接入
1. 通過API擴(kuò)展類庫接入(推薦)
API類庫是基于HTTP請求,適合將接口開放給其他平臺/系統(tǒng)調(diào)用,對應(yīng)用屏蔽了Token,時(shí)間戳,應(yīng)用Code等所需攜帶的請求細(xì)節(jié)
Step 1 : 安裝包,通過Nuget安裝包
Install-Package SuperShortLink.Api
Step 2 : 配置 Startup 啟動類
public class Startup
{
//...
public void ConfigureServices(IServiceCollection services)
{
//configuration
services.AddShortLinkApi(option =>
{
option.ApiDomain = "短鏈服務(wù)域名";
option.AppSecret = "應(yīng)用秘鑰";
option.AppCode = "應(yīng)用Code";
});
}
}
Step 3 : IShortLinkApiService服務(wù)接口使用
[Route("api/[controller]/[Action]")]
public class ShortLinkController : Controller
{
private readonly IShortLinkApiService _apiService;
public ShortLinkController(IShortLinkApiService apiService)
{
_apiService = apiService;
}
/// <summary>
/// 解析生成短網(wǎng)址
/// </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擴(kuò)展類庫接入
Core類庫是直連數(shù)據(jù)庫的,適合由內(nèi)部平臺/系統(tǒng)調(diào)用,不需經(jīng)過授權(quán)驗(yàn)證
Step 1 : 安裝包,通過Nuget安裝包
Install-Package SuperShortLink.Core
Step 2 : 配置 Startup 啟動類
public class Startup
{
//...
public void ConfigureServices(IServiceCollection services)
{
//configuration
services.AddShortLink(option =>
{
option.ConnectionString = "數(shù)據(jù)庫鏈接";
option.DbType = "數(shù)據(jù)庫類型";//可選:DatabaseType.PostgreSQL/MySQL/SqlServer
option.Secrect = "打亂后的Base62編碼",
option.CodeLength = "短鏈長度";
});
}
}
Step 3 : IShortLinkService服務(wù)接口使用文章來源:http://www.zghlxwxcb.cn/news/detail-420983.html
[Route("api/[controller]/[Action]")]
public class ShortLinkController : Controller
{
private readonly IShortLinkService _shortLinkService;
public ShortLinkController(IShortLinkService shortLinkService)
{
_shortLinkService = shortLinkService;
}
/// <summary>
/// 解析生成短網(wǎng)址
/// </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;
}
}
文章來源地址http://www.zghlxwxcb.cn/news/detail-420983.html
到了這里,關(guān)于『SuperShortLink』.NET開源的超級短鏈系統(tǒng)——快速實(shí)現(xiàn)長短鏈的轉(zhuǎn)換及監(jiān)控的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!