# ZJPB v2.3.0 部署清单

**当前状态**: ✅ 代码已提交到本地Git，等待推送

---

## 📋 本地准备完成

✅ **代码修改**：
- models.py - Site模型添加news_keywords字段
- app.py - 后台表单、API路由、搜索逻辑
- utils/news_searcher.py - 严格匹配搜索
- templates/detail_new.html - 刷新按钮和UI

✅ **新增文件**：
- migrate_news_keywords.py - 数据库迁移脚本
- DEPLOY_v2.3.0.md - 完整部署文档
- DEPLOY_v2.3_QUICK.md - 快速部署指南

✅ **本地测试**：
- ✅ 数据库迁移成功（4个网站已设置默认关键词）
- ✅ Flask服务运行正常
- ✅ 后台管理可访问

✅ **Git提交**：
- Commit: `fdde699` - feat: v2.3.0 - 新闻获取准确性优化
- Tag: `v2.3.0` - Release v2.3.0: 新闻获取准确性优化

---

## 🚀 下一步操作（需要你执行）

### 第1步：推送代码到远程仓库

```bash
# 在本地项目目录执行
cd D:\315mac\Code\zjpb

# 推送代码（需要输入Git认证）
git push origin master

# 推送标签
git push origin v2.3.0
```

### 第2步：SSH登录服务器部署

```bash
# SSH登录服务器
ssh root@your-server

# 进入项目目录
cd /opt/1panel/apps/zjpb

# 停止应用
./manage.sh stop

# 拉取最新代码
git pull origin master

# 查看当前版本（应该看到fdde699）
git log --oneline -3

# 激活虚拟环境
source venv/bin/activate

# 运行数据库迁移
python migrate_news_keywords.py

# 重启应用
./manage.sh restart

# 检查状态
./manage.sh status

# 查看日志
./manage.sh logs
```

### 第3步：验证部署

#### 后台验证
```
1. 访问：http://zjpb.net/admin/login
2. 进入：网站管理
3. 编辑任意网站
4. 检查：是否有"新闻关键词"字段
```

#### 前台验证
```
1. 访问任意网站详情页
2. 滚动到"相关新闻"模块
3. 检查：是否有"获取最新资讯"按钮
4. 点击测试刷新功能
```

---

## 📊 部署变更摘要

### 数据库变更

```sql
ALTER TABLE sites
ADD COLUMN news_keywords VARCHAR(200)
COMMENT '新闻获取关键词（用于精准匹配相关新闻）'
AFTER features;
```

**影响**：
- 新增1个字段
- 约200字节/网站
- 无性能影响

### 代码变更

| 文件 | 行数变化 | 说明 |
|------|---------|------|
| models.py | +2 | 添加news_keywords字段定义 |
| app.py | +81 | 后台配置+新API路由 |
| utils/news_searcher.py | +16 | 支持关键词参数 |
| templates/detail_new.html | +125 | 刷新按钮+CSS+JS |
| migrate_news_keywords.py | +114 | 新建迁移脚本 |

**总计**：7个文件，+1009行，-8行

### API变更

**新增**：
- `POST /api/refresh-site-news/<site_code>` - 前台刷新新闻

**修改**：
- `search_site_news()` - 新增news_keywords参数

---

## ⚠️ 重要提示

### 1. 备份数据库

部署前务必备份：
```bash
mysqldump -h localhost -u ai_nav -p ai_nav > backup_v2.3_$(date +%Y%m%d).sql
```

### 2. BOCHA_API_KEY配置

确认服务器`.env`文件包含：
```bash
BOCHA_API_KEY=sk-76d0236a50d445ae92e75b634ed5313c
BOCHA_BASE_URL=https://api.bocha.cn
```

### 3. 迁移脚本幂等性

迁移脚本可以重复执行，会自动跳过已存在的字段。

---

## 🔍 常见问题

### Q1: Git拉取后没有新文件？

```bash
# 检查当前commit
git log --oneline -1

# 应该显示：fdde699 feat: v2.3.0 - 新闻获取准确性优化

# 如果不是，强制拉取
git fetch origin
git reset --hard origin/master
```

### Q2: 迁移脚本找不到？

```bash
# 确认文件存在
ls -la migrate_news_keywords.py

# 如果不存在，检查git状态
git status

# 拉取特定文件
git checkout origin/master -- migrate_news_keywords.py
```

### Q3: 后台表单没有新字段？

```bash
# 重启应用清除缓存
./manage.sh restart

# 检查代码是否更新
grep -n "news_keywords" app.py

# 应该看到：1007:            'news_keywords': '新闻关键词',
```

---

## 📈 性能监控

部署后建议监控：

1. **应用启动时间**：应在2-3秒内
2. **数据库查询性能**：无明显变化
3. **新闻刷新响应时间**：1-3秒（取决于博查API）
4. **错误日志**：关注news相关错误

```bash
# 监控日志
tail -f logs/gunicorn_error.log | grep -i "news\|error"
```

---

## ✅ 部署完成检查清单

**代码部署**：
- [ ] Git push成功
- [ ] 服务器Git pull成功
- [ ] 当前commit是fdde699

**数据库迁移**：
- [ ] migrate_news_keywords.py执行成功
- [ ] sites表有news_keywords字段
- [ ] 现有网站已设置默认关键词

**应用运行**：
- [ ] manage.sh status显示运行中
- [ ] 无错误日志
- [ ] 前后台访问正常

**功能验证**：
- [ ] 后台可编辑新闻关键词
- [ ] 前台显示刷新按钮
- [ ] 刷新功能正常工作

---

## 📞 技术支持

如遇问题：

1. **查看日志**：`./manage.sh logs`
2. **检查文档**：`DEPLOY_v2.3.0.md`（完整版）
3. **快速参考**：`DEPLOY_v2.3_QUICK.md`（精简版）

---

**清单版本**: v1.0
**创建时间**: 2025-12-31
**预计部署时间**: 5-10分钟
