# HW Portal 本机环境配置与启动教程 ## 1. 文档目的 - 适用场景:当前电脑没有任何 C#/.NET 环境,也没有 Visual Studio。 - 目标:让你可以在当前仓库 `C:\D\WORK\NewP\Admin.NET-v2` 上完成本地环境准备、后端启动、前端启动、`hw-portal` 插件识别,以及数据库和其他配置修改。 - 说明:本仓库当前后端为 `net8.0;net10.0` 双目标,前端实际依赖以 `Web/package.json` 为准,当前为 `Node >= 18`、`pnpm 10.28.2`、`vite ^7.3.1`、`vue ^3.5.28`。 ## 2. 必需环境 ### 2.1 后端必需 1. 安装 `.NET SDK 10.x` - 这是当前项目的主目标框架之一,后续新增的 `hw-portal` 插件也已按 `net8.0;net10.0` 配置。 - 推荐直接安装最新稳定版 `.NET 10 SDK`。 2. 建议同时安装 `.NET SDK 8.x` - 虽然通常高版本 SDK 可以处理低版本目标框架,但本项目是双目标,装上 8.x 能减少还原/构建时的目标框架兼容风险。 3. 安装 `ASP.NET Core Runtime` - 若已安装 SDK,通常已包含开发所需运行时。 4. 数据库 - 当前默认配置是 `Sqlite`,不需要额外安装数据库服务。 - 如果后续切换到 `MySql`、`PostgreSQL`、`SqlServer`,再安装对应数据库即可。 ### 2.2 前端必需 1. 安装 `Node.js 18+` 2. 安装 `pnpm` - 推荐:`npm install -g pnpm` 3. 建议安装 `Git` ### 2.3 编辑器建议 - 不装 Visual Studio 也可以开发。 - 推荐最小组合: - `VS Code` - `C# Dev Kit` - `C#` - `Vue - Official` - `TypeScript Vue Plugin (Volar)` - `ESLint` ### 2.4 PowerShell - 当前仓库部分前端脚本使用 `pwsh`,建议安装 `PowerShell 7`。 - 如果只跑最基本的前后端启动,Windows 自带 PowerShell 也基本够用。 ## 3. Windows 新机器安装顺序 ### 3.1 推荐顺序 1. 安装 `Git` 2. 安装 `Node.js 18+` 3. 执行 `npm install -g pnpm` 4. 安装 `.NET SDK 10.x` 5. 建议再安装 `.NET SDK 8.x` 6. 安装 `VS Code` 7. 安装 VS Code 扩展:`C# Dev Kit`、`C#`、`Vue - Official` ### 3.2 安装后自检命令 在 PowerShell 里执行: ```powershell git --version node -v pnpm -v dotnet --list-sdks dotnet --info ``` 至少应满足: - `node` 版本 `>= 18` - `pnpm` 可用 - `dotnet --list-sdks` 能看到 `8.x` 和/或 `10.x` ## 4. 项目启动教程 ## 4.1 打开仓库 仓库根目录: ```text C:\D\WORK\NewP\Admin.NET-v2 ``` ## 4.2 后端启动 后端解决方案目录: ```text C:\D\WORK\NewP\Admin.NET-v2\Admin.NET ``` 首次执行: ```powershell cd C:\D\WORK\NewP\Admin.NET-v2 dotnet restore .\Admin.NET\Admin.NET.sln dotnet build .\Admin.NET\Admin.NET.sln -c Debug ``` 启动后端: ```powershell dotnet run --project .\Admin.NET\Admin.NET.Web.Entry ``` 默认监听地址来自: ```text Admin.NET\Admin.NET.Application\Configuration\App.json ``` 当前默认端口: ```json "Urls": "http://*:5005" ``` 也就是本机通常访问: ```text http://localhost:5005 ``` ## 4.3 前端启动 前端目录: ```text C:\D\WORK\NewP\Admin.NET-v2\Web ``` 首次执行: ```powershell cd C:\D\WORK\NewP\Admin.NET-v2 pnpm install --dir Web ``` 启动前端: ```powershell pnpm --dir Web dev ``` 当前前端开发端口来自: ```text Web\.env ``` 默认是: ```text VITE_PORT = 8888 ``` 所以前端开发地址通常是: ```text http://localhost:8888 ``` ## 4.4 前后端联调 当前前端开发环境接口地址来自: ```text Web\.env.development ``` 默认值: ```text VITE_API_URL = http://localhost:5005 ``` 因此标准联调顺序是: 1. 先启动后端 `5005` 2. 再启动前端 `8888` 3. 浏览器访问 `http://localhost:8888` ## 4.5 默认账号 前端开发环境默认登录信息来自: ```text Web\.env.development ``` 当前值: ```text VITE_DEFAULT_USER = superAdmin.NET VITE_DEFAULT_USER_PASSWORD = Admin.NET++010101 ``` ## 5. 数据库配置修改教程 ## 5.1 当前默认数据库 当前后端默认数据库配置文件: ```text Admin.NET\Admin.NET.Application\Configuration\Database.json ``` 当前默认是: - `DbType = Sqlite` - `ConnectionString = DataSource=./Admin.NET.db` 这意味着: - 默认直接在后端运行目录生成/使用 SQLite 文件 - 本机第一次启动时,如果初始化开关打开,会自动建库建表和种子 ## 5.2 改成 MySQL / PostgreSQL / SQL Server 你主要只改这里: ```text Admin.NET\Admin.NET.Application\Configuration\Database.json ``` 重点字段: - `DbConnection.ConnectionConfigs[0].DbType` - `DbConnection.ConnectionConfigs[0].ConnectionString` - `DbSettings` - `TableSettings` - `SeedSettings` 示例思路: - MySQL:把 `DbType` 改成 `MySql` - PostgreSQL:把 `DbType` 改成 `PostgreSQL` - SQL Server:把 `DbType` 改成 `SqlServer` 首次迁移 `hw-portal` 数据时建议: - 先确认连接串可用 - 首次导入已有业务库时,谨慎检查 `EnableInitDb`、`EnableInitTable`、`EnableInitSeed` - 如果数据库表结构已经存在且不希望框架自动处理,建议酌情关闭初始化开关 ## 5.3 与 `hw-portal` 相关的数据库说明 - `hw-portal` 当前是插件模块 - 其 SQL 原文保存在: ```text Admin.NET\Plugins\Admin.NET.Plugin.HwPortal\Sql ``` - 这些 XML 是从 `ruoyi-portal` 原样拷贝过来的,当前迁移策略是: - 表结构不变 - SQL 不变 - C# 侧通过 XML 执行器读取并执行这些 SQL ## 6. 其余配置文件地址 ## 6.1 后端核心启动与宿主 - 后端入口: - `Admin.NET\Admin.NET.Web.Entry\Program.cs` - 后端核心装配: - `Admin.NET\Admin.NET.Web.Core\Startup.cs` ## 6.2 后端主要配置目录 统一配置目录: ```text Admin.NET\Admin.NET.Application\Configuration ``` 常用文件如下: - 应用地址、端口、动态 API、CORS、异常: - `Admin.NET\Admin.NET.Application\Configuration\App.json` - 数据库: - `Admin.NET\Admin.NET.Application\Configuration\Database.json` - 缓存: - `Admin.NET\Admin.NET.Application\Configuration\Cache.json` - JWT: - `Admin.NET\Admin.NET.Application\Configuration\JWT.json` - 限流: - `Admin.NET\Admin.NET.Application\Configuration\Limit.json` - 日志: - `Admin.NET\Admin.NET.Application\Configuration\Logging.json` - 事件总线: - `Admin.NET\Admin.NET.Application\Configuration\EventBus.json` - Swagger: - `Admin.NET\Admin.NET.Application\Configuration\Swagger.json` - 上传: - `Admin.NET\Admin.NET.Application\Configuration\Upload.json` - OAuth: - `Admin.NET\Admin.NET.Application\Configuration\OAuth.json` - 邮件: - `Admin.NET\Admin.NET.Application\Configuration\Email.json` - 短信: - `Admin.NET\Admin.NET.Application\Configuration\SMS.json` - 验证码: - `Admin.NET\Admin.NET.Application\Configuration\Captcha.json` - 微信: - `Admin.NET\Admin.NET.Application\Configuration\Wechat.json` - 支付宝: - `Admin.NET\Admin.NET.Application\Configuration\Alipay.json` - ElasticSearch: - `Admin.NET\Admin.NET.Application\Configuration\ElasticSearch.json` ## 6.3 前端配置入口 - 前端依赖与脚本: - `Web\package.json` - Vite 配置: - `Web\vite.config.ts` - 通用前端环境变量: - `Web\.env` - 开发环境变量: - `Web\.env.development` - 生产环境变量: - `Web\.env.production` 当前最常改的前端配置项: - `VITE_PORT` - `VITE_API_URL` - `VITE_PUBLIC_PATH` - `VITE_SM_PUBLIC_KEY` ## 6.4 `hw-portal` 模块接入文件 - 插件项目文件: - `Admin.NET\Plugins\Admin.NET.Plugin.HwPortal\Admin.NET.Plugin.HwPortal.csproj` - 插件启动注册: - `Admin.NET\Plugins\Admin.NET.Plugin.HwPortal\Startup.cs` - 解决方案挂载: - `Admin.NET\Admin.NET.sln` - 应用层引用插件: - `Admin.NET\Admin.NET.Application\Admin.NET.Application.csproj` ## 7. `hw-portal` 插件模块结构 当前模块根目录: ```text Admin.NET\Plugins\Admin.NET.Plugin.HwPortal ``` 结构说明: - `Common` - 放统一返回、基础实体、控制器基类、上下文辅助 - `Controllers` - 放与原 Spring Controller 对应的 ASP.NET Controller - `Dto` - 放请求/返回 DTO、树结构 DTO、搜索 DTO - `Entity` - 放 `hw_*` 实体模型 - `Infrastructure` - 放 MyBatis XML 渲染器与执行器 - `Service` - 放业务服务 - `Service\Analytics` - 放官网访问统计服务 - `Service\Search` - 放搜索服务、搜索索引重建接口、文本提取器 - `Sql` - 放从 `ruoyi-portal` 原样复制过来的 MyBatis XML ## 8. 推荐启动顺序 ## 8.1 第一次启动 1. 安装 `.NET SDK` 2. 安装 `Node.js` 和 `pnpm` 3. 执行后端 `restore` 4. 执行后端 `build` 5. 执行后端 `run` 6. 执行前端 `pnpm install` 7. 执行前端 `pnpm --dir Web dev` ## 8.2 命令清单 ```powershell cd C:\D\WORK\NewP\Admin.NET-v2 dotnet restore .\Admin.NET\Admin.NET.sln dotnet build .\Admin.NET\Admin.NET.sln -c Debug dotnet run --project .\Admin.NET\Admin.NET.Web.Entry ``` 另开一个终端: ```powershell cd C:\D\WORK\NewP\Admin.NET-v2 pnpm install --dir Web pnpm --dir Web dev ``` ## 9. 当前已知注意事项 1. 你这台机器当前没有 .NET 环境,因此现在还不能直接运行后端命令。 2. 本仓库当前最省事的本地数据库是 `SQLite`,第一次跑通建议先不要切换到外部数据库。 3. `hw-portal` 目前已经接成插件模块,但后续仍建议在装好 SDK 后做一次完整编译和接口联调。 4. 若后续你要改端口,后端改 `App.json`,前端改 `.env` / `.env.development`。 ## 10. 你下一步最小操作建议 1. 先安装 `Node.js 18+` 2. 安装 `pnpm` 3. 安装 `.NET SDK 10.x` 4. 建议补装 `.NET SDK 8.x` 5. 用 VS Code 打开仓库 6. 先跑后端,再跑前端 7. 能跑通后,再决定是否切换数据库 最自律帅气聪明的臧辰浩