feat(aia): Complete AIA V2.0 with universal streaming capabilities
Major Changes: - Add StreamingService with OpenAI Compatible format - Upgrade Chat component V2 with Ant Design X integration - Implement AIA module with 12 intelligent agents - Update API routes to unified /api/v1 prefix - Update system documentation Backend (~1300 lines): - common/streaming: OpenAI Compatible adapter - modules/aia: 12 agents, conversation service, streaming integration - Update route versions (RVW, PKB to v1) Frontend (~3500 lines): - modules/aia: AgentHub + ChatWorkspace (100% prototype restoration) - shared/Chat: AIStreamChat, ThinkingBlock, useAIStream Hook - Update API endpoints to v1 Documentation: - AIA module status guide - Universal capabilities catalog - System overview updates - All module documentation sync Tested: Stream response verified, authentication working Status: AIA V2.0 core completed (85%)
This commit is contained in:
@@ -1,155 +1,155 @@
|
||||
# INST - 机构管理端
|
||||
# INST - <EFBFBD>箸<EFBFBD>蝞∠<EFBFBD>蝡?
|
||||
|
||||
> **模块代码:** INST
|
||||
> **模块名称:** 机构管理端(Institution Management Portal)
|
||||
> **璅∪<EFBFBD>隞<EFBFBD><EFBFBD>嚗?* INST
|
||||
> **璅∪<EFBFBD><EFBFBD>滨妍嚗?* <20>箸<EFBFBD>蝞∠<E89D9E>蝡荔<E89DA1>Institution Management Portal嚗?
|
||||
> **隡睃<E99AA1>蝥改<E89DA5>** P1嚗<31><E59A97>閬<EFBFBD><E996AC><EFBFBD>踝<EFBFBD>
|
||||
> **开发状态:** 🔴 未开始
|
||||
> **撘<EFBFBD><EFBFBD>𤑳𠶖<EFBFBD><EFBFBD><EFBFBD>** <20>𣞁 <20>芸<EFBFBD>憪?
|
||||
> **韐蠘提鈭綽<E988AD>** [敺<><E695BA>]
|
||||
|
||||
---
|
||||
|
||||
## <20><> 璅∪<E79285>璁<EFBFBD>膩
|
||||
|
||||
机构管理端是为**医院客户**和**药企客户**提供的自服务管理界面,让机构管理员能够独立管理自己租户内的用户、配额、科室等资源。
|
||||
<EFBFBD>箸<EFBFBD>蝞∠<EFBFBD>蝡舀糓銝?*<2A>駁堺摰X<E691B0>**<2A>?*<2A>臭<EFBFBD>摰X<E691B0>**<2A>𣂷<EFBFBD><F0A382B7><EFBFBD>䌊<EFBFBD>滚𦛚蝞∠<E89D9E><E288A0>屸𢒰嚗諹悟<E8ABB9>箸<EFBFBD>蝞∠<E89D9E><E288A0>䁅<EFBFBD>憭毺𡠺蝡讠恣<E8AEA0><E681A3>䌊撌梁<E6928C><E6A281>瑕<EFBFBD><E79195><EFBFBD>鍂<EFBFBD>瑯<EFBFBD><E791AF><EFBFBD>憸腈<E686B8><E88588><EFBFBD>摰斤<E691B0>韏<EFBFBD><E99F8F><EFBFBD>?
|
||||
|
||||
### 核心价值
|
||||
### <EFBFBD>詨<EFBFBD>隞瑕<EFBFBD>?
|
||||
|
||||
1. **自服务管理**:减轻运营团队压力,机构自主管理
|
||||
2. **配额分配**:医院/药企内部按科室或个人分配Token额度
|
||||
3. **用户管理**:机构内部用户的创建、编辑、停用
|
||||
4. **数据隔离**:只能看到和管理自己租户的数据
|
||||
1. **<EFBFBD>芣<EFBFBD><EFBFBD>∠恣<EFBFBD>?*嚗𡁜<E59A97>頧餉<E9A0A7><E9A489>亙𣪧<E4BA99>笔<EFBFBD><E7AC94>𨥈<EFBFBD><F0A8A588>箸<EFBFBD><E7AEB8>芯蜓蝞∠<E89D9E>
|
||||
2. **<EFBFBD>漤<EFBFBD><EFBFBD><EFBFBD><EFBFBD>**嚗𡁜龫<F0A1819C>?<3F>臭<EFBFBD><E887AD><EFBFBD><EFBFBD><EFBFBD>厩<EFBFBD>摰斗<E691B0>銝芯犖<E88AAF><E78A96><EFBFBD>Token憸嘥漲
|
||||
3. **<EFBFBD>冽<EFBFBD>蝞∠<EFBFBD>**嚗𡁏㦤<F0A1818F><E3A6A4><EFBFBD><EFBFBD>函鍂<E587BD>瑞<EFBFBD><E7919E>𥕦遣<F0A595A6><E981A3><EFBFBD>颲㻫<E9A2B2><E3BBAB><EFBFBD><EFBFBD>?
|
||||
4. **<EFBFBD>唳旿<EFBFBD>𠉛氖**嚗𡁜蘨<F0A1819C>賜<EFBFBD><E8B39C>啣<EFBFBD>蝞∠<E89D9E><E288A0>芸楛蝘<E6A59B><E89D98><EFBFBD><EFBFBD>㺭<EFBFBD>?
|
||||
|
||||
---
|
||||
|
||||
## <20>㴓 <20>詨<EFBFBD><E8A9A8>蠘<EFBFBD>璅∪<E79285>
|
||||
|
||||
### 1. 医院管理端(Hospital Admin)
|
||||
### 1. <EFBFBD>駁堺蝞∠<EFBFBD>蝡荔<EFBFBD>Hospital Admin嚗?
|
||||
|
||||
#### <20>冽<EFBFBD>蝞∠<E89D9E>
|
||||
- 瘛餃<E7989B>/蝻𤥁<E89DBB>/<2F>𦦵鍂<F0A6A6B5>駁堺<E9A781><E5A0BA><EFBFBD><EFBFBD>冽<EFBFBD>
|
||||
- 分配用户到科室
|
||||
- <EFBFBD><EFBFBD><EFBFBD><EFBFBD>冽<EFBFBD><EFBFBD>啁<EFBFBD>摰?
|
||||
- 霈曄蔭<E69B84>冽<EFBFBD>閫坿𠧧嚗<F0A0A7A7><E59A97>摰斤恣<E696A4><E681A3><EFBFBD>/<2F>桅<EFBFBD>𡁶鍂<F0A181B6>瘀<EFBFBD>
|
||||
|
||||
#### 蝘穃恕蝞∠<E89D9E>
|
||||
- <20>𥕦遣/蝻𤥁<E89DBB>/<2F>𣳇膄蝘穃恕
|
||||
- 支持多级科室结构(心内科 → 一病区)
|
||||
- <EFBFBD>舀<EFBFBD>憭𡁶漣蝘穃恕蝏𤘪<EFBFBD>嚗<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>?銝<><E98A9D><EFBFBD>躹嚗?
|
||||
- <20>亦<EFBFBD>蝘穃恕<E7A983>𣂼<EFBFBD><F0A382BC>𡑒”
|
||||
|
||||
#### <20>漤<EFBFBD>蝞∠<E89D9E>
|
||||
- <20>亦<EFBFBD><E4BAA6>駁堺<E9A781>駁<EFBFBD>憸嘥<E686B8>雿輻鍂<E8BCBB><E98D82><EFBFBD>
|
||||
- <20>厩<EFBFBD>摰文<E691B0><E69687>䕡oken憸嘥漲
|
||||
- <20>劐葵鈭箏<E988AD><E7AE8F>䕡oken憸嘥漲
|
||||
- 配额使用统计和预警
|
||||
- <EFBFBD>漤<EFBFBD>雿輻鍂蝏蠘恣<EFBFBD>屸<EFBFBD>霅?
|
||||
|
||||
#### 摰∟恣<E2889F>亙<EFBFBD>
|
||||
- 查看医院内部的操作记录
|
||||
- <EFBFBD>亦<EFBFBD><EFBFBD>駁堺<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>雿𡏭扇敶?
|
||||
- 撖澆枂摰∟恣<E2889F>亙<EFBFBD>
|
||||
|
||||
---
|
||||
|
||||
### 2. 药企管理端(Pharma Admin)
|
||||
### 2. <EFBFBD>臭<EFBFBD>蝞∠<EFBFBD>蝡荔<EFBFBD>Pharma Admin嚗?
|
||||
|
||||
#### <20>冽<EFBFBD>蝞∠<E89D9E>
|
||||
- 瘛餃<E7989B>/蝻𤥁<E89DBB>/<2F>𦦵鍂<F0A6A6B5>臭<EFBFBD><E887AD><EFBFBD><EFBFBD><EFBFBD>冽<EFBFBD>
|
||||
- 分配用户角色(项目负责人/数据分析师/普通用户)
|
||||
- <EFBFBD><EFBFBD><EFBFBD><EFBFBD>冽<EFBFBD>閫坿𠧧嚗<EFBFBD>★<EFBFBD>株<EFBFBD>韐<EFBFBD>犖/<2F>唳旿<E594B3><E697BF><EFBFBD>撣?<3F>桅<EFBFBD>𡁶鍂<F0A181B6>瘀<EFBFBD>
|
||||
|
||||
#### 憿寧𤌍蝞∠<E89D9E>
|
||||
- <20>亦<EFBFBD><E4BAA6>臭<EFBFBD><E887AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IT憿寧𤌍<E5AFA7>𡑒”
|
||||
- 查看项目进展和数据统计
|
||||
- <EFBFBD>亦<EFBFBD>憿寧𤌍餈𥕦<EFBFBD><EFBFBD>峕㺭<EFBFBD>桃<EFBFBD>霈?
|
||||
- 憿寧𤌍<E5AFA7>𣂼<EFBFBD>蝞∠<E89D9E>
|
||||
|
||||
#### <20>漤<EFBFBD>蝞∠<E89D9E>
|
||||
- <20>亦<EFBFBD><E4BAA6>臭<EFBFBD><E887AD>駁<EFBFBD>憸嘥<E686B8>雿輻鍂<E8BCBB><E98D82><EFBFBD>
|
||||
- <20>厰★<E58EB0>桀<EFBFBD><E6A180>䕡oken憸嘥漲
|
||||
- <20>厩鍂<E58EA9>瑕<EFBFBD><E79195>䕡oken憸嘥漲
|
||||
- 配额使用统计和预警
|
||||
- <EFBFBD>漤<EFBFBD>雿輻鍂蝏蠘恣<EFBFBD>屸<EFBFBD>霅?
|
||||
|
||||
#### 摰∟恣<E2889F>亙<EFBFBD>嚗<EFBFBD><E59A97>閫<EFBFBD><E996AB>瘙<EFBFBD><E79899>
|
||||
- 查看所有数据修改记录(FDA 21 CFR Part 11)
|
||||
- <EFBFBD>亦<EFBFBD><EFBFBD><EFBFBD><EFBFBD>㗇㺭<EFBFBD>桐耨<EFBFBD>寡扇敶𤏪<EFBFBD>FDA 21 CFR Part 11嚗?
|
||||
- <20>亦<EFBFBD>IIT璅∪<E79285><E288AA>詨<EFBFBD><E8A9A8>滢<EFBFBD>
|
||||
- 撖澆枂摰∟恣<E2889F>亙<EFBFBD>嚗<EFBFBD>𣈲<EFBFBD><F0A388B2>倌<EFBFBD>漤<EFBFBD>霂<EFBFBD><E99C82>
|
||||
|
||||
---
|
||||
|
||||
## 🔐 角色与权限设计
|
||||
## <EFBFBD><EFBFBD> 閫坿𠧧銝擧<E98A9D><E693A7>鞱挽霈?
|
||||
|
||||
### 医院端角色
|
||||
### <EFBFBD>駁堺蝡航<EFBFBD><EFBFBD>?
|
||||
|
||||
| 閫坿𠧧 | 閫坿𠧧Code | <20><><EFBFBD><EFBFBD><EFBFBD>凒 | 霂湔<E99C82> |
|
||||
|------|---------|---------|------|
|
||||
| **医院管理员** | HOSPITAL_ADMIN | 租户级管理 | 管理医院内所有资源 |
|
||||
| **科室管理员** | DEPARTMENT_ADMIN | 科室级管理 | 仅管理自己科室 |
|
||||
| **<EFBFBD>駁堺蝞∠<EFBFBD><EFBFBD>?* | HOSPITAL_ADMIN | 蝘<EFBFBD><EFBFBD>蝥抒恣<EFBFBD>?| 蝞∠<E89D9E><E288A0>駁堺<E9A781><E5A0BA><EFBFBD><EFBFBD>㕑<EFBFBD>皞?|
|
||||
| **蝘穃恕蝞∠<EFBFBD><EFBFBD>?* | DEPARTMENT_ADMIN | 蝘穃恕蝥抒恣<EFBFBD>?| 隞<>恣<EFBFBD><E681A3>䌊撌梁<E6928C>摰?|
|
||||
| **<EFBFBD>餌<EFBFBD>/<2F>冽<EFBFBD>** | USER | <20>箇<EFBFBD><E7AE87>蠘<EFBFBD> | 雿輻鍂銝𡁜𦛚璅∪<E79285> |
|
||||
|
||||
### 药企端角色
|
||||
### <EFBFBD>臭<EFBFBD>蝡航<EFBFBD><EFBFBD>?
|
||||
|
||||
| 閫坿𠧧 | 閫坿𠧧Code | <20><><EFBFBD><EFBFBD><EFBFBD>凒 | 霂湔<E99C82> |
|
||||
|------|---------|---------|------|
|
||||
| **药企管理员** | PHARMA_ADMIN | 租户级管理 | 管理药企内所有资源 |
|
||||
| **项目负责人** | PROJECT_MANAGER | 项目级管理 | 管理特定IIT项目 |
|
||||
| **数据分析师** | DATA_ANALYST | 只读权限 | 查看项目数据和报告 |
|
||||
| **普通用户** | USER | 基础功能 | 使用业务模块 |
|
||||
| **<EFBFBD>臭<EFBFBD>蝞∠<EFBFBD><EFBFBD>?* | PHARMA_ADMIN | 蝘<EFBFBD><EFBFBD>蝥抒恣<EFBFBD>?| 蝞∠<E89D9E><E288A0>臭<EFBFBD><E887AD><EFBFBD><EFBFBD><EFBFBD>㕑<EFBFBD>皞?|
|
||||
| **憿寧𤌍韐蠘提鈭?* | PROJECT_MANAGER | 憿寧𤌍蝥抒恣<EFBFBD>?| 蝞∠<E89D9E><E288A0>孵<EFBFBD>IIT憿寧𤌍 |
|
||||
| **<EFBFBD>唳旿<EFBFBD><EFBFBD><EFBFBD>撣?* | DATA_ANALYST | <EFBFBD>芾粉<EFBFBD><EFBFBD><EFBFBD> | <20>亦<EFBFBD>憿寧𤌍<E5AFA7>唳旿<E594B3>峕𥁒<E5B395>?|
|
||||
| **<EFBFBD>桅<EFBFBD>𡁶鍂<EFBFBD>?* | USER | <20>箇<EFBFBD><E7AE87>蠘<EFBFBD> | 雿輻鍂銝𡁜𦛚璅∪<E79285> |
|
||||
|
||||
---
|
||||
|
||||
## <20><> <20><>﹝蝏𤘪<E89D8F>
|
||||
|
||||
```
|
||||
INST-机构管理端/
|
||||
├── README.md # 本文件
|
||||
├── 00-模块当前状态与开发指南.md # 快速上手指南
|
||||
│
|
||||
INST-<EFBFBD>箸<EFBFBD>蝞∠<EFBFBD>蝡?
|
||||
<EFBFBD>鎿<EFBFBD><EFBFBD><EFBFBD> README.md # <EFBFBD>祆<EFBFBD>隞?
|
||||
<EFBFBD>鎿<EFBFBD><EFBFBD><EFBFBD> 00-璅∪<E79285>敶枏<E695B6><E69E8F>嗆<EFBFBD><E59786><EFBFBD>撘<EFBFBD><E69298>烐<EFBFBD><E78390>?md # 敹恍<EFBFBD>煺<EFBFBD><EFBFBD>𧢲<EFBFBD><EFBFBD>?
|
||||
<EFBFBD>?
|
||||
<EFBFBD>鎿<EFBFBD><EFBFBD><EFBFBD> 00-蝟餌<E89D9F>霈曇恣/ # 蝟餌<E89D9F><E9A48C>嗆<EFBFBD>霈曇恣
|
||||
│
|
||||
├── 01-需求分析/ # PRD文档
|
||||
│
|
||||
├── 02-技术设计/ # 技术设计文档
|
||||
│
|
||||
<EFBFBD>?
|
||||
<EFBFBD>鎿<EFBFBD><EFBFBD><EFBFBD> 01-<2D><>瘙<EFBFBD><E79899><EFBFBD>? # PRD<EFBFBD><EFBFBD>﹝
|
||||
<EFBFBD>?
|
||||
<EFBFBD>鎿<EFBFBD><EFBFBD><EFBFBD> 02-<2D><><EFBFBD>航挽霈? # <EFBFBD><EFBFBD><EFBFBD>航挽霈⊥<EFBFBD>獢?
|
||||
<EFBFBD>?
|
||||
<EFBFBD>鎿<EFBFBD><EFBFBD><EFBFBD> 03-UI霈曇恣/ # <20>笔<EFBFBD>銝䇊I霈曇恣
|
||||
│
|
||||
├── 04-开发计划/ # 开发计划与任务分解
|
||||
│
|
||||
├── 05-测试文档/ # 测试用例与测试数据
|
||||
│
|
||||
├── 06-开发记录/ # 每日开发总结
|
||||
│
|
||||
<EFBFBD>?
|
||||
<EFBFBD>鎿<EFBFBD><EFBFBD><EFBFBD> 04-撘<><E69298>𤏸恣<F0A48FB8>? # 撘<EFBFBD><EFBFBD>𤏸恣<EFBFBD>雴<EFBFBD>隞餃𦛚<EFBFBD><EFBFBD>圾
|
||||
<EFBFBD>?
|
||||
<EFBFBD>鎿<EFBFBD><EFBFBD><EFBFBD> 05-瘚贝<E7989A><E8B49D><EFBFBD>﹝/ # 瘚贝<EFBFBD><EFBFBD>其<EFBFBD>銝擧<EFBFBD>霂閙㺭<EFBFBD>?
|
||||
<EFBFBD>?
|
||||
<EFBFBD>鎿<EFBFBD><EFBFBD><EFBFBD> 06-撘<><E69298>𤏸扇敶? # 瘥𤩺𠯫撘<EFBFBD><EFBFBD>烐<EFBFBD>餌<EFBFBD>
|
||||
<EFBFBD>?
|
||||
<EFBFBD>婙<EFBFBD><EFBFBD><EFBFBD> 07-<2D><><EFBFBD>臬<EFBFBD>箏𦛚/ # <20><><EFBFBD>臬<EFBFBD>箏𦛚皜<F0A69B9A><E79A9C>
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🗄️ 数据库Schema
|
||||
## <EFBFBD><EFBFBD>儭?<3F>唳旿摨廍chema
|
||||
|
||||
### 核心表(platform_schema)
|
||||
### <EFBFBD>詨<EFBFBD>銵剁<EFBFBD>platform_schema嚗?
|
||||
|
||||
- `tenants` - 租户表(机构基本信息)
|
||||
- `tenants` - 蝘<EFBFBD><EFBFBD>銵剁<EFBFBD><EFBFBD>箸<EFBFBD><EFBFBD>箸𧋦靽⊥<EFBFBD>嚗?
|
||||
- `tenant_members` - 蝘<><E89D98><EFBFBD>𣂼<EFBFBD><F0A382BC>喟頂
|
||||
- `tenant_quotas` - 蝘<><E89D98><EFBFBD>漤<EFBFBD>
|
||||
- `tenant_quota_allocations` - 配额分配(科室/个人/项目)
|
||||
- `departments` - 科室表(医院专用)
|
||||
- `tenant_operation_logs` - 租户级操作日志
|
||||
- `tenant_quota_allocations` - <EFBFBD>漤<EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗<EFBFBD><EFBFBD>摰?銝芯犖/憿寧𤌍嚗?
|
||||
- `departments` - 蝘穃恕銵剁<EFBFBD><EFBFBD>駁堺銝梶鍂嚗?
|
||||
- `tenant_operation_logs` - 蝘<EFBFBD><EFBFBD>蝥扳<EFBFBD>雿𨀣𠯫敹?
|
||||
|
||||
### 关联表
|
||||
### <EFBFBD>唾<EFBFBD>銵?
|
||||
|
||||
- `users` - 用户表
|
||||
- `users` - <EFBFBD>冽<EFBFBD>銵?
|
||||
- `iit_projects` - IIT憿寧𤌍銵剁<E98AB5><E58981>臭<EFBFBD>蝡荔<E89DA1>
|
||||
- `admin_operation_logs` - 审计日志(可按module过滤)
|
||||
- `admin_operation_logs` - 摰∟恣<EFBFBD>亙<EFBFBD>嚗<EFBFBD>虾<EFBFBD>电odule餈<EFBFBD>誘嚗?
|
||||
|
||||
---
|
||||
|
||||
## <20><> <20><><EFBFBD>舀<EFBFBD>
|
||||
|
||||
### <20>𡒊垢
|
||||
- **框架:** Fastify + Prisma
|
||||
- **獢<EFBFBD>沲嚗?* Fastify + Prisma
|
||||
- **<2A>唳旿摨橒<E691A8>** PostgreSQL 14+
|
||||
- **认证:** JWT(继承运营管理端)
|
||||
- **权限:** RBAC(继承运营管理端)
|
||||
- **霈方<EFBFBD>嚗?* JWT嚗<54>誧<EFBFBD>輯<EFBFBD><E8BCAF>亦恣<E4BAA6><E681A3>垢嚗?
|
||||
- **<EFBFBD><EFBFBD><EFBFBD>嚗?* RBAC嚗<EFBFBD>誧<EFBFBD>輯<EFBFBD><EFBFBD>亦恣<EFBFBD><EFBFBD>垢嚗?
|
||||
|
||||
### <20>滨垢
|
||||
- **框架:** React 19 + TypeScript
|
||||
- **獢<EFBFBD>沲嚗?* React 19 + TypeScript
|
||||
- **UI摨橒<E691A8>** Ant Design 6.0
|
||||
- **<2A>嗆<EFBFBD><E59786>恣<EFBFBD><E681A3><EFBFBD>** React Context + Hooks
|
||||
- **路由:** React Router v6
|
||||
- **頝舐眏嚗?* React Router v6
|
||||
|
||||
---
|
||||
|
||||
@@ -158,39 +158,39 @@ INST-机构管理端/
|
||||
### 蝘<><E89D98>銝枏<E98A9D><E69E8F>餃<EFBFBD>
|
||||
|
||||
```
|
||||
# 医院端登录
|
||||
# <EFBFBD>駁堺蝡舐蒈敶?
|
||||
https://platform.example.com/t/hospital-301/login
|
||||
|
||||
# 药企端登录
|
||||
# <EFBFBD>臭<EFBFBD>蝡舐蒈敶?
|
||||
https://platform.example.com/t/pharma-abc/login
|
||||
```
|
||||
|
||||
### <20><><EFBFBD>摰𡁜<E691B0>
|
||||
|
||||
- Logo(租户自定义)
|
||||
- Logo嚗<EFBFBD><EFBFBD><EFBFBD>瑁䌊摰帋<EFBFBD>嚗?
|
||||
- <20>峕艶<E5B395>橘<EFBFBD>蝘<EFBFBD><E89D98><EFBFBD>芸<EFBFBD>銋㚁<E98A8B>
|
||||
- 銝駁<E98A9D><E9A781>莎<EFBFBD>蝘<EFBFBD><E89D98><EFBFBD>芸<EFBFBD>銋㚁<E98A8B>
|
||||
- 系统名称(租户自定义)
|
||||
- 蝟餌<EFBFBD><EFBFBD>滨妍嚗<EFBFBD><EFBFBD><EFBFBD>瑁䌊摰帋<EFBFBD>嚗?
|
||||
|
||||
**数据来源:** `tenants.config` (JSONB字段)
|
||||
**<EFBFBD>唳旿<EFBFBD>交<EFBFBD>嚗?* `tenants.config` (JSONB摮埈挾)
|
||||
|
||||
---
|
||||
|
||||
## <20><> 撘<><E69298>𤏸楝蝥踹㦛嚗<E3A69B><E59A97>摰𡄯<E691B0>
|
||||
|
||||
### Phase 1: 医院管理端MVP(Week 5-6)
|
||||
### Phase 1: <EFBFBD>駁堺蝞∠<EFBFBD>蝡烘VP嚗Áeek 5-6嚗?
|
||||
- [ ] <20>冽<EFBFBD>蝞∠<E89D9E><E288A0>屸𢒰
|
||||
- [ ] 蝘穃恕蝞∠<E89D9E><E288A0>屸𢒰
|
||||
- [ ] <20>漤<EFBFBD><E6BCA4><EFBFBD><EFBFBD><EFBFBD>屸𢒰
|
||||
- [ ] 租户专属登录页
|
||||
- [ ] 蝘<EFBFBD><EFBFBD>銝枏<EFBFBD><EFBFBD>餃<EFBFBD>憿?
|
||||
|
||||
### Phase 2: 药企管理端MVP(Week 7-8)
|
||||
### Phase 2: <EFBFBD>臭<EFBFBD>蝞∠<EFBFBD>蝡烘VP嚗Áeek 7-8嚗?
|
||||
- [ ] <20>冽<EFBFBD>蝞∠<E89D9E><E288A0>屸𢒰
|
||||
- [ ] 憿寧𤌍蝞∠<E89D9E><E288A0>屸𢒰
|
||||
- [ ] <20>漤<EFBFBD><E6BCA4><EFBFBD><EFBFBD><EFBFBD>屸𢒰
|
||||
- [ ] 摰∟恣<E2889F>亙<EFBFBD><E4BA99>亥砭嚗<E7A0AD><E59A97>閫<EFBFBD><E996AB>
|
||||
|
||||
### Phase 3: 功能完善(Week 9+)
|
||||
### Phase 3: <EFBFBD>蠘<EFBFBD>摰<EFBFBD><EFBFBD>嚗Áeek 9+嚗?
|
||||
- [ ] 蝏蠘恣<E8A098>亥”
|
||||
- [ ] <20>漤<EFBFBD>憸<EFBFBD>郎
|
||||
- [ ] <20>寥<EFBFBD><E5AFA5>滢<EFBFBD>
|
||||
@@ -198,39 +198,39 @@ https://platform.example.com/t/pharma-abc/login
|
||||
|
||||
---
|
||||
|
||||
## 🔗 与运营管理端的关系
|
||||
## <EFBFBD><EFBFBD> 銝舘<E98A9D><E88898>亦恣<E4BAA6><E681A3>垢<EFBFBD><E59EA2><EFBFBD>蝟?
|
||||
|
||||
```
|
||||
┌────────────────────────────────────────┐
|
||||
│ ADMIN - 运营管理端(内部) │
|
||||
│ │
|
||||
│ - 创建/管理所有租户 │
|
||||
│ - 分配总配额 │
|
||||
│ - 全局用户管理 │
|
||||
│ - Prompt管理 │
|
||||
└────────────────────────────────────────┘
|
||||
│
|
||||
│ 创建租户 & 分配配额
|
||||
↓
|
||||
┌────────────────────────────────────────┐
|
||||
│ INST - 机构管理端(客户自服务) │
|
||||
│ │
|
||||
│ 🏥 医院端 │
|
||||
│ - 管理医院内部用户 │
|
||||
│ - 按科室/个人分配配额 │
|
||||
│ - 查看医院内审计日志 │
|
||||
│ │
|
||||
│ 💊 药企端 │
|
||||
│ - 管理药企内部用户 │
|
||||
│ - 按项目/个人分配配额 │
|
||||
│ - 查看IIT模块审计日志(合规) │
|
||||
└────────────────────────────────────────┘
|
||||
│
|
||||
│ 使用业务模块
|
||||
↓
|
||||
┌────────────────────────────────────────┐
|
||||
│ 业务模块(ASL/DC/IIT等) │
|
||||
└────────────────────────────────────────┘
|
||||
<EFBFBD>𢞖<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
|
||||
<EFBFBD>? ADMIN - 餈鞱𨯫蝞∠<EFBFBD>蝡荔<EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗? <EFBFBD>?
|
||||
<EFBFBD>? <EFBFBD>?
|
||||
<EFBFBD>? - <EFBFBD>𥕦遣/蝞∠<E89D9E><E288A0><EFBFBD><EFBFBD>厩<EFBFBD><E58EA9>? <EFBFBD>?
|
||||
<EFBFBD>? - <EFBFBD><EFBFBD><EFBFBD><EFBFBD>駁<EFBFBD>憸? <EFBFBD>?
|
||||
<EFBFBD>? - <EFBFBD>典<EFBFBD><EFBFBD>冽<EFBFBD>蝞∠<EFBFBD> <EFBFBD>?
|
||||
<EFBFBD>? - Prompt蝞∠<EFBFBD> <EFBFBD>?
|
||||
<EFBFBD>婙<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
|
||||
<EFBFBD>?
|
||||
<EFBFBD>?<3F>𥕦遣蝘<E981A3><E89D98> & <20><><EFBFBD><EFBFBD>漤<EFBFBD>
|
||||
<EFBFBD>?
|
||||
<EFBFBD>𢞖<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
|
||||
<EFBFBD>? INST - <EFBFBD>箸<EFBFBD>蝞∠<EFBFBD>蝡荔<EFBFBD>摰X<EFBFBD><EFBFBD>芣<EFBFBD><EFBFBD>∴<EFBFBD> <EFBFBD>?
|
||||
<EFBFBD>? <EFBFBD>?
|
||||
<EFBFBD>? <20>蘂 <20>駁堺蝡? <EFBFBD>?
|
||||
<EFBFBD>? - 蝞∠<EFBFBD><EFBFBD>駁堺<EFBFBD><EFBFBD><EFBFBD><EFBFBD>冽<EFBFBD> <EFBFBD>?
|
||||
<EFBFBD>? - <EFBFBD>厩<EFBFBD>摰?銝芯犖<E88AAF><E78A96><EFBFBD><EFBFBD>漤<EFBFBD> <EFBFBD>?
|
||||
<EFBFBD>? - <EFBFBD>亦<EFBFBD><EFBFBD>駁堺<EFBFBD><EFBFBD>恣霈⊥𠯫敹? <EFBFBD>?
|
||||
<EFBFBD>? <EFBFBD>?
|
||||
<EFBFBD>? <20><> <20>臭<EFBFBD>蝡? <EFBFBD>?
|
||||
<EFBFBD>? - 蝞∠<EFBFBD><EFBFBD>臭<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>冽<EFBFBD> <EFBFBD>?
|
||||
<EFBFBD>? - <EFBFBD>厰★<EFBFBD>?銝芯犖<E88AAF><E78A96><EFBFBD><EFBFBD>漤<EFBFBD> <EFBFBD>?
|
||||
<EFBFBD>? - <EFBFBD>亦<EFBFBD>IIT璅∪<EFBFBD>摰∟恣<EFBFBD>亙<EFBFBD>嚗<EFBFBD><EFBFBD>閫<EFBFBD><EFBFBD> <EFBFBD>?
|
||||
<EFBFBD>婙<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
|
||||
<EFBFBD>?
|
||||
<EFBFBD>?雿輻鍂銝𡁜𦛚璅∪<E79285>
|
||||
<EFBFBD>?
|
||||
<EFBFBD>𢞖<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
|
||||
<EFBFBD>? 銝𡁜𦛚璅∪<EFBFBD>嚗㇁SL/DC/IIT蝑㚁<EFBFBD> <EFBFBD>?
|
||||
<EFBFBD>婙<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
|
||||
```
|
||||
|
||||
---
|
||||
@@ -242,47 +242,47 @@ https://platform.example.com/t/pharma-abc/login
|
||||
<EFBFBD>曹<EFBFBD><EFBFBD>箸<EFBFBD>蝞∠<EFBFBD>蝡臬<EFBFBD><EFBFBD>芸<EFBFBD>憪见<EFBFBD><EFBFBD>𡢅<EFBFBD>撱箄悅<EFBFBD><EFBFBD><EFBFBD>霂餉<EFBFBD><EFBFBD>亦恣<EFBFBD><EFBFBD>垢<EFBFBD><EFBFBD>㮾<EFBFBD>單<EFBFBD>獢<EFBFBD><EFBFBD>
|
||||
|
||||
1. **<EFBFBD>嗆<EFBFBD><EFBFBD>箇<EFBFBD>**
|
||||
→ `../ADMIN-运营管理端/00-系统设计/00-权限与角色体系梳理报告_v1.0.md`
|
||||
<EFBFBD>?`../ADMIN-餈鞱𨯫蝞∠<EFBFBD>蝡?00-蝟餌<E89D9F>霈曇恣/00-<2D><><EFBFBD>銝舘<E98A9D><E88898>脖<EFBFBD>蝟餅4<E9A485><EFBC94>𥁒<EFBFBD>𠽤v1.0.md`
|
||||
|
||||
2. **需求文档**
|
||||
→ `../ADMIN-运营管理端/01-需求分析/02-通用能力层_07-运营与机构管理端PRD_v2.1.md`
|
||||
2. **<EFBFBD><EFBFBD>瘙<EFBFBD><EFBFBD>獢?*
|
||||
<EFBFBD>?`../ADMIN-餈鞱𨯫蝞∠<EFBFBD>蝡?01-<2D><>瘙<EFBFBD><E79899><EFBFBD>?02-<2D>𡁶鍂<F0A181B6>賢<EFBFBD>撅<EFBFBD>07-餈鞱𨯫銝擧㦤<E693A7><E3A6A4>恣<EFBFBD><E681A3>垢PRD_v2.1.md`
|
||||
嚗<>砲<EFBFBD><E7A0B2>﹝<EFBFBD>峕𧒄<E5B395><F0A79284>鉄餈鞱𨯫蝡臬<E89DA1><E887AC>箸<EFBFBD>蝡舫<E89DA1>瘙<EFBFBD><E79899>
|
||||
|
||||
### 待创建文档
|
||||
### 敺<EFBFBD><EFBFBD>撱箸<EFBFBD>獢?
|
||||
|
||||
- [ ] `00-系统设计/01-机构管理端架构设计.md`
|
||||
- [ ] `01-需求分析/01-医院管理端PRD.md`
|
||||
- [ ] `01-需求分析/02-药企管理端PRD.md`
|
||||
- [ ] `02-技术设计/01-API设计文档.md`
|
||||
- [ ] `02-技术设计/02-数据库设计文档.md`
|
||||
- [ ] `03-UI设计/01-医院端原型设计.html`
|
||||
- [ ] `03-UI设计/02-药企端原型设计.html`
|
||||
- [ ] `00-蝟餌<EFBFBD>霈曇恣/01-<2D>箸<EFBFBD>蝞∠<E89D9E>蝡舀沲<E88880><E6B2B2>挽霈?md`
|
||||
- [ ] `01-<EFBFBD><EFBFBD>瘙<EFBFBD><EFBFBD><EFBFBD>?01-<2D>駁堺蝞∠<E89D9E>蝡烈RD.md`
|
||||
- [ ] `01-<EFBFBD><EFBFBD>瘙<EFBFBD><EFBFBD><EFBFBD>?02-<2D>臭<EFBFBD>蝞∠<E89D9E>蝡烈RD.md`
|
||||
- [ ] `02-<EFBFBD><EFBFBD><EFBFBD>航挽霈?01-API霈曇恣<E69B87><E681A3>﹝.md`
|
||||
- [ ] `02-<EFBFBD><EFBFBD><EFBFBD>航挽霈?02-<2D>唳旿摨栞挽霈⊥<E99C88>獢?md`
|
||||
- [ ] `03-UI霈曇恣/01-<EFBFBD>駁堺蝡臬<EFBFBD><EFBFBD>贝挽霈?html`
|
||||
- [ ] `03-UI霈曇恣/02-<EFBFBD>臭<EFBFBD>蝡臬<EFBFBD><EFBFBD>贝挽霈?html`
|
||||
|
||||
---
|
||||
|
||||
## <20>𩤃<EFBFBD> 瘜冽<E7989C>鈭钅★
|
||||
|
||||
### 安全性
|
||||
### 摰匧<EFBFBD><EFBFBD>?
|
||||
|
||||
1. **多租户隔离**
|
||||
1. **憭𡁶<EFBFBD><EFBFBD>琿<EFBFBD>蝳?*
|
||||
- <20><><EFBFBD>㗇䰻霂W<E99C82>憿餃蒂`tenantId`餈<EFBFBD>誘
|
||||
- 防止跨租户数据访问
|
||||
- <EFBFBD>脫迫頝函<EFBFBD><EFBFBD>瑟㺭<EFBFBD>株挪<EFBFBD>?
|
||||
|
||||
2. **<EFBFBD><EFBFBD><EFBFBD><EFBFBD>批<EFBFBD>**
|
||||
- 科室管理员只能管理自己科室
|
||||
- 蝘穃恕蝞∠<EFBFBD><EFBFBD>睃蘨<EFBFBD>賜恣<EFBFBD><EFBFBD>䌊撌梁<EFBFBD>摰?
|
||||
- 憿寧𤌍韐蠘提鈭箏蘨<E7AE8F>賜恣<E8B39C><E681A3>䌊撌梁<E6928C>憿寧𤌍
|
||||
|
||||
3. **摰∟恣<E2889F>亙<EFBFBD>**
|
||||
- 所有操作必须记录
|
||||
- <EFBFBD><EFBFBD><EFBFBD>㗇<EFBFBD>雿𨅯<EFBFBD>憿餉扇敶?
|
||||
- <20>臭<EFBFBD>蝡舫<E89DA1>閬<EFBFBD>說頞蚶DA<44><41><EFBFBD>閬<EFBFBD><E996AC>
|
||||
|
||||
### <20>扯<EFBFBD>隡睃<E99AA1>
|
||||
|
||||
1. **<EFBFBD>漤<EFBFBD>霈∠<EFBFBD>**
|
||||
- 使用数据库聚合查询
|
||||
- 增加缓存层(app_cache)
|
||||
- 雿輻鍂<EFBFBD>唳旿摨栞<EFBFBD><EFBFBD><EFBFBD>䰻霂?
|
||||
- 憓𧼮<EFBFBD>蝻枏<EFBFBD>撅<EFBFBD><EFBFBD>app_cache嚗?
|
||||
|
||||
2. **科室树查询**
|
||||
2. **蝘穃恕<EFBFBD>烐䰻霂?*
|
||||
- 雿輻鍂<E8BCBB>鍦<EFBFBD>CTE<54>亥砭
|
||||
- <20>滨垢蝻枏<E89DBB>蝘穃恕蝏𤘪<E89D8F>
|
||||
|
||||
@@ -290,17 +290,17 @@ https://platform.example.com/t/pharma-abc/login
|
||||
|
||||
## <20><> <20>𠉛頂<F0A0899B>孵<EFBFBD>
|
||||
|
||||
- **技术负责人:** [待定]
|
||||
- **<EFBFBD><EFBFBD><EFBFBD>航<EFBFBD>韐<EFBFBD>犖嚗?* [敺<><E695BA>]
|
||||
- **鈭批<E988AD>韐蠘提鈭綽<E988AD>** [敺<><E695BA>]
|
||||
|
||||
---
|
||||
|
||||
## 🔄 开发依赖
|
||||
## <EFBFBD><EFBFBD> 撘<><E69298>睲<EFBFBD>韏?
|
||||
|
||||
**<EFBFBD>滨蔭<EFBFBD>∩辣嚗<EFBFBD><EFBFBD>憿餃<EFBFBD>摰峕<EFBFBD>嚗㚁<EFBFBD>**
|
||||
- ✅ 运营管理端基础架构(认证、权限、租户管理)
|
||||
- ✅ 租户专属登录页
|
||||
- ✅ 品牌定制配置
|
||||
- <EFBFBD>?餈鞱𨯫蝞∠<E89D9E>蝡臬抅蝖<E68A85><E89D96>嗆<EFBFBD>嚗<EFBFBD>恕霂<E68195><E99C82><EFBFBD><EFBFBD><EFBFBD>僐<EFBFBD><E58390><EFBFBD><EFBFBD>瑞恣<E7919E><E681A3><EFBFBD>
|
||||
- <EFBFBD>?蝘<><E89D98>銝枏<E98A9D><E69E8F>餃<EFBFBD>憿?
|
||||
- <EFBFBD>?<3F><><EFBFBD>摰𡁜<E691B0><F0A1819C>滨蔭
|
||||
|
||||
**<EFBFBD>臬僎銵<EFBFBD><EFBFBD><EFBFBD>𡢅<EFBFBD>**
|
||||
- <20>駁堺蝡狹I霈曇恣
|
||||
@@ -315,3 +315,4 @@ https://platform.example.com/t/pharma-abc/login
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user