# 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 **准备就绪**: ✅ **可以开始部署**: ✅