feat(admin): Add user management and upgrade to module permission system
Features - User Management (Phase 4.1): - Database: Add user_modules table for fine-grained module permissions - Database: Add 4 user permissions (view/create/edit/delete) to role_permissions - Backend: UserService (780 lines) - CRUD with tenant isolation - Backend: UserController + UserRoutes (648 lines) - 13 API endpoints - Backend: Batch import users from Excel - Frontend: UserListPage (412 lines) - list/filter/search/pagination - Frontend: UserFormPage (341 lines) - create/edit with module config - Frontend: UserDetailPage (393 lines) - details/tenant/module management - Frontend: 3 modal components (592 lines) - import/assign/configure - API: GET/POST/PUT/DELETE /api/admin/users/* endpoints Architecture Upgrade - Module Permission System: - Backend: Add getUserModules() method in auth.service - Backend: Login API returns modules array in user object - Frontend: AuthContext adds hasModule() method - Frontend: Navigation filters modules based on user.modules - Frontend: RouteGuard checks requiredModule instead of requiredVersion - Frontend: Remove deprecated version-based permission system - UX: Only show accessible modules in navigation (clean UI) - UX: Smart redirect after login (avoid 403 for regular users) Fixes: - Fix UTF-8 encoding corruption in ~100 docs files - Fix pageSize type conversion in userService (String to Number) - Fix authUser undefined error in TopNavigation - Fix login redirect logic with role-based access check - Update Git commit guidelines v1.2 with UTF-8 safety rules Database Changes: - CREATE TABLE user_modules (user_id, tenant_id, module_code, is_enabled) - ADD UNIQUE CONSTRAINT (user_id, tenant_id, module_code) - INSERT 4 permissions + role assignments - UPDATE PUBLIC tenant with 8 module subscriptions Technical: - Backend: 5 new files (~2400 lines) - Frontend: 10 new files (~2500 lines) - Docs: 1 development record + 2 status updates + 1 guideline update - Total: ~4900 lines of code Status: User management 100% complete, module permission system operational
This commit is contained in:
@@ -1,27 +1,27 @@
|
||||
# AI临床研究平台 - 部署文档使用指南
|
||||
|
||||
> **文档版本**:v1.0
|
||||
> **鍒涘缓鏃ユ湡**锛?025-12-25
|
||||
> **鐢ㄩ€?*锛氬府鍔╂偍蹇<E5818D>€熸壘鍒伴渶瑕佺殑閮ㄧ讲鏂囨。
|
||||
> **创建日期**:2025-12-25
|
||||
> **用途**:帮助您快速找到需要的部署文档
|
||||
|
||||
---
|
||||
|
||||
## 馃幆 蹇<>€熷<E282AC>鑸?
|
||||
## 🎯 快速导航
|
||||
|
||||
### 鎴戝簲璇ョ湅鍝<EFBFBD>釜鏂囨。锛?
|
||||
### 我应该看哪个文档?
|
||||
|
||||
鏍规嵁鎮ㄧ殑闇€姹傞€夋嫨锛?
|
||||
根据您的需求选择:
|
||||
|
||||
| 场景 | 推荐文档 | 说明 |
|
||||
|------|---------|------|
|
||||
| 馃殌 **瀹屾暣閮ㄧ讲绯荤粺锛堟帹鑽愶級** | [17-瀹屾暣閮ㄧ讲瀹炴垬鎵嬪唽-2025鐗?md](./17-瀹屾暣閮ㄧ讲瀹炴垬鎵嬪唽-2025鐗?md) | 鍩轰簬瀹炴垬缁忛獙锛屽寘鍚<EFBFBD>墍鏈夊潙鐐瑰拰瑙e喅鏂规<EFBFBD> |
|
||||
| 馃摎 **瀛︿範閮ㄧ讲鍘熺悊** | [01-蹇<EFBFBD>€熼儴缃睸OP-闆跺熀纭€鐗?md](./01-蹇<>€熼儴缃睸OP-闆跺熀纭€鐗?md) | 闆跺熀纭€瀹屾暣鏁欑▼ |
|
||||
| 🚀 **完整部署系统(推荐)** | [17-完整部署实战手册-2025版.md](./17-完整部署实战手册-2025版.md) | 基于实战经验,包含所有坑点和解决方案 |
|
||||
| 📚 **学习部署原理** | [01-快速部署SOP-零基础版.md](./01-快速部署SOP-零基础版.md) | 零基础完整教程 |
|
||||
| 🔍 **查询资源信息** | [00-部署进度总览.md](./00-部署进度总览.md) | IP地址、密码、环境变量等 |
|
||||
| 馃悕 **鍙<EFBFBD>儴缃睵ython鏈嶅姟** | [09-Python寰<EFBFBD>湇鍔?SAE閮ㄧ讲鎿嶄綔鎵嬪唽.md](./09-Python寰<EFBFBD>湇鍔?SAE閮ㄧ讲鎿嶄綔鎵嬪唽.md) | Python寰<EFBFBD>湇鍔¢儴缃叉<EFBFBD>楠?|
|
||||
| 🐍 **只部署Python服务** | [09-Python微服务-SAE部署操作手册.md](./09-Python微服务-SAE部署操作手册.md) | Python微服务部署步骤 |
|
||||
| 🟢 **只部署Node.js后端** | [12-Node.js后端-SAE部署操作手册.md](./12-Node.js后端-SAE部署操作手册.md) | Node.js后端部署步骤 |
|
||||
| 🎨 **只部署前端Nginx** | [07-前端Nginx-SAE部署操作手册.md](./07-前端Nginx-SAE部署操作手册.md) | 前端Nginx部署步骤 |
|
||||
| 馃梽锔?**鍙<>儴缃叉暟鎹<E69A9F>簱** | [08-PostgreSQL鏁版嵁搴撻儴缃叉搷浣滄墜鍐?md](./08-PostgreSQL鏁版嵁搴撻儴缃叉搷浣滄墜鍐?md) | PostgreSQL鏁版嵁搴撻儴缃?|
|
||||
| 鉂?**閬囧埌闂<E59F8C><E99782>鎺掓煡** | [15-Node.js鍚庣<EFBFBD>-閮ㄧ讲鎴愬姛鎬荤粨.md](./15-Node.js鍚庣<EFBFBD>-閮ㄧ讲鎴愬姛鎬荤粨.md) | 甯歌<E794AF>闂<EFBFBD><E99782>鍙婅В鍐虫柟妗?|
|
||||
| 🗄️ **只部署数据库** | [08-PostgreSQL数据库部署操作手册.md](./08-PostgreSQL数据库部署操作手册.md) | PostgreSQL数据库部署 |
|
||||
| ❌ **遇到问题排查** | [15-Node.js后端-部署成功总结.md](./15-Node.js后端-部署成功总结.md) | 常见问题及解决方案 |
|
||||
|
||||
---
|
||||
|
||||
@@ -31,31 +31,31 @@
|
||||
|
||||
```
|
||||
📂 05-部署文档/
|
||||
鈹溾攢鈹€ 馃搫 00-閮ㄧ讲杩涘害鎬昏<E98EAC>.md 猸愨瓙猸愨瓙猸?
|
||||
鈹? 鈹斺攢鈹€ 浣滅敤锛氳祫婧愰€熸煡銆両P鍦板潃銆佺幆澧冨彉閲忋€佹枃妗g储寮?
|
||||
鈹?
|
||||
鈹溾攢鈹€ 馃搫 17-瀹屾暣閮ㄧ讲瀹炴垬鎵嬪唽-2025鐗?md 猸愨瓙猸愨瓙猸?
|
||||
鈹? 鈹斺攢鈹€ 浣滅敤锛氬畬鏁撮儴缃叉祦绋嬨€佸疄鎴樼粡楠屻€侀棶棰樿В鍐?
|
||||
鈹?
|
||||
鈹斺攢鈹€ 馃搫 01-蹇<>€熼儴缃睸OP-闆跺熀纭€鐗?md 猸愨瓙猸愨瓙
|
||||
鈹斺攢鈹€ 浣滅敤锛氶浂鍩虹<E98DA9>鏁欑▼銆佽<E98A86>缁嗗師鐞嗚<E9909E>瑙?
|
||||
├── 📄 00-部署进度总览.md ⭐⭐⭐⭐⭐
|
||||
│ └── 作用:资源速查、IP地址、环境变量、文档索引
|
||||
│
|
||||
├── 📄 17-完整部署实战手册-2025版.md ⭐⭐⭐⭐⭐
|
||||
│ └── 作用:完整部署流程、实战经验、问题解决
|
||||
│
|
||||
└── 📄 01-快速部署SOP-零基础版.md ⭐⭐⭐⭐
|
||||
└── 作用:零基础教程、详细原理讲解
|
||||
```
|
||||
|
||||
### 鏈嶅姟閮ㄧ讲鎵嬪唽锛堟寜闇€鏌ョ湅锛?
|
||||
### 服务部署手册(按需查看)
|
||||
|
||||
```
|
||||
📂 服务部署操作手册/
|
||||
鈹溾攢鈹€ 馃搫 09-Python寰<EFBFBD>湇鍔?SAE閮ㄧ讲鎿嶄綔鎵嬪唽.md 猸愨瓙猸?
|
||||
鈹溾攢鈹€ 馃搫 12-Node.js鍚庣<EFBFBD>-SAE閮ㄧ讲鎿嶄綔鎵嬪唽.md 猸愨瓙猸?
|
||||
鈹溾攢鈹€ 馃搫 07-鍓嶇<EFBFBD>Nginx-SAE閮ㄧ讲鎿嶄綔鎵嬪唽.md 猸愨瓙猸?
|
||||
鈹斺攢鈹€ 馃搫 08-PostgreSQL鏁版嵁搴撻儴缃叉搷浣滄墜鍐?md 猸愨瓙猸?
|
||||
├── 📄 09-Python微服务-SAE部署操作手册.md ⭐⭐⭐
|
||||
├── 📄 12-Node.js后端-SAE部署操作手册.md ⭐⭐⭐
|
||||
├── 📄 07-前端Nginx-SAE部署操作手册.md ⭐⭐⭐
|
||||
└── 📄 08-PostgreSQL数据库部署操作手册.md ⭐⭐⭐
|
||||
```
|
||||
|
||||
### 鎶€鏈<EFBFBD><EFBFBD>瑙f枃妗o紙娣卞叆鐞嗚В锛?
|
||||
### 技术详解文档(深入理解)
|
||||
|
||||
```
|
||||
馃搨 鎶€鏈<E282AC><E98F88>瑙?
|
||||
鈹溾攢鈹€ 馃搫 04-Python寰<EFBFBD>湇鍔?SAE瀹瑰櫒閮ㄧ讲鎸囧崡.md
|
||||
📂 技术详解/
|
||||
├── 📄 04-Python微服务-SAE容器部署指南.md
|
||||
├── 📄 05-Node.js后端-SAE容器部署指南.md
|
||||
├── 📄 06-前端Nginx-SAE容器部署指南.md
|
||||
└── 📄 10-Node.js后端-Docker镜像构建手册.md
|
||||
@@ -65,8 +65,8 @@
|
||||
|
||||
```
|
||||
📂 配置清单/
|
||||
鈹斺攢鈹€ 馃搫 11-Node.js鍚庣<EFBFBD>-SAE閮ㄧ讲閰嶇疆娓呭崟.md 猸愨瓙猸?
|
||||
鈹斺攢鈹€ 浣滅敤锛?1涓<31>幆澧冨彉閲忚<E996B2>缁嗚<E7BC81>鏄?
|
||||
└── 📄 11-Node.js后端-SAE部署配置清单.md ⭐⭐⭐
|
||||
└── 作用:21个环境变量详细说明
|
||||
```
|
||||
|
||||
### 问题修复记录(故障排查)
|
||||
@@ -75,101 +75,101 @@
|
||||
📂 问题修复/
|
||||
├── 📄 13-Node.js后端-镜像修复记录.md
|
||||
├── 📄 14-Node.js后端-pino-pretty问题修复.md
|
||||
鈹溾攢鈹€ 馃搫 15-Node.js鍚庣<EFBFBD>-閮ㄧ讲鎴愬姛鎬荤粨.md 猸愨瓙猸?
|
||||
├── 📄 15-Node.js后端-部署成功总结.md ⭐⭐⭐
|
||||
└── 📄 16-前端Nginx-部署成功总结.md
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 馃殌 涓嶅悓鍦烘櫙鐨勬帹鑽愰槄璇昏矾寰?
|
||||
## 🚀 不同场景的推荐阅读路径
|
||||
|
||||
### 鍦烘櫙1锛氶<EFBFBD>娆″畬鏁撮儴缃诧紙鏂版墜锛?
|
||||
### 场景1:首次完整部署(新手)
|
||||
|
||||
**闃呰<EFBFBD>椤哄簭**锛?
|
||||
1. 鉁?**鍏堢湅**锛歚17-瀹屾暣閮ㄧ讲瀹炴垬鎵嬪唽-2025鐗?md`锛?灏忔椂锛?
|
||||
**阅读顺序**:
|
||||
1. ✅ **先看**:`17-完整部署实战手册-2025版.md`(2小时)
|
||||
- 了解完整流程
|
||||
- 准备所需资源
|
||||
- 鎸夋<EFBFBD>楠ゆ墽琛?
|
||||
- 按步骤执行
|
||||
|
||||
2. 鉁?**閬囧埌闂<E59F8C><E99782>鏃跺弬鑰?*锛?
|
||||
2. ✅ **遇到问题时参考**:
|
||||
- `15-Node.js后端-部署成功总结.md`
|
||||
- `00-部署进度总览.md`(查询资源信息)
|
||||
|
||||
3. 鉁?**鎯虫繁鍏ヤ簡瑙f椂鐪?*锛?
|
||||
- `01-蹇<EFBFBD>€熼儴缃睸OP-闆跺熀纭€鐗?md`
|
||||
3. ✅ **想深入了解时看**:
|
||||
- `01-快速部署SOP-零基础版.md`
|
||||
|
||||
**棰勮<EFBFBD>鏃堕棿**锛?.5 - 6灏忔椂
|
||||
**预计时间**:3.5 - 6小时
|
||||
|
||||
---
|
||||
|
||||
### 鍦烘櫙2锛氭洿鏂版煇涓<EFBFBD>湇鍔★紙鐔熺粌鐢ㄦ埛锛?
|
||||
### 场景2:更新某个服务(熟练用户)
|
||||
|
||||
**例如:更新Node.js后端代码**
|
||||
|
||||
**鎿嶄綔娴佺▼**锛?
|
||||
1. 鉁?淇<>敼浠g爜
|
||||
2. 鉁?鏈<>湴鏋勫缓闀滃儚锛?
|
||||
**操作流程**:
|
||||
1. ✅ 修改代码
|
||||
2. ✅ 本地构建镜像:
|
||||
```bash
|
||||
cd backend
|
||||
npm run build
|
||||
docker build -t backend-service:v1.4 .
|
||||
```
|
||||
3. 鉁?鎺ㄩ€佸埌ACR锛?
|
||||
3. ✅ 推送到ACR:
|
||||
```bash
|
||||
docker tag backend-service:v1.4 \
|
||||
crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/backend-service:v1.4
|
||||
docker push crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/backend-service:v1.4
|
||||
```
|
||||
4. 鉁?鍦⊿AE鎺у埗鍙帮細
|
||||
4. ✅ 在SAE控制台:
|
||||
- 进入应用 `nodejs-backend-test`
|
||||
- 鐐瑰嚮銆愰儴缃插簲鐢ㄣ€?
|
||||
- 閫夋嫨鏂扮増鏈?`v1.4`
|
||||
- 点击【部署应用】
|
||||
- 选择新版本 `v1.4`
|
||||
- 确认部署
|
||||
|
||||
**鍙傝€冩枃妗?*锛?
|
||||
**参考文档**:
|
||||
- `12-Node.js后端-SAE部署操作手册.md`(第3-4步)
|
||||
- `00-閮ㄧ讲杩涘害鎬昏<EFBFBD>.md`锛堟煡ACR鍦板潃锛?
|
||||
- `00-部署进度总览.md`(查ACR地址)
|
||||
|
||||
**棰勮<EFBFBD>鏃堕棿**锛?5-30鍒嗛挓
|
||||
**预计时间**:15-30分钟
|
||||
|
||||
---
|
||||
|
||||
### 鍦烘櫙3锛氫慨鏀圭幆澧冨彉閲?
|
||||
### 场景3:修改环境变量
|
||||
|
||||
**例如:修改Python服务地址**
|
||||
|
||||
**鎿嶄綔娴佺▼**锛?
|
||||
1. 鉁?鐧诲綍SAE鎺у埗鍙?
|
||||
2. 鉁?杩涘叆搴旂敤锛堝<E9949B> `nodejs-backend-test`锛?
|
||||
3. 鉁?鐐瑰嚮銆愬簲鐢ㄩ厤缃<E58EA4>€戔啋銆愮幆澧冨彉閲忋€?
|
||||
4. 鉁?淇<>敼鍙橀噺鍊?
|
||||
5. 鉁?鐐瑰嚮銆愰噸鍚<E599B8>簲鐢ㄣ€戯紙鈿狅笍 涓嶆槸"閮ㄧ讲搴旂敤"锛侊級
|
||||
**操作流程**:
|
||||
1. ✅ 登录SAE控制台
|
||||
2. ✅ 进入应用(如 `nodejs-backend-test`)
|
||||
3. ✅ 点击【应用配置】→【环境变量】
|
||||
4. ✅ 修改变量值
|
||||
5. ✅ 点击【重启应用】(⚠️ 不是"部署应用"!)
|
||||
|
||||
**鍙傝€冩枃妗?*锛?
|
||||
**参考文档**:
|
||||
- `11-Node.js后端-SAE部署配置清单.md`(环境变量说明)
|
||||
- `17-瀹屾暣閮ㄧ讲瀹炴垬鎵嬪唽-2025鐗?md`锛堢<EFBFBD>9.2鑺傦細閲嶅惎 vs 閮ㄧ讲锛?
|
||||
- `17-完整部署实战手册-2025版.md`(第9.2节:重启 vs 部署)
|
||||
|
||||
**棰勮<EFBFBD>鏃堕棿**锛?鍒嗛挓
|
||||
**预计时间**:5分钟
|
||||
|
||||
---
|
||||
|
||||
### 鍦烘櫙4锛氶棶棰樻帓鏌?
|
||||
### 场景4:问题排查
|
||||
|
||||
**閬囧埌闂<EFBFBD><EFBFBD>鏃剁殑鏌ユ壘椤哄簭**锛?
|
||||
**遇到问题时的查找顺序**:
|
||||
|
||||
1. 鉁?**鍏堟煡**锛歚17-瀹屾暣閮ㄧ讲瀹炴垬鎵嬪唽-2025鐗?md` 绗?鑺?
|
||||
1. ✅ **先查**:`17-完整部署实战手册-2025版.md` 第9节
|
||||
- 包含实际遇到的所有问题及解决方案
|
||||
- 鐜<><E9909C>鍙橀噺鍚嶉敊璇?
|
||||
- 环境变量名错误
|
||||
- config目录缺失
|
||||
- pino-pretty报错
|
||||
- ES Module鍏煎<EFBFBD>鎬?
|
||||
- ES Module兼容性
|
||||
- bash路径问题
|
||||
|
||||
2. 鉁?**鍐嶆煡**锛歚15-Node.js鍚庣<E98D9A>-閮ㄧ讲鎴愬姛鎬荤粨.md`
|
||||
- 璇︾粏鐨勯棶棰樹慨澶嶅巻绋?
|
||||
2. ✅ **再查**:`15-Node.js后端-部署成功总结.md`
|
||||
- 详细的问题修复历程
|
||||
|
||||
3. 鉁?**鍏蜂綋闂<E7B68B><E99782>鏌?*锛?
|
||||
- `13-Node.js鍚庣<EFBFBD>-闀滃儚淇<E5849A><E6B787>璁板綍.md`锛坈onfig闂<EFBFBD><EFBFBD>锛?
|
||||
3. ✅ **具体问题查**:
|
||||
- `13-Node.js后端-镜像修复记录.md`(config问题)
|
||||
- `14-Node.js后端-pino-pretty问题修复.md`(日志问题)
|
||||
|
||||
---
|
||||
@@ -193,105 +193,105 @@
|
||||
|
||||
## ⚠️ 重要提醒
|
||||
|
||||
### 1. 鐜<EFBFBD><EFBFBD>鍙橀噺鍚嶅繀椤荤簿纭?
|
||||
### 1. 环境变量名必须精确
|
||||
|
||||
**鉂?甯歌<E794AF>閿欒<E996BF>**锛?
|
||||
**❌ 常见错误**:
|
||||
```bash
|
||||
PYTHON_SERVICE_URL=http://172.17.173.66:8000
|
||||
```
|
||||
|
||||
**鉁?姝g‘閰嶇疆**锛?
|
||||
**✅ 正确配置**:
|
||||
```bash
|
||||
EXTRACTION_SERVICE_URL=http://172.17.173.66:8000
|
||||
```
|
||||
|
||||
**璇存槑**锛氫唬鐮佷腑浣跨敤鐨勬槸 `EXTRACTION_SERVICE_URL`锛屼笉鏄?`PYTHON_SERVICE_URL`锛?
|
||||
**说明**:代码中使用的是 `EXTRACTION_SERVICE_URL`,不是 `PYTHON_SERVICE_URL`!
|
||||
|
||||
---
|
||||
|
||||
### 2. 鍖哄垎"閲嶅惎搴旂敤"鍜?閮ㄧ讲搴旂敤"
|
||||
### 2. 区分"重启应用"和"部署应用"
|
||||
|
||||
| 鎿嶄綔 | 鐢ㄩ€?| IP鏄<50>惁鍙?| 浣曟椂浣跨敤 |
|
||||
| 操作 | 用途 | IP是否变 | 何时使用 |
|
||||
|------|------|---------|---------|
|
||||
| **閲嶅惎搴旂敤** | 閲嶅惎瀹瑰櫒 | 鉂?涓嶄細 | 淇<>敼鐜<E695BC><E9909C>鍙橀噺銆佽皟鏁撮厤缃?|
|
||||
| **閮ㄧ讲搴旂敤** | 鏇存柊闀滃儚 | 鉁?浼氬彉 | 鏇存柊浠g爜銆佹洿鏂伴暅鍍忕増鏈?|
|
||||
| **重启应用** | 重启容器 | ❌ 不会 | 修改环境变量、调整配置 |
|
||||
| **部署应用** | 更新镜像 | ✅ 会变 | 更新代码、更新镜像版本 |
|
||||
|
||||
**鏁欒<EFBFBD>**锛氬彧淇<E5BDA7>敼鐜<E695BC><E9909C>鍙橀噺鏃讹紝鐢?閲嶅惎搴旂敤"锛岄伩鍏岻P鍙樻洿锛?
|
||||
**教训**:只修改环境变量时,用"重启应用",避免IP变更!
|
||||
|
||||
---
|
||||
|
||||
### 3. 密码中的@符号要URL编码
|
||||
|
||||
**鉂?閿欒<E996BF>**锛?
|
||||
**❌ 错误**:
|
||||
```bash
|
||||
DATABASE_URL=postgresql://user:Xibahe@fengzhibo117@host:5432/db
|
||||
```
|
||||
|
||||
**鉁?姝g‘**锛?
|
||||
**✅ 正确**:
|
||||
```bash
|
||||
DATABASE_URL=postgresql://user:Xibahe%40fengzhibo117@host:5432/db
|
||||
```
|
||||
|
||||
**瑙勫垯**锛歚@` 鈫?`%40`
|
||||
**规则**:`@` → `%40`
|
||||
|
||||
---
|
||||
|
||||
### 4. 使用VPC地址拉取镜像(省钱)
|
||||
|
||||
**SAE鎷夊彇闀滃儚鏃?*锛?
|
||||
**SAE拉取镜像时**:
|
||||
```bash
|
||||
# 鉁?鎺ㄨ崘锛圴PC鍦板潃锛屽厤娴侀噺璐癸級
|
||||
# ✅ 推荐(VPC地址,免流量费)
|
||||
crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/backend-service:v1.3
|
||||
|
||||
# 鉂?涓嶆帹鑽愶紙鍏<E7B499>綉鍦板潃锛屾敹娴侀噺璐癸級
|
||||
# ❌ 不推荐(公网地址,收流量费)
|
||||
crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/backend-service:v1.3
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 馃挕 鏈€浣冲疄璺靛缓璁?
|
||||
## 💡 最佳实践建议
|
||||
|
||||
### 1. 閮ㄧ讲鍓嶅繀鍋?
|
||||
### 1. 部署前必做
|
||||
|
||||
- [ ] 闃呰<EFBFBD> `17-瀹屾暣閮ㄧ讲瀹炴垬鎵嬪唽-2025鐗?md`
|
||||
- [ ] 鍑嗗<EFBFBD>濂界幆澧冨彉閲忔竻鍗?
|
||||
- [ ] 阅读 `17-完整部署实战手册-2025版.md`
|
||||
- [ ] 准备好环境变量清单
|
||||
- [ ] 本地测试Docker镜像
|
||||
- [ ] 澶囦唤鏁版嵁搴?
|
||||
- [ ] 璁板綍褰撳墠鐗堟湰鍙?
|
||||
- [ ] 备份数据库
|
||||
- [ ] 记录当前版本号
|
||||
|
||||
### 2. 閮ㄧ讲涓<EFBFBD>敞鎰?
|
||||
### 2. 部署中注意
|
||||
|
||||
- [ ] 按顺序部署(数据库→Python→Node.js→前端)
|
||||
- [ ] 姣忎釜鏈嶅姟閮ㄧ讲鍚庨獙璇佸仴搴锋<EFBFBD>鏌?
|
||||
- [ ] 每个服务部署后验证健康检查
|
||||
- [ ] 记录内网IP地址
|
||||
- [ ] 截图重要配置
|
||||
|
||||
### 3. 閮ㄧ讲鍚庨獙璇?
|
||||
### 3. 部署后验证
|
||||
|
||||
- [ ] 健康检查通过
|
||||
- [ ] 前端可以访问
|
||||
- [ ] API请求正常
|
||||
- [ ] 宸ュ叿C鐨?澶у姛鑳芥祴璇?
|
||||
- [ ] 工具C的7大功能测试
|
||||
- [ ] 文献筛查功能测试
|
||||
- [ ] 鍝嶅簲鏃堕棿 < 1绉?
|
||||
- [ ] 响应时间 < 1秒
|
||||
|
||||
---
|
||||
|
||||
## 🔄 文档更新说明
|
||||
|
||||
### 鏈€鏂版洿鏂帮紙2025-12-25锛?
|
||||
### 最新更新(2025-12-25)
|
||||
|
||||
1. 鉁?鏂板<E98F82>锛歚17-瀹屾暣閮ㄧ讲瀹炴垬鎵嬪唽-2025鐗?md`
|
||||
1. ✅ 新增:`17-完整部署实战手册-2025版.md`
|
||||
- 基于实际部署经历编写
|
||||
- 包含所有坑点和解决方案
|
||||
- 完整的部署流程和验证步骤
|
||||
|
||||
2. 鉁?鏇存柊锛歚00-閮ㄧ讲杩涘害鎬昏<E98EAC>.md`
|
||||
2. ✅ 更新:`00-部署进度总览.md`
|
||||
- 添加实战手册引用
|
||||
- 更新内网IP地址
|
||||
- 添加公网访问地址
|
||||
|
||||
3. 鉁?鏂板<E98F82>锛歚18-閮ㄧ讲鏂囨。浣跨敤鎸囧崡.md`锛堟湰鏂囨。锛?
|
||||
3. ✅ 新增:`18-部署文档使用指南.md`(本文档)
|
||||
- 帮助快速找到需要的文档
|
||||
|
||||
### 历史版本
|
||||
@@ -306,44 +306,43 @@ crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/backend-se
|
||||
### 常见问题
|
||||
|
||||
**Q1:我是新手,从哪里开始?**
|
||||
- A锛氱洿鎺ョ湅 `17-瀹屾暣閮ㄧ讲瀹炴垬鎵嬪唽-2025鐗?md`锛岃窡鐫€鍋氬氨琛岋紒
|
||||
- A:直接看 `17-完整部署实战手册-2025版.md`,跟着做就行!
|
||||
|
||||
**Q2:我只想更新代码,不想全部重新部署?**
|
||||
- A锛氱湅浣犺<E6B5A3>鏇存柊鐨勬湇鍔″<E98D94>搴旂殑鎿嶄綔鎵嬪唽锛堝<E9949B> `12-Node.js鍚庣<EFBFBD>-SAE閮ㄧ讲鎿嶄綔鎵嬪唽.md`锛?
|
||||
- A:看你要更新的服务对应的操作手册(如 `12-Node.js后端-SAE部署操作手册.md`)
|
||||
|
||||
**Q3:遇到报错了怎么办?**
|
||||
- A锛氬厛鐪?`17-瀹屾暣閮ㄧ讲瀹炴垬鎵嬪唽-2025鐗?md` 绗?鑺傦紝99%鐨勯棶棰橀兘鍦ㄩ噷闈?
|
||||
- A:先看 `17-完整部署实战手册-2025版.md` 第9节,99%的问题都在里面
|
||||
|
||||
**Q4:忘记密码或IP地址了?**
|
||||
- A锛氭煡 `00-閮ㄧ讲杩涘害鎬昏<E98EAC>.md`锛屾墍鏈夎祫婧愪俊鎭<EFBFBD>兘鍦ㄩ偅閲?
|
||||
- A:查 `00-部署进度总览.md`,所有资源信息都在那里
|
||||
|
||||
**Q5:想深入理解技术原理?**
|
||||
- A锛氱湅瀵瑰簲鐨勬妧鏈<E5A6A7><E98F88>瑙f枃妗o紙濡?`05-Node.js鍚庣<EFBFBD>-SAE瀹瑰櫒閮ㄧ讲鎸囧崡.md`锛?
|
||||
- A:看对应的技术详解文档(如 `05-Node.js后端-SAE容器部署指南.md`)
|
||||
|
||||
---
|
||||
|
||||
## 🎯 总结
|
||||
|
||||
### 璁颁綇杩?涓<>牳蹇冩枃妗?
|
||||
### 记住这3个核心文档
|
||||
|
||||
1. **`17-瀹屾暣閮ㄧ讲瀹炴垬鎵嬪唽-2025鐗?md`** - 閮ㄧ讲蹇呯湅
|
||||
1. **`17-完整部署实战手册-2025版.md`** - 部署必看
|
||||
2. **`00-部署进度总览.md`** - 信息速查
|
||||
3. **`鏈<>枃妗<E69E83>** - 鎵句笉鍒版枃妗f椂鐪嬭繖閲?
|
||||
3. **`本文档`** - 找不到文档时看这里
|
||||
|
||||
### 閮ㄧ讲鎴愬姛鐨勫叧閿?
|
||||
### 部署成功的关键
|
||||
|
||||
- 鉁?鐜<><E9909C>鍙橀噺鍚嶅繀椤荤簿纭?
|
||||
- 鉁?鍖哄垎"閲嶅惎"鍜?閮ㄧ讲"
|
||||
- 鉁?鎸夐『搴忛儴缃叉湇鍔?
|
||||
- 鉁?姣忔<E5A7A3>閮借<E996AE>楠岃瘉
|
||||
- 鉁?閬囧埌闂<E59F8C><E99782>鍏堟煡鏂囨。
|
||||
- ✅ 环境变量名必须精确
|
||||
- ✅ 区分"重启"和"部署"
|
||||
- ✅ 按顺序部署服务
|
||||
- ✅ 每步都要验证
|
||||
- ✅ 遇到问题先查文档
|
||||
|
||||
---
|
||||
|
||||
> **文档维护**:请在每次部署后更新相关文档
|
||||
> **鏈€鍚庢洿鏂?*锛?025-12-25
|
||||
> **缁存姢浜哄憳**锛氬紑鍙戝洟闃?
|
||||
|
||||
> **最后更新**:2025-12-25
|
||||
> **维护人员**:开发团队
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user