Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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

License

Notifications You must be signed in to change notification settings

Maoter/SuperShortLink

Repository files navigation

GitHub license

Nuget包

Package Name Version Downloads
SuperShortLink.Core

SuperShortLink

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


功能介绍

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

Web界面


基本使用

Step 1 : 安装包

通过Nuget安装包

Install-Package SuperShortLink.Core

Step 2 : 配置 Startup 启动类

下面提供一个简单的使用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;
 });
 } 
}

Step 3 : Controller接口定义

[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;
 }
}

更多示例

  1. 查看 使用例子
  2. 查看 测试用例

建表SQL

MySQL

-- ----------------------------
-- 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

-- ----------------------------
-- 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

-- ----------------------------
-- 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 
);

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 93.1%
  • SCSS 3.1%
  • CSS 1.9%
  • C# 0.9%
  • Less 0.8%
  • HTML 0.2%

AltStyle によって変換されたページ (->オリジナル) /