## 核心优化 - 移除详情页自动调用博查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>
4.9 KiB
4.9 KiB
ZJPB v2.1 Git Patch 部署指南(最简单)
✨ 优势
- ✅ 最干净 - 使用Git patch,保持版本历史完整
- ✅ 最安全 - 自动备份未提交的修改
- ✅ 最快速 - 只需上传2个文件(89KB)
- ✅ 可追溯 - 所有更改都有Git记录
📦 需要上传的文件(仅2个)
v2.1.0.patch(89KB) - 代码补丁文件git_patch_deploy.sh- 自动化部署脚本
🚀 部署步骤
第一步:备份生产数据库(在1Panel中操作)
- 登录1Panel管理面板
- 进入 数据库 → 找到
ai_nav数据库 - 点击 备份 按钮
- 下载备份文件保存
第二步:上传文件到服务器
方法1:使用1Panel文件管理器
- 登录1Panel
- 进入 文件 → 导航到
/opt/1panel/apps/zjpb/ - 上传文件:
v2.1.0.patchgit_patch_deploy.sh
方法2:使用命令行(如果你用SSH)
# 在本地(Windows)使用SCP上传
scp v2.1.0.patch root@your-server-ip:/opt/1panel/apps/zjpb/
scp git_patch_deploy.sh root@your-server-ip:/opt/1panel/apps/zjpb/
第三步:执行部署脚本
在1Panel终端或SSH中执行:
# 进入项目目录
cd /opt/1panel/apps/zjpb
# 赋予执行权限
chmod +x git_patch_deploy.sh
# 执行部署
./git_patch_deploy.sh
脚本会自动完成:
- ✅ 停止应用
- ✅ 检查Git状态
- ✅ 备份未提交的修改(如有)
- ✅ 应用v2.1.0补丁
- ✅ 提交到Git
- ✅ 安装依赖
- ✅ 运行数据库迁移(创建prompt_templates表)
- ✅ 重启应用
- ✅ 检查状态
预期输出:
================================
ZJPB v2.1 Git Patch 部署
================================
当前目录: /opt/1panel/apps/zjpb
1. 停止应用...
2. 检查Git状态...
3. 备份当前修改(如有)...
4. 应用v2.1.0补丁...
✅ 补丁应用成功
5. 提交更改到Git...
6. 激活虚拟环境...
7. 检查依赖...
8. 运行数据库迁移...
正在创建 prompt_templates 表...
[OK] 表创建成功
[OK] 默认prompt模板初始化成功
9. 重启应用...
10. 检查应用状态...
zjpb 正在运行 (PID: xxxx)
================================
✅ 部署完成!
================================
第四步:验证部署
前台验证:
-
访问首页,检查页脚:
© 2025 ZJPB - 焦提示词 | AI工具导航浙ICP备2025154782号-1- 打开F12检查Network,确认Clarity统计已加载
-
访问任意网站详情页,检查图标:
- 返回首页:
←而不是arrow_back - 访问网站:
↗而不是north_east - 浏览次数:
👁而不是visibility
- 返回首页:
后台验证:
-
登录
/admin/login -
左侧菜单应该有 Prompt管理
-
点击进入,查看3条默认模板:
- 标签生成
- 主要功能生成
- 详细介绍生成
-
进入 网站管理 → 编辑任意网站
-
标签区域应该正常显示标签名称(蓝色标签,有文字)
AI功能验证:
- 编辑或创建网站
- 测试 AI生成标签 按钮
- 测试 AI生成详细介绍 按钮
- 测试 AI生成主要功能 按钮
🔍 部署后检查
查看Git提交历史:
cd /opt/1panel/apps/zjpb
git log --oneline -5
应该看到最新的提交:
xxxxxxx release: v2.1.0 - Prompt管理系统、页脚优化、图标修复
查看应用状态:
./manage.sh status
查看应用日志(如有问题):
./manage.sh logs
🔄 回滚方案(如出现问题)
cd /opt/1panel/apps/zjpb
# 停止应用
./manage.sh stop
# 回滚到上一个提交
git reset --hard HEAD~1
# 如果有stash的备份,恢复它
git stash list
git stash pop
# 重启应用
./manage.sh start
📝 注意事项
- ✅ 服务器路径是
/opt/1panel/apps/zjpb不是/www/wwwroot/zjpb - ✅ 已确认服务器有Git仓库
- ✅ patch文件会自动保存现有未提交的修改
- ✅ 部署过程中会自动运行数据库迁移
- ✅ 所有更改都会提交到Git,可随时回滚
🎯 完整部署命令(复制粘贴)
# 1. 进入项目目录
cd /opt/1panel/apps/zjpb
# 2. 检查文件是否上传成功
ls -lh v2.1.0.patch git_patch_deploy.sh
# 3. 赋予执行权限
chmod +x git_patch_deploy.sh
# 4. 执行部署
./git_patch_deploy.sh
# 5. 部署完成后验证
./manage.sh status
git log --oneline -3
✅ 部署检查清单
- 生产数据库已备份
- v2.1.0.patch 已上传到服务器
- git_patch_deploy.sh 已上传到服务器
- 部署脚本执行成功
- 前台页脚显示正确(ICP+统计)
- 详情页图标显示正确(Emoji)
- 后台Prompt管理菜单存在
- 标签显示正常(有文字)
- AI生成功能测试通过
💡 优势说明
相比手动上传11个文件,Git patch方式:
- 只需上传2个文件(89KB)
- 自动处理文件合并
- 保留完整Git历史
- 可以一键回滚
- 更安全可靠