Toolkit and extracted reusable parts for ASP.NET Core projects


Keywords
License
MIT
Install
Install-Package Husky.Alipay -Version 8.0.0

Documentation

Husky

contact me at chenwx521#hotmail.com (replace # to @)

For asp.net core 3.1 or later versions.

Components

Husky.Alipay -- 简化封装支付宝接口常用方法,方便编码,快速使用

Husky.AliyunSms -- 封装阿里云手机短信服务接口方法

Husky.DataAudit -- 数据库自动建立Audit更新记录 (该项目未充分测试)

Husky.Diagnostics -- 自动将程序异常和URL访问记录到指定的数据库

Husky.GridQuery -- 快速适配kendoGrid,需要脚本(二次封装脚本稍晚提供)

Husky.Helper -- 常用便捷方法及常用模型对象

Husky.Html -- 快速输出HTML(适配bootstrap4)(该项目未充分测试)

Husky.KeyValues -- 快速建立Key/Values配置表到指定数据库(更具体使用演示稍晚提供)

Husky.Mail -- 简化封装发送邮件功能

Husky.Principal -- 当前用户身份信息保存和验证

Husky.Principal.SessionData -- 实现当前用户会话数据缓存功能

Husky.TwoFactor -- 简化实现短消息二次验证

Husky.WeChatIntegration -- 简化微信API访问请求

Example

//put these at ConfigureServices in Startup.cs

public class Startup {

public Startup(IConfiguration configuration) {
	Configuration = configuration;
}

public IConfiguration Configuration { get; }

public void ConfigureServices(IServiceCollection services) {
	//Config
	services.AddSingleton(Configuration);
	Crypto.PermanentToken = Configuration.GetValue<string>("Security:PermanentToken");

	var defaultConnectionString = Configuration.SeekConnectionString<MainDbContext>();

	//Husky
	services.Husky()
		.AddPrincipal(IdentityCarrier.Cookie, new IdentityOptions { SessionMode = true })
		.AddDiagnostics(x => x.UseSqlServer(defaultConnectionString).Migrate())	   //Migrate() makes sure to create the database and update to latest
		.AddKeyValueManager(x => x.UseSqlServer(defaultConnectionString).Migrate())
		.AddMailSender(x => x.UseSqlServer(defaultConnectionString).Migrate())
		.AddTwoFactor(x => x.UseSqlServer(defaultConnectionString).Migrate())
		.AddAliyunSms(Configuration.GetSection("AliyunSms").Get<AliyunSmsSettings>())
		.AddWeChatIntegration(Configuration.GetSection("WeChat").Get<WeChatAppConfig>())
		;
  
	// .....

	//AspNetCore
	services.AddMvc(mvc => {
		mvc.Filters.Add<ExceptionLogHandlerFilter>();
		mvc.Filters.Add<RequestLogHandlerFilter>();
		//.....
	});

	//.....
}

//.....

}