| Package Name | Version | Downloads |
|---|---|---|
| SuperShortLink.Core |
是一个基于.NET开源的短链生成及监控系统,它包含了短链的生成、短链跳转长链、短链访问次数以及Web监控页面,可以帮助我们更容易地生成短链、监控短链!
- 基于.NET 6开发的后端及Web管理界面
- 支持自定义短链长度
- 支持在线短链生成及跳转长链
- 统计短链访问次数
- 支持多种持久化方式:MySQL/PostgreSQL/SqlServer(2012及以上)
- 傻瓜式配置,开箱即用
通过Nuget安装包
Install-Package SuperShortLink.Core
下面提供一个简单的使用PostgreSQL,短链长度为6的Demo示例
public class Startup { //... public void ConfigureServices(IServiceCollection services) { //configuration services.AddShortLink(option => { option.ConnectionString = "Server=127.0.0.1;Port=5432;User Id=uid;Password=pwd;Database=db;"; option.DbType = DatabaseType.PostgreSQL; option.Secrect = "s9LFkgy5RovixI1aOf8UhdY3r4DMplQZJXPqebE0WSjBn7wVzmN2Gc6THCAKut"; option.CodeLength = 6; }); } }
[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; } }
-- ----------------------------
-- MySQL
-- ----------------------------
CREATE TABLE short_link (
id INT ( 11 ) NOT NULL AUTO_INCREMENT,
short_url VARCHAR ( 255 ) NOT NULL,
origin_url VARCHAR ( 255 ) NOT NULL,
create_time TIMESTAMP ( 0 ) NOT NULL,
update_time TIMESTAMP ( 0 ) NOT NULL,
access_count INT ( 11 ) NOT NULL,
PRIMARY KEY ( id ) USING BTREE
)
-- ----------------------------
-- PostgreSQL
-- ----------------------------
CREATE TABLE short_link (
id SERIAL NOT NULL,
short_url VARCHAR ( 128 ) NOT NULL,
origin_url VARCHAR ( 128 ) NOT NULL,
create_time TIMESTAMP NOT NULL,
update_time TIMESTAMP NOT NULL,
access_count INT4 NOT NULL
CONSTRAINT pk_short_link PRIMARY KEY ( id )
);
-- ----------------------------
-- SQLServer
-- ----------------------------
CREATE TABLE short_link (
id INT PRIMARY KEY IDENTITY ( 1, 1 ),
short_url VARCHAR ( 255 ) NOT NULL,
origin_url VARCHAR ( 255 ) NOT NULL,
create_time datetime2 ( 0 ) NOT NULL,
update_time datetime2 ( 0 ) NOT NULL,
access_count INT NOT NULL
);