Files
zyt/INSTALLATION_CHECKLIST.md
2026-03-23 18:02:16 +08:00

362 lines
7.7 KiB
Markdown
Raw Permalink 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.
# 处方库功能 - 安装检查清单
## 📋 安装前检查
### 环境要求
- [ ] PHP >= 7.4
- [ ] MySQL >= 5.7
- [ ] Node.js >= 14.x(前端开发)
- [ ] 已安装并运行 ThinkPHP 框架
- [ ] 已安装并运行 Vue 3 前端项目
### 权限检查
- [ ] 数据库创建表权限
- [ ] 文件读写权限
- [ ] 后台管理员账号
## 🔧 安装步骤
### 步骤1:备份数据库 ✅
```bash
# 备份当前数据库(推荐)
mysqldump -u用户名 -p密码 数据库名 > backup_$(date +%Y%m%d).sql
```
- [ ] 已完成数据库备份
### 步骤2:安装数据库表 ✅
#### 方式A:自动安装(推荐)
**Windows:**
```bash
双击运行 install_prescription_library.bat
```
**Linux/Mac:**
```bash
chmod +x install_prescription_library.sh
./install_prescription_library.sh
```
#### 方式B:手动安装
```bash
mysql -h主机 -u用户名 -p密码 数据库名 < server/database/migrations/create_prescription_library.sql
```
- [ ] 数据库表安装成功
- [ ] 验证表是否创建:`SHOW TABLES LIKE '%prescription_library%';`
### 步骤3:验证后端文件 ✅
检查以下文件是否存在:
**模型层:**
- [ ] server/app/common/model/tcm/PrescriptionLibrary.php
**控制器层:**
- [ ] server/app/adminapi/controller/tcm/PrescriptionLibraryController.php
**业务逻辑层:**
- [ ] server/app/adminapi/logic/tcm/PrescriptionLibraryLogic.php
**列表逻辑层:**
- [ ] server/app/adminapi/lists/tcm/PrescriptionLibraryLists.php
**验证器层:**
- [ ] server/app/adminapi/validate/tcm/PrescriptionLibraryValidate.php
### 步骤4:验证前端文件 ✅
检查以下文件是否存在:
**页面组件:**
- [ ] admin/src/views/consumer/prescription/list.vue
**API接口:**
- [ ] admin/src/api/tcm.ts(已更新)
### 步骤5:配置路由(如需要) ✅
ThinkPHP 通常自动识别路由,无需手动配置。
如需手动配置,在路由文件中添加:
```php
// 处方库路由
Route::group('tcm.prescriptionLibrary', function () {
Route::get('lists', 'tcm.PrescriptionLibrary/lists');
Route::post('add', 'tcm.PrescriptionLibrary/add');
Route::post('edit', 'tcm.PrescriptionLibrary/edit');
Route::post('delete', 'tcm.PrescriptionLibrary/delete');
Route::get('detail', 'tcm.PrescriptionLibrary/detail');
});
```
- [ ] 路由配置完成(如需要)
### 步骤6:配置菜单权限 ✅
在后台管理系统中添加菜单项:
**菜单配置示例:**
```
菜单名称:处方库
菜单路径:/consumer/prescription/list
图标:el-icon-document
排序:100
权限标识:tcm.prescriptionLibrary/lists
```
**权限节点:**
- [ ] tcm.prescriptionLibrary/lists(查看列表)
- [ ] tcm.prescriptionLibrary/add(添加处方)
- [ ] tcm.prescriptionLibrary/edit(编辑处方)
- [ ] tcm.prescriptionLibrary/delete(删除处方)
- [ ] tcm.prescriptionLibrary/detail(查看详情)
- [ ] 菜单配置完成
- [ ] 权限节点配置完成
### 步骤7:重启服务(如需要) ✅
**后端:**
```bash
# 清除缓存
php think clear
# 重启PHP-FPM(如使用)
sudo systemctl restart php-fpm
```
**前端:**
```bash
# 开发环境
npm run dev
# 生产环境
npm run build
```
- [ ] 后端服务已重启
- [ ] 前端已重新编译
## 🧪 功能测试
### 测试1:访问页面 ✅
- [ ] 能够访问处方库页面
- [ ] 页面正常显示,无报错
- [ ] 列表为空或显示数据
### 测试2:创建处方 ✅
- [ ] 点击"新增处方"按钮
- [ ] 填写处方名称
- [ ] 添加药材
- [ ] 设置是否公开
- [ ] 保存成功
### 测试3:查看处方 ✅
- [ ] 点击"查看"按钮
- [ ] 显示处方详情
- [ ] 字段不可编辑
### 测试4:编辑处方 ✅
- [ ] 点击"编辑"按钮
- [ ] 修改处方信息
- [ ] 保存成功
### 测试5:删除处方 ✅
- [ ] 点击"删除"按钮
- [ ] 确认删除
- [ ] 删除成功
### 测试6:搜索功能 ✅
- [ ] 输入处方名称搜索
- [ ] 选择是否公开筛选
- [ ] 显示正确结果
### 测试7:权限测试 ✅
- [ ] 用户A创建私有处方
- [ ] 用户B无法查看用户A的私有处方
- [ ] 用户A创建公开处方
- [ ] 用户B可以查看用户A的公开处方
- [ ] 用户B无法删除用户A的处方
## 🔍 问题排查
### 问题1:无法访问页面
**可能原因:**
- 路由未配置
- 权限未分配
- 前端路由错误
**解决方案:**
1. 检查路由配置
2. 检查菜单权限
3. 查看浏览器控制台错误
### 问题2:数据库表创建失败
**可能原因:**
- 数据库连接失败
- 权限不足
- 表已存在
**解决方案:**
1. 检查数据库配置
2. 检查用户权限
3. 删除已存在的表后重试
### 问题3API请求失败
**可能原因:**
- 后端文件未上传
- 路由配置错误
- 权限验证失败
**解决方案:**
1. 检查后端文件是否存在
2. 检查API路径是否正确
3. 查看后端日志
### 问题4:前端页面报错
**可能原因:**
- 前端文件未编译
- API接口路径错误
- 组件引用错误
**解决方案:**
1. 重新编译前端代码
2. 检查API接口配置
3. 查看浏览器控制台错误
## 📊 验证清单
### 数据库验证
```sql
-- 检查表是否存在
SHOW TABLES LIKE '%prescription_library%';
-- 检查表结构
DESC zyt_prescription_library;
-- 检查索引
SHOW INDEX FROM zyt_prescription_library;
-- 插入测试数据
INSERT INTO `zyt_prescription_library`
(`prescription_name`, `herbs`, `is_public`, `creator_id`, `creator_name`, `create_time`, `update_time`)
VALUES
('测试处方', '[{"name":"测试药材","dosage":10}]', 1, 1, '测试医生', UNIX_TIMESTAMP(), UNIX_TIMESTAMP());
-- 查询测试数据
SELECT * FROM zyt_prescription_library WHERE prescription_name = '测试处方';
-- 删除测试数据
DELETE FROM zyt_prescription_library WHERE prescription_name = '测试处方';
```
- [ ] 表结构正确
- [ ] 索引创建成功
- [ ] 数据插入成功
- [ ] 数据查询成功
- [ ] 数据删除成功
### API验证
使用 Postman 或类似工具测试:
**获取列表:**
```
GET /api/tcm.prescriptionLibrary/lists
```
**添加处方:**
```
POST /api/tcm.prescriptionLibrary/add
Body: {
"prescription_name": "测试处方",
"herbs": [{"name": "测试药材", "dosage": 10}],
"is_public": 1
}
```
**编辑处方:**
```
POST /api/tcm.prescriptionLibrary/edit
Body: {
"id": 1,
"prescription_name": "测试处方(已修改)",
"herbs": [{"name": "测试药材", "dosage": 15}],
"is_public": 0
}
```
**删除处方:**
```
POST /api/tcm.prescriptionLibrary/delete
Body: {
"id": 1
}
```
**获取详情:**
```
GET /api/tcm.prescriptionLibrary/detail?id=1
```
- [ ] 列表接口正常
- [ ] 添加接口正常
- [ ] 编辑接口正常
- [ ] 删除接口正常
- [ ] 详情接口正常
## ✅ 安装完成确认
### 最终检查
- [ ] 所有文件已上传
- [ ] 数据库表已创建
- [ ] 菜单权限已配置
- [ ] 功能测试通过
- [ ] API测试通过
- [ ] 权限测试通过
### 文档确认
- [ ] 已阅读 PRESCRIPTION_LIBRARY_README.md
- [ ] 已阅读 QUICK_START_PRESCRIPTION_LIBRARY.md
- [ ] 已了解功能使用方法
### 备份确认
- [ ] 已备份数据库
- [ ] 已备份原有代码
- [ ] 已记录安装日期和版本
## 📝 安装记录
**安装日期:** _______________
**安装人员:** _______________
**版本号:** v1.0.0
**数据库名:** _______________
**备注:**
```
_______________________________________________
_______________________________________________
_______________________________________________
```
## 🎉 安装成功!
恭喜!处方库功能已成功安装。
**下一步:**
1. 创建第一个处方
2. 测试各项功能
3. 培训使用人员
4. 收集反馈意见
**技术支持:**
如有问题,请查看文档或联系技术支持团队。
---
**祝使用愉快!** 🚀