创建解决方案
我们提供了两种方式来快速的创建解决方案:
- 命令行:使用
perigon new <name>。 - 图形化界面创建:使用
perigon studio启动面板。
两种方式都提供了交互式操作,帮助你按步骤完成解决方案初始化。本篇主要说明创建时可配置的选项。
选择项目类型
当前提供两种项目类型:
- Standard: 完整的MVC API + EF Core + Aspire 支持,适合绝大数场景。
- Light(AOT): 必须AOT支持的情况,使用MinimalAPI + Perigon.Postgres + Aspire.
选择数据库
创建解决方案时,你可以选择Sqlserver或PostgreSql,这是推荐使用的数据库。
使用其他数据库
模板使用 EntityFramework Core 作为 ORM 框架,这意味着您可以使用任何提供 EF Core Provider 的数据库,但需要进行一些额外的操作:
修改
ServiceDefaults/FrameworkExtensions.cs中的AddDbContext方法,以支持您需要的数据库类型。修改
Definition/EntityFramework中的ContextBase或AppDbFactory,以支持您需要的数据库类型。
数据库连接字符串
使用 Aspire 配置开发环境,无需手动配置连接字符串,Aspire 会自动生成并注入连接字符串。
如果需要连接已存在的数据库,也可以在 AppHost 中定义相关资源。
详细内容请参考通过Aspire配置开发环境。
选择缓存
缓存有三个选项:
- Memory: 仅使用内存缓存,可使用
IMemoryCache接口。 - Redis: 使用支持redis缓存,可使用
IDistributedCache接口。 - Hybrid: 同时支持内存缓存和Redis缓存。
缓存操作统一使用微软的 Microsoft.Extensions.Caching.Hybrid 库实现,其内部会根据策略调用 IMemoryCache 或 IDistributedCache 接口。
框架封装了 CacheService 服务以简化缓存操作,建议统一使用该服务。
更多缓存相关的配置,在创建完解决方案后,可以在 appsettings.json 中进行配置。
Tip
关于HybridCache的内容,请参考微软官方文档。
选择官方模块
创建解决方案时,可以直接选择需要的官方模块。当前工具会先从 Perigon.Modules 仓库读取官方模块清单,再在解决方案创建完成后自动安装到目标服务中。
目前官方模块元数据来自 Perigon.Modules/modules.json,例如:
Perigon.SystemMod:用户、角色、菜单、系统配置与日志,以及数据权限范围、权限组和组成员管理。Perigon.CMSMod:文章分类、文章编辑和文章图片上传。Perigon.ResourceMod:环境、分类、资源定义、动态属性、角色授权、个人资源审核和收藏。
各模块的能力边界与安装说明见官方模块。
如果当前网络环境无法访问官方模块清单,创建流程仍可继续,只是这一轮无法直接选择官方模块。
Tip
官方模块本质上仍然是模块包。即使创建时没有选择,也可以在解决方案创建完成后,再使用 perigon module install Perigon.SystemMod <服务名称> 这样的命令补充安装。
消息队列
创建时暂不支持
选择认证方式
默认支持 JWT 认证方式。其他方式需要手动集成。
选择前端框架
目前支持 Angular 项目模板。
默认模块说明
最新模板不再默认包含示例模块,例如 SystemMod。如果你需要这些模块,可以在创建时直接勾选官方模块,或在创建完成后再手动安装。