## 核心优化 - 移除详情页自动调用博查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>
176 lines
2.8 KiB
Markdown
176 lines
2.8 KiB
Markdown
# ZJPB v2.3.0 快速部署指南
|
||
|
||
> 3步完成部署,5分钟上线
|
||
|
||
---
|
||
|
||
## 📦 版本信息
|
||
|
||
- **版本**: v2.3.0
|
||
- **日期**: 2025-12-31
|
||
- **核心**: 新闻准确性优化
|
||
|
||
---
|
||
|
||
## ⚡ 快速部署(3步)
|
||
|
||
### 第1步:拉取代码
|
||
|
||
```bash
|
||
cd /opt/1panel/apps/zjpb
|
||
./manage.sh stop
|
||
git pull origin master
|
||
```
|
||
|
||
### 第2步:数据库迁移
|
||
|
||
```bash
|
||
source venv/bin/activate
|
||
python migrate_news_keywords.py
|
||
```
|
||
|
||
### 第3步:重启应用
|
||
|
||
```bash
|
||
./manage.sh restart
|
||
./manage.sh status
|
||
```
|
||
|
||
✅ **部署完成!**
|
||
|
||
---
|
||
|
||
## ✅ 快速验证
|
||
|
||
### 1. 后台验证(1分钟)
|
||
|
||
```
|
||
1. 访问:http://your-domain.com/admin/login
|
||
2. 进入:网站管理 → 编辑任意网站
|
||
3. 检查:是否有"新闻关键词"字段
|
||
```
|
||
|
||
### 2. 前台验证(1分钟)
|
||
|
||
```
|
||
1. 访问:http://your-domain.com/site/xxxxxxxx
|
||
2. 滚动:到"相关新闻"模块
|
||
3. 检查:是否有"获取最新资讯"按钮
|
||
```
|
||
|
||
---
|
||
|
||
## 🎯 核心功能
|
||
|
||
### 1. 新闻关键词设置
|
||
|
||
**后台操作**:
|
||
```
|
||
网站管理 → 编辑 → 新闻关键词 → 输入"ChatGPT" → 保存
|
||
```
|
||
|
||
**效果**:
|
||
- 搜索更精准
|
||
- 避免名称混淆
|
||
- 提高相关性
|
||
|
||
### 2. 前台手动刷新
|
||
|
||
**用户操作**:
|
||
```
|
||
详情页 → 相关新闻 → 点击"获取最新资讯" → 等待刷新
|
||
```
|
||
|
||
**效果**:
|
||
- 获取最新5条新闻
|
||
- 自动去重
|
||
- 1-2秒完成
|
||
|
||
---
|
||
|
||
## 🔧 关键词设置技巧
|
||
|
||
### 推荐设置
|
||
|
||
| 网站名称 | 推荐关键词 | 说明 |
|
||
|---------|-----------|------|
|
||
| ChatGPT | `ChatGPT` | 官方品牌名 |
|
||
| GitHub Copilot | `GitHub Copilot` | 完整产品名 |
|
||
| Claude | `Claude AI` | 添加AI避免混淆 |
|
||
| 文心一言 | `文心一言` | 中文全称 |
|
||
|
||
### 避免设置
|
||
|
||
❌ `AI`、`工具`、`助手` - 过于宽泛
|
||
❌ `聊天机器人` - 不够精准
|
||
❌ `GPT` - 会匹配所有GPT相关
|
||
|
||
---
|
||
|
||
## 🐛 问题速查
|
||
|
||
### 问题1:后台没有新字段
|
||
|
||
```bash
|
||
# 检查代码
|
||
grep "news_keywords" app.py
|
||
|
||
# 清缓存重启
|
||
./manage.sh restart
|
||
```
|
||
|
||
### 问题2:刷新按钮不显示
|
||
|
||
```bash
|
||
# 检查模板
|
||
grep "refresh-news-btn" templates/detail_new.html
|
||
|
||
# 强制刷新浏览器(Ctrl + F5)
|
||
```
|
||
|
||
### 问题3:刷新失败
|
||
|
||
```bash
|
||
# 检查API配置
|
||
grep "BOCHA_API_KEY" .env
|
||
|
||
# 如未配置,添加:
|
||
echo "BOCHA_API_KEY=sk-your-key" >> .env
|
||
./manage.sh restart
|
||
```
|
||
|
||
---
|
||
|
||
## 📊 变更文件
|
||
|
||
| 文件 | 说明 |
|
||
|------|------|
|
||
| `models.py` | 添加字段 |
|
||
| `migrate_news_keywords.py` | 迁移脚本 |
|
||
| `app.py` | 后台+API |
|
||
| `utils/news_searcher.py` | 搜索逻辑 |
|
||
| `templates/detail_new.html` | 刷新按钮 |
|
||
|
||
---
|
||
|
||
## 🔄 回滚(如需要)
|
||
|
||
```bash
|
||
cd /opt/1panel/apps/zjpb
|
||
./manage.sh stop
|
||
git reset --hard HEAD~1 # 回到上一版本
|
||
./manage.sh start
|
||
```
|
||
|
||
---
|
||
|
||
## 📚 完整文档
|
||
|
||
详细信息请查看:`DEPLOY_v2.3.0.md`
|
||
|
||
---
|
||
|
||
**快速指南版本**: v1.0
|
||
**部署时间**: 约5分钟
|
||
**难度**: ⭐ 简单
|