项目生成器
要从设计器项目中生成项目,请选择工具栏的 [project] > Profile,或右键单击项目节点,然后选择 生成项目。
在生成配置向导中,修改或使用配置,然后单击 代码预览 按钮预览生成的代码,或者单击 生成项目 按钮生成项目。
后端 API 设计器项目的默认配置如下:
浏览器端 Web 和 API 设计器项目的默认配置如下:
移动端 Web 和 API 设计器项目的默认配置如下:
设置
选择一个配置文件。一个设计器项目可以创建多个配置文件, 每个包含不同的配置,用于生成不同的代码。
您可以使用默认配置文件(Profile),或创建新配置文件(点击旁边的 新建 按钮或者从工具栏选择 [project] > 新建配置)。
生成配置
模板方案:目前仅支持 Template(内置)。
目标路径:生成项目文件时,将文件保存到的文件夹路径。目前只支持将项目保存到当前项目路径下的SourceCode目录,SourceCode\Server子目录用于存放后端项目,SourceCode\Web子目录用于存放前端项目。
文件写入策略:在生成项目文件时,系统如何处理现有文件的方式。主要有以下几种策略:
- 覆盖:如果目标路径中已经存在文件,系统将直接覆盖这些文件。这通常适用于当我们需要每次生成都更新文件时。
- 追加:系统会将新生成的内容追加到目标路径中的现有文件末尾,或者在原有文件的基础上进行扩展或合并。与“覆盖”不同,不会删除现有文件,只会在原有文件基础上添加新内容。
- 全新:系统会完全清空目标路径并重新生成所有文件。与“覆盖”不同,“全新”策略会完全删除目标文件夹中的所有内容,包括所有旧文件和生成的文件,不保留任何遗留物。适用于确保每次生成的项目都是全新、没有任何之前版本残留的情况。通常用于开发初期或者大规模重构时。
根据设计器项目类型的不同输出的项目类型也有所不同。常见的项目输出类型如下:
服务端应用(基于ASP.NET Core Web API):该输出类型将生成一个基于 ASP.NET Core Web API 的后端应用程序,通常用于处理业务逻辑、数据库交互等服务器端操作。适用于需要提供RESTful API接口的项目,可以为前端提供数据服务。生成的项目结构包含控制器、服务、模型等文件,确保API能够根据前端需求提供数据接口。
Web应用(基于Vue3):该输出类型生成一个完整的基于Vue3的Web应用。适用于PC端和移动端的浏览器应用,特别是用户交互丰富、需要处理大量动态数据的场景。
H5应用(基于Vue3):该输出类型生成的是基于Vue3 构建的H5应用,适用于移动端或PC端的浏览器应用。
UniApp应用、小程序(基于Vue3): 该输出类型会生成一个基于Vue3的UniApp应用,使用UniApp框架,允许开发人员通过 HBuilderX 或命令行工具编译为多个平台的应用,包括H5、小程序(如微信小程序、支付宝小程序、百度小程序等)、App(iOS和Android)等。
独立生成TypeScript页面交互代码: 该类型的输出只会生成前端页面的交互部分,使用TypeScript 语言来进行页面交互的编写。通常适用于前端开发者在已有页面的基础上进行页面逻辑的补充。它不会包含完整的项目框架,而是针对前端的TypeScript交互逻辑代码,可以集成到现有的Vue、React或其他前端框架中,或者在独立的页面中进行处理。
DB配置
对于每个应用程序数据库,您必须在此处配置数据库连接。
默认情况下,将在 WebApi 项目的根文件夹下创建 SQLite 类型的数据库 (data.db)。 您可以选择其他类型的数据库或选择 添加连接... 来创建新的数据库连接。 有关更多信息,请参阅 选择数据库连接。
标识DB配置
在项目属性页面的安全选项卡中启用授权和身份验证后,此设置将可用。
您必须配置数据库连接来存储凭据数据。
默认情况下,将在 WebApi 项目的根文件夹下创建 SQLite 类型的数据库 (identity.db)。 您可以选择其他类型的数据库或选择 添加连接... 来创建新的数据库连接。
生成项目
配置完成后,您可以点击配置窗口右上角的 代码预览 来预览将要生成的代码;或者直接单击旁边的 生成项目 以生成项目。
项目生成成功后,以下项目会自动添加到当前解决方案中。
- [project].Common:被合约层或认证服务层引用或依赖的开发工具包和扩展功能。
- [project].Contracts:定义服务合约的合约层。
- [project].Controllers:定义服务控制器的控制器层。
- [project].Repository:数据访问层,例如 EF Core,其中包含与数据库相关的配置(存储库、工作单元、DbContext)和数据初始化(值比较器、值转换器)。
- [project].Services:实现合约的服务层。
- [project].WebApi:向用户发送数据的表示层。
- [project].Identity:认证服务层,内部授权用户注册和登录。 只有启用授权后才会生成该项目。