# ZJPB v2.2.0 部署操作指南

## 版本信息
- **版本**: v2.2.0
- **发布日期**: 2025-12-30
- **补丁大小**: 56KB
- **部署时间**: 约10分钟

---

## 核心功能

### 博查新闻搜索集成
✅ 自动获取网站相关新闻（博查Web Search API）
✅ 智能更新：每日首次访问触发更新
✅ 每个网站获取3条一周内新闻
✅ 新闻来源展示（名称+图标）
✅ 自动去重防止重复

### 数据库扩展
✅ News表新增 `source_name` 字段
✅ News表新增 `source_icon` 字段

### 界面优化
✅ 新闻模块在左侧主栏
✅ 相似推荐在右侧边栏

---

## 快速部署（3步）

### 第1步：上传文件到服务器
上传以下2个文件到 `/opt/1panel/apps/zjpb/`：
```
v2.2.0.patch
git_patch_deploy_v2.2.sh
```

### 第2步：执行部署脚本
```bash
cd /opt/1panel/apps/zjpb
chmod +x git_patch_deploy_v2.2.sh
./git_patch_deploy_v2.2.sh
```

### 第3步：配置API Key
编辑 `.env` 文件，添加：
```bash
BOCHA_API_KEY=sk-76d0236a50d445ae92e75b634ed5313c
BOCHA_BASE_URL=https://api.bocha.cn
```

然后重启：
```bash
./manage.sh restart
```

---

## 验证部署

### ✓ 前台测试
1. 访问任意网站详情页
2. 检查"相关新闻"模块是否显示
3. 新闻应该显示来源网站名称和图标
4. 点击新闻标题可跳转到原文

### ✓ 后台测试
1. 登录 `/admin/login`
2. 进入"新闻管理" `/admin/newsadmin/`
3. 查看新闻列表是否正常显示

### ✓ 功能测试
```bash
cd /opt/1panel/apps/zjpb
source venv/bin/activate
python test_news_feature.py
```

---

## 关键文件

### 本地准备好的文件
```
D:\315mac\Code\zjpb\
├── v2.2.0.patch                    (56KB) 补丁文件
├── git_patch_deploy_v2.2.sh        部署脚本
├── DEPLOY_v2.2.0.md                完整部署文档
├── DEPLOY_v2.2_CHECKLIST.md        检查清单
├── migrate_news_fields.py          数据库迁移脚本
├── test_news_feature.py            测试脚本
└── fetch_news_cron.py              定期任务脚本
```

### 服务器需要的文件（只需2个）
```
v2.2.0.patch
git_patch_deploy_v2.2.sh
```

---

## Git提交历史

v2.2.0包含以下3个提交：
```
2e9f634 docs: 添加v2.2.0部署文档和脚本
495248b feat: v2.2.0 智能新闻更新和布局优化
d7d21e1 release: v2.2.0 - 博查新闻搜索功能
```

---

## 部署脚本自动完成的操作

```
1. 停止应用
2. 检查Git状态
3. 备份未提交的修改
4. 应用v2.2.0补丁
   - utils/news_searcher.py (新增)
   - app.py (更新)
   - models.py (更新)
   - config.py (更新)
   - templates/detail_new.html (更新)
   - migrate_news_fields.py (新增)
   - test_news_feature.py (新增)
   - fetch_news_cron.py (新增)
   - NEWS_FEATURE_v2.2.md (新增)
5. 提交到Git
6. 激活虚拟环境
7. 安装依赖
8. 运行数据库迁移
9. 重启应用
10. 检查状态
```

---

## 回滚方案（如需要）

```bash
cd /opt/1panel/apps/zjpb
./manage.sh stop
git reset --hard HEAD~3  # 回滚到v2.1.0
./manage.sh start
```

---

## 常见问题

### Q1: 新闻不显示？
**A**: 检查 `.env` 中 `BOCHA_API_KEY` 是否配置正确

### Q2: 补丁应用失败？
**A**: 备份本地修改后重试
```bash
git stash
git apply v2.2.0.patch
```

### Q3: 数据库迁移失败？
**A**: 手动运行迁移脚本
```bash
python migrate_news_fields.py
```

---

## 成本估算

假设每天100个网站被访问：
- 每次API调用约 0.01元
- 每天成本约 1元
- 每月成本约 30元

---

## 下一步

部署完成后：
1. 访问网站测试功能
2. 查看应用日志确认无错误
3. 监控API调用情况
4. 根据需要调整新闻获取数量和时间范围

---

## 技术支持文档

- **完整文档**: `DEPLOY_v2.2.0.md`
- **检查清单**: `DEPLOY_v2.2_CHECKLIST.md`
- **功能文档**: `NEWS_FEATURE_v2.2.md`

---

**创建时间**: 2025-12-30 22:32
**准备就绪**: ✅
**可以开始部署**: ✅
