222 lines
6.4 KiB
Plaintext
222 lines
6.4 KiB
Plaintext
================================================================================
|
||
ZJPB v2.2.0 手动上传文件清单
|
||
================================================================================
|
||
|
||
本地路径: D:\315mac\Code\zjpb\
|
||
目标路径: /opt/1panel/apps/zjpb/
|
||
|
||
方案一:Git Patch方式(推荐)
|
||
--------------------------------
|
||
只需上传2个文件:
|
||
|
||
1. v2.2.0.patch (56KB)
|
||
目标: /opt/1panel/apps/zjpb/v2.2.0.patch
|
||
|
||
2. git_patch_deploy_v2.2.sh (2.6KB)
|
||
目标: /opt/1panel/apps/zjpb/git_patch_deploy_v2.2.sh
|
||
|
||
上传后执行:
|
||
cd /opt/1panel/apps/zjpb
|
||
chmod +x git_patch_deploy_v2.2.sh
|
||
./git_patch_deploy_v2.2.sh
|
||
|
||
================================================================================
|
||
|
||
方案二:手动上传所有文件(如果不想用patch)
|
||
----------------------------------------
|
||
需要上传9个文件:
|
||
|
||
新增文件(4个):
|
||
--------------
|
||
1. utils/news_searcher.py
|
||
本地: D:\315mac\Code\zjpb\utils\news_searcher.py
|
||
目标: /opt/1panel/apps/zjpb/utils/news_searcher.py
|
||
说明: NewsSearcher工具类,封装博查API调用
|
||
|
||
2. migrate_news_fields.py
|
||
本地: D:\315mac\Code\zjpb\migrate_news_fields.py
|
||
目标: /opt/1panel/apps/zjpb/migrate_news_fields.py
|
||
说明: 数据库迁移脚本,添加source_name和source_icon字段
|
||
|
||
3. test_news_feature.py
|
||
本地: D:\315mac\Code\zjpb\test_news_feature.py
|
||
目标: /opt/1panel/apps/zjpb/test_news_feature.py
|
||
说明: 新闻功能测试脚本
|
||
|
||
4. fetch_news_cron.py
|
||
本地: D:\315mac\Code\zjpb\fetch_news_cron.py
|
||
目标: /opt/1panel/apps/zjpb/fetch_news_cron.py
|
||
说明: 定期任务脚本,批量更新新闻
|
||
|
||
修改文件(4个):
|
||
--------------
|
||
5. config.py
|
||
本地: D:\315mac\Code\zjpb\config.py
|
||
目标: /opt/1panel/apps/zjpb/config.py
|
||
说明: 添加博查API配置
|
||
|
||
6. models.py
|
||
本地: D:\315mac\Code\zjpb\models.py
|
||
目标: /opt/1panel/apps/zjpb/models.py
|
||
说明: News模型添加source_name和source_icon字段
|
||
|
||
7. app.py
|
||
本地: D:\315mac\Code\zjpb\app.py
|
||
目标: /opt/1panel/apps/zjpb/app.py
|
||
说明: 添加新闻路由、智能更新逻辑、NewsAdmin优化
|
||
|
||
8. templates/detail_new.html
|
||
本地: D:\315mac\Code\zjpb\templates\detail_new.html
|
||
目标: /opt/1panel/apps/zjpb/templates/detail_new.html
|
||
说明: 新闻展示UI,布局优化
|
||
|
||
文档文件(1个,可选):
|
||
--------------------
|
||
9. NEWS_FEATURE_v2.2.md
|
||
本地: D:\315mac\Code\zjpb\NEWS_FEATURE_v2.2.md
|
||
目标: /opt/1panel/apps/zjpb/NEWS_FEATURE_v2.2.md
|
||
说明: 新闻功能完整文档
|
||
|
||
================================================================================
|
||
|
||
手动上传后需要执行的操作:
|
||
------------------------
|
||
|
||
1. 运行数据库迁移:
|
||
cd /opt/1panel/apps/zjpb
|
||
source venv/bin/activate
|
||
python migrate_news_fields.py
|
||
|
||
2. 配置.env文件,添加:
|
||
BOCHA_API_KEY=sk-76d0236a50d445ae92e75b634ed5313c
|
||
BOCHA_BASE_URL=https://api.bocha.cn
|
||
|
||
3. 重启应用:
|
||
./manage.sh restart
|
||
|
||
4. 测试功能:
|
||
python test_news_feature.py
|
||
|
||
================================================================================
|
||
|
||
文件详细信息:
|
||
------------
|
||
|
||
utils/news_searcher.py (271行)
|
||
- NewsSearcher类
|
||
- 博查API封装
|
||
- 新闻搜索和解析
|
||
- 错误处理
|
||
|
||
migrate_news_fields.py (99行)
|
||
- 添加source_name字段
|
||
- 添加source_icon字段
|
||
- 检查字段是否已存在
|
||
- 显示表结构
|
||
|
||
test_news_feature.py (142行)
|
||
- API配置检查
|
||
- 数据库连接测试
|
||
- 新闻搜索测试
|
||
- 保存数据测试
|
||
|
||
fetch_news_cron.py (167行)
|
||
- 批量新闻更新
|
||
- 命令行参数支持
|
||
- 进度显示
|
||
- 错误处理
|
||
|
||
config.py (修改部分)
|
||
- BOCHA_API_KEY配置
|
||
- BOCHA_BASE_URL配置
|
||
- BOCHA_SEARCH_ENDPOINT配置
|
||
- NEWS_SEARCH_*配置
|
||
|
||
models.py (修改部分)
|
||
- News.source_name字段
|
||
- News.source_icon字段
|
||
|
||
app.py (修改部分)
|
||
- site_detail路由:智能新闻更新逻辑(64行新增)
|
||
- /api/fetch-site-news路由(91行)
|
||
- /api/fetch-all-news路由(105行)
|
||
- NewsAdmin: 新增source_name和source_icon字段
|
||
|
||
templates/detail_new.html (修改部分)
|
||
- 新闻模块HTML(47行)
|
||
- 新闻来源展示
|
||
- 布局调整(新闻左侧,推荐右侧)
|
||
|
||
================================================================================
|
||
|
||
推荐使用方案一(Git Patch)的原因:
|
||
---------------------------------
|
||
✅ 只需上传2个文件(58.6KB总共)
|
||
✅ 自动处理文件合并,避免手动覆盖错误
|
||
✅ Git历史完整,可追溯
|
||
✅ 自动备份现有修改
|
||
✅ 一键回滚
|
||
✅ 自动运行数据库迁移
|
||
✅ 自动重启应用
|
||
|
||
手动上传的缺点:
|
||
--------------
|
||
❌ 需要上传9个文件
|
||
❌ 需要确保文件路径正确
|
||
❌ 需要手动运行迁移脚本
|
||
❌ 需要手动重启应用
|
||
❌ 无法自动回滚
|
||
❌ 可能覆盖生产环境的修改
|
||
|
||
================================================================================
|
||
|
||
1Panel文件管理器上传步骤:
|
||
-------------------------
|
||
|
||
1. 登录1Panel管理面板
|
||
2. 进入"文件"菜单
|
||
3. 导航到 /opt/1panel/apps/zjpb/
|
||
4. 点击"上传"按钮
|
||
5. 选择需要上传的文件
|
||
6. 等待上传完成
|
||
|
||
如果上传utils/news_searcher.py:
|
||
- 先导航到 /opt/1panel/apps/zjpb/utils/
|
||
- 然后上传 news_searcher.py
|
||
|
||
如果上传templates/detail_new.html:
|
||
- 先导航到 /opt/1panel/apps/zjpb/templates/
|
||
- 然后上传 detail_new.html
|
||
|
||
================================================================================
|
||
|
||
SCP命令上传(如果使用SSH):
|
||
--------------------------
|
||
|
||
# 方案一:上传patch文件
|
||
scp v2.2.0.patch root@your-server:/opt/1panel/apps/zjpb/
|
||
scp git_patch_deploy_v2.2.sh root@your-server:/opt/1panel/apps/zjpb/
|
||
|
||
# 方案二:上传所有文件
|
||
scp utils/news_searcher.py root@your-server:/opt/1panel/apps/zjpb/utils/
|
||
scp migrate_news_fields.py root@your-server:/opt/1panel/apps/zjpb/
|
||
scp test_news_feature.py root@your-server:/opt/1panel/apps/zjpb/
|
||
scp fetch_news_cron.py root@your-server:/opt/1panel/apps/zjpb/
|
||
scp config.py root@your-server:/opt/1panel/apps/zjpb/
|
||
scp models.py root@your-server:/opt/1panel/apps/zjpb/
|
||
scp app.py root@your-server:/opt/1panel/apps/zjpb/
|
||
scp templates/detail_new.html root@your-server:/opt/1panel/apps/zjpb/templates/
|
||
scp NEWS_FEATURE_v2.2.md root@your-server:/opt/1panel/apps/zjpb/
|
||
|
||
================================================================================
|
||
|
||
建议:
|
||
-----
|
||
强烈推荐使用方案一(Git Patch)!
|
||
- 更安全
|
||
- 更快速
|
||
- 更可靠
|
||
- 更易回滚
|
||
|
||
================================================================================
|