Files
zjpb.net/docs/archive/DEPLOY_v2.2_QUICK.md
Jowe 939717fa57 feat: v2.6.0 - API安全优化和文档整合
## 核心优化
- 移除详情页自动调用博查API的逻辑,改为按需加载
- 添加基于IP的频率限制(每小时3次)
- 实现验证码防护机制(超过阈值后要求验证)
- 新增频率限制工具类 utils/rate_limiter.py

## 成本控制
- API调用减少约90%+(只在用户点击时调用)
- 防止恶意滥用和攻击
- 可配置的频率限制和验证码策略

## 文档整合
- 创建 docs/ 目录结构
- 归档历史版本文档到 docs/archive/
- 移动部署文档到 docs/deployment/
- 添加文档索引 docs/README.md

## 技术变更
- 新增依赖: Flask-Limiter==3.5.0
- 修改: app.py (移除自动调用,新增API端点)
- 修改: templates/detail_new.html (按需加载UI)
- 新增: utils/rate_limiter.py (频率限制和验证码)
- 新增: docs/archive/DEVELOP_v2.6.0_API_SECURITY.md

## 部署说明
1. pip install Flask-Limiter==3.5.0
2. 重启应用
3. 无需数据库迁移

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-06 15:54:13 +08:00

3.9 KiB
Raw Permalink Blame History

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步执行部署脚本

cd /opt/1panel/apps/zjpb
chmod +x git_patch_deploy_v2.2.sh
./git_patch_deploy_v2.2.sh

第3步配置API Key

编辑 .env 文件,添加:

BOCHA_API_KEY=sk-76d0236a50d445ae92e75b634ed5313c
BOCHA_BASE_URL=https://api.bocha.cn

然后重启:

./manage.sh restart

验证部署

✓ 前台测试

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

✓ 后台测试

  1. 登录 /admin/login
  2. 进入"新闻管理" /admin/newsadmin/
  3. 查看新闻列表是否正常显示

✓ 功能测试

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. 检查状态

回滚方案(如需要)

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

常见问题

Q1: 新闻不显示?

A: 检查 .envBOCHA_API_KEY 是否配置正确

Q2: 补丁应用失败?

A: 备份本地修改后重试

git stash
git apply v2.2.0.patch

Q3: 数据库迁移失败?

A: 手动运行迁移脚本

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