FreeKit.Platform
简介
Platform 是一个综合性平台服务模块,提供多种基础业务能力,包括行政区域管理、用户地址管理、定时任务、代码生成、热点数据聚合等功能。
功能模块
基础服务
- 行政区域管理 (Area)
- 提供中国行政区域数据维护
- 用户地址 (UserAddress)
- 用户收货地址管理
- 定时任务 (TaskInfo)
- 任务调度与管理
开发工具
- 代码生成 (CG)
- 数据库配置 (DbConfig)
- 任务构建 (TaskBuild)
- 代码模板 (Template)
用户服务
- 用户积分 (UserIntergrals)
- 每日签到功能
- 保险箱 (SafeBoxe)
- 用户数据安全存储
内容服务
- 外链历史 (LinkHistory)
- 记录和统计外部链接访问
- 每日热点 (DailyHot)
- 聚合多平台热点数据,支持以下数据源:
- 社交媒体:微博、抖音、B站
- 技术社区:GitHub、掘金、CSDN、SegmentFault
- 新闻资讯:36氪、百度、知乎、今日头条
- 游戏社区:NGA、米哈游、LOL
- 其他平台:豆瓣、V2EX、简书、贴吧等
- 聚合多平台热点数据,支持以下数据源:
- 导航服务 (Nav)
- 分类目录 (Catalog)
- 导航项目 (NavItem)
- 本地化 (Localization)
- 灵魂语录 (Soul)
- 每日一句功能
开发者社区
- 中国独立开发者项目 (Project)
- 开发者信息 (DevUser)
- 项目管理 (DevProject)
- 社交账号关联 (DevUserSocial)
- 用户系统 (User)
配置指南
1. 模块注册
List<Type> typeAssemblies = new List<Type>()
{
typeof(Program),
typeof(IApplicationService),
typeof(FreeKitModule),
typeof(PlatformModuleStartup)
};
containerBuilder.RegisterModule(new FreeKitModule(typeAssemblies.ToArray(), null));
containerBuilder.RegisterModule(new UnitOfWorkModule(typeAssemblies.ToArray(), null));
2. 服务依赖
services.AddModule<PlatformModuleStartup>("module-platform", c);
3. CAP 配置
var assemblies = new List<Assembly>
{
typeof(BasicIdentityModuleStartup).Assembly,
typeof(PlatformModuleStartup).Assembly
};
services.AddKitCap(c) // 分布式事务一致性CAP
.AddSubscriberAssembly(assemblies.ToArray());
4. Swagger 配置
var projectNames = new List<string>()
{
"FreeKit.Platform"
};
// 注入业务服务
services.AddSwagger(c, projectNames);
技术栈
- .NET Core
- CAP (分布式事务)
- Swagger (API文档)
- AutoFac (依赖注入)
List<Type> typeAssemblies =new List<Type>()
{
typeof(Program),
typeof(IApplicationService),
typeof(FreeKitModule),
+ typeof(PlatformModuleStartup),
};
containerBuilder.RegisterModule(new FreeKitModule(typeAssemblies.ToArray(), null));
containerBuilder.RegisterModule(new UnitOfWorkModule(typeAssemblies.ToArray(), null));
- 依赖
services.AddModule<PlatformModuleStartup>("module-platform", c);
- CAP
var assemblies = new List<Assembly>
{
typeof(BasicIdentityModuleStartup).Assembly,
+ typeof(PlatformModuleStartup).Assembly,
};
services.AddKitCap(c) // 分布式事务一致性CAP
.AddSubscriberAssembly(assemblies.ToArray());
;
var projectNames = new List<string>()
{
+ "FreeKit.Platform",
};
//注入业务服务
services.AddSwagger(c, projectNames);