Files
tiku-backend.net/Tiku.PlatformAdmin.Web/README.md

43 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Tiku 平台管理前端
独立部署的 React + TypeScript 平台管理端。业务接口契约只从 `Tiku.Api` 实时 OpenAPI 文档生成,不依赖旧静态前端的接口适配代码。
## 本地开发
首次使用先安装前端依赖:
```bash
npm install
```
之后从仓库根目录运行 `dotnet run --project Tiku.Api`ASP.NET Core 的开发代理会自动启动本工程的 Vite 服务。访问 <http://localhost:5173>。开发服务器默认代理 `/api``http://localhost:5090`;需要修改目标时设置 `VITE_DEV_API_TARGET`
也可以在本目录单独执行 `npm run dev`便于只调试前端。Production 环境不会由 API 启动 Node 进程,前端仍应独立构建和部署。
## 接口契约
```bash
OPENAPI_URL=http://localhost:5090/openapi/v1.json npm run generate:api
```
生成结果包括完整 OpenAPI TypeScript 类型,以及全部 `/api/platform-admin/**``/api/backoffice/platform/**` 接口的页面操作元数据。`npm test` 会验证每个后端平台接口都已归入且只归入一个页面组。
生产部署使用同源 `/api` 反向代理到 `Tiku.Api`,浏览器不持有跨域 API Base URL。
## 租户开通工作台
“租户管理”是专用开通界面:创建时填写主域名,创建后展示 CNAME/TXT 指引并轮询 DNS/TLS 状态。只有域名 Active 后才显示 Owner 激活操作。激活链接只保存在领取成功弹窗的组件状态中,关闭即清除,不写入 `localStorage`、通用响应面板或持久日志;幂等重放不会再次显示明文链接。主域名录入错误时可填写审计原因进行更正,更正会撤销旧的未消费链接。
## 从空库开通租户
1. 按后端 [`docs/quickstart.md`](../docs/quickstart.md) 使用 `--skip-development-seed --bootstrap-platform-admin` 初始化空库;
2. 打开 <http://localhost:5173>,用临时密码首次登录并改密;
3. 进入“租户管理”创建租户、Owner 和 `school.localhost` 主域名;
4. 等待页面显示“DNS 与 TLS 已激活”;
5. 领取一次性 Owner 激活链接,并通过安全渠道交给租户 Owner
6. Owner 激活、建站并发布后,学生端访问 <http://school.localhost:5180/>
平台只负责签发一次性链接,不设置、保存或审批 Owner 密码。明文链接关闭弹窗后无法恢复;需要重新交付时必须填写原因并撤销重签。
Development 的平台页面实际运行在 5173 端口。`http://localhost:5090/platform-admin/` 是受保护的 API 路径,不是本地 Vite 登录入口。