This commit is contained in:
Your Name
2026-03-23 18:02:16 +08:00
parent 18fee2e8f8
commit 250d173c2f
525 changed files with 10659 additions and 793 deletions
+361
View File
@@ -0,0 +1,361 @@
# 处方库功能 - 安装检查清单
## 📋 安装前检查
### 环境要求
- [ ] 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. 收集反馈意见
**技术支持:**
如有问题,请查看文档或联系技术支持团队。
---
**祝使用愉快!** 🚀