## 核心优化 - 移除详情页自动调用博查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.7 KiB
4.7 KiB
ZJPB v2.1 手动上传部署指南
📋 需要上传的文件(共10个)
核心文件(必须上传)
- ✅
app.py- 新增Prompt管理视图 - ✅
models.py- 新增PromptTemplate模型 - ✅
migrate_prompts.py- 数据库迁移脚本(新文件)
模板文件(必须上传)
- ✅
templates/base_new.html- 页脚和统计代码 - ✅
templates/detail_new.html- 图标修复 - ✅
templates/admin/site/create.html- 标签显示修复 - ✅
templates/admin/site/edit.html- 标签显示修复
辅助文件(可选)
- ⭕
INCREMENTAL_DEPLOY.md- 部署文档 - ⭕
export_data.py- 数据导出工具 - ⭕
migrate_db.py- 数据库工具
部署脚本(新增)
- ✅
quick_deploy_server.sh- 服务器端快速部署脚本
🚀 部署步骤(使用1Panel文件管理器)
第一步:备份生产数据库
- 登录1Panel管理面板
- 进入 数据库 → 找到
ai_nav数据库 - 点击 备份 按钮
- 下载备份文件到本地保存
第二步:备份现有代码
- 在1Panel中进入 文件管理
- 进入
/www/wwwroot/ - 右键点击
zjpb文件夹 - 选择 压缩 → 命名为
zjpb_backup_20250130.tar.gz - 下载到本地保存
第三步:上传新文件
方法1:使用1Panel文件管理器(推荐)
-
在1Panel文件管理器中进入
/www/wwwroot/zjpb/ -
上传核心文件(覆盖):
- 上传
app.py到/www/wwwroot/zjpb/ - 上传
models.py到/www/wwwroot/zjpb/ - 上传
migrate_prompts.py到/www/wwwroot/zjpb/(新文件) - 上传
quick_deploy_server.sh到/www/wwwroot/zjpb/(新文件)
- 上传
-
上传模板文件(覆盖):
- 进入
/www/wwwroot/zjpb/templates/ - 上传
base_new.html到templates/ - 上传
detail_new.html到templates/ - 进入
templates/admin/site/ - 上传
create.html到templates/admin/site/ - 上传
edit.html到templates/admin/site/
- 进入
方法2:使用FTP工具(FileZilla/WinSCP)
服务器地址: your-server-ip
用户名: root
密码: your-password
端口: 22 (SFTP)
连接后进入 /www/wwwroot/zjpb/,直接拖拽文件上传覆盖。
第四步:设置脚本权限并执行部署
在1Panel终端或SSH中执行:
# 进入项目目录
cd /www/wwwroot/zjpb
# 设置脚本执行权限
chmod +x quick_deploy_server.sh
# 执行部署脚本
./quick_deploy_server.sh
脚本会自动完成以下操作:
- ✅ 停止应用
- ✅ 备份当前代码
- ✅ 安装依赖(如有更新)
- ✅ 运行数据库迁移
- ✅ 重启应用
- ✅ 检查状态
第五步:验证部署
前台验证:
-
访问首页,检查页脚是否显示:
© 2025 ZJPB - 焦提示词 | AI工具导航浙ICP备2025154782号-1
-
访问任意网站详情页,检查:
- 图标是否正常显示(不是Material Icons文本)
- 返回首页按钮显示
←而不是arrow_back
后台验证:
-
登录后台
/admin/login -
检查左侧菜单是否有 Prompt管理
-
点击进入,应该看到3条默认数据:
- 标签生成
- 主要功能生成
- 详细介绍生成
-
进入 网站管理 → 编辑任意网站
-
检查标签区域是否正常显示标签名称(不是空白蓝框)
AI功能验证:
- 创建新网站或编辑现有网站
- 测试 "AI生成标签" 按钮
- 测试 "AI生成详细介绍" 按钮
- 测试 "AI生成主要功能" 按钮
🐛 常见问题
Q1: 上传后文件权限错误
# 设置正确的权限
cd /www/wwwroot/zjpb
chmod 644 *.py
chmod 755 *.sh
Q2: 脚本执行失败
# 手动执行步骤
cd /www/wwwroot/zjpb
./manage.sh stop
source venv/bin/activate
python migrate_prompts.py
./manage.sh start
Q3: 数据库迁移报错 "表已存在"
这是正常的,说明之前已经运行过,可以忽略。
Q4: 应用无法启动
# 查看错误日志
./manage.sh logs
# 或
tail -f logs/error.log
🔄 快速回滚(如出现问题)
cd /www/wwwroot/zjpb
./manage.sh stop
# 恢复备份
cd /www/wwwroot
rm -rf zjpb
tar -xzf zjpb_backup_20250130.tar.gz
# 重启
cd zjpb
./manage.sh start
📊 部署检查清单
- 生产数据库已备份
- 现有代码已备份
- 所有文件上传完成
- 部署脚本执行成功
- 前台页脚显示正常
- 详情页图标显示正常
- 后台Prompt管理菜单存在
- 标签显示正常
- AI功能测试通过
💡 提示
如果你经常需要部署更新,建议配置Git远程仓库(GitHub/Gitee),下次就可以直接 git pull 更新,更加方便快捷。