Răsfoiți Sursa

📝 docs(prd): update multi-tenant integration plan details

- modify story 4 description to clarify UI package name and authentication system
- update code examples for tenant management UI integration
- correct component import from TenantManagement to TenantsPage
- add tenant client initialization code snippet
- update authentication logic to use super admin credentials
- remove tenant selection from login process
- simplify API client initialization steps
yourname 1 lună în urmă
părinte
comite
06794ef718
1 a modificat fișierele cu 16 adăugiri și 28 ștergeri
  1. 16 28
      docs/prd/epic-008-server-web-multi-tenant-integration.md

+ 16 - 28
docs/prd/epic-008-server-web-multi-tenant-integration.md

@@ -102,7 +102,7 @@ packages/
 
 3. **Story 3:** 租户模块集成到server - 将租户模块包(@d8d/tenant-module-mt)集成到server中,包括租户管理路由、超级管理员认证和租户数据隔离功能,确保server能够支持租户管理操作
 
-4. **Story 4:** 租户UI包集成到Web - 复制`web/src/client/admin`目录为`web/src/client/tenant`,在tenant目录中集成多租户UI包,替换原有的auth provider、登录页等组件,确保Web应用能够支持多租户操作和界面展示
+4. **Story 4:** 租户UI包集成到Web - 复制`web/src/client/admin`目录为`web/src/client/tenant`,在tenant目录中集成`@d8d/tenant-management-ui-mt`租户管理UI包,使用超级管理员认证系统(superadmin/admin123),添加租户管理路由和超级管理员认证逻辑,确保Web应用能够支持租户管理操作
 
 ### 阶段 3: 系统集成和验证
 
@@ -209,46 +209,34 @@ cp -r web/src/client/admin web/src/client/tenant
 
 ```typescript
 // web/src/client/tenant/routes.tsx - 添加租户管理路由
-import { TenantManagement } from '@d8d/tenant-management-ui-mt';
+import { TenantsPage } from '@d8d/tenant-management-ui-mt';
 
 // 在路由配置中添加
 {
   path: 'tenants',
-  element: <TenantManagement />,  // 租户管理界面
+  element: <TenantsPage />,  // 租户管理界面
 },
 
-// web/src/client/tenant/hooks/AuthProvider.tsx - 租户感知的认证
-const handleLogin = async (username: string, password: string, tenantId?: number): Promise<void> => {
-  // 添加租户ID到登录请求
-  const response = await authClient.login.$post({
+// web/src/client/tenant/api_init.ts - 初始化租户管理客户端
+import { tenantClientManager } from '@d8d/tenant-management-ui-mt/api';
+
+// 初始化租户管理客户端
+tenantClientManager.init('/api/v1/tenants');
+
+// web/src/client/tenant/hooks/AuthProvider.tsx - 使用超级管理员认证
+const handleLogin = async (username: string, password: string): Promise<void> => {
+  // 使用租户模块的超级管理员登录API
+  const response = await tenantClientManager.get().login.$post({
     json: {
       username,
-      password,
-      tenantId
+      password
     }
   });
   // ... 其他登录逻辑
 };
 
-// web/src/client/tenant/pages/Login.tsx - 添加租户选择
-const [selectedTenant, setSelectedTenant] = useState<number | null>(null);
-
-// 在表单中添加租户选择器
-<FormField
-  control={form.control}
-  name="tenantId"
-  render={({ field }) => (
-    <FormItem>
-      <FormLabel>选择租户</FormLabel>
-      <FormControl>
-        <TenantSelect
-          value={field.value}
-          onChange={field.onChange}
-        />
-      </FormControl>
-    </FormItem>
-  )}
-/>
+// web/src/client/tenant/pages/Login.tsx - 超级管理员登录页
+// 使用固定的超级管理员账号进行登录,无需租户选择
 ```
 
 ### API客户端初始化