跳到主要内容

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