新增功能: - Prompt管理:后台新增Prompt模板管理功能 - 数据库迁移:新增prompt_templates表及默认数据 - 页脚优化:添加ICP备案号(浙ICP备2025154782号-1)和Microsoft Clarity统计 - 图标修复:详情页Material Icons替换为Emoji - 标签显示:修复编辑页标签名称无法显示的问题 技术改进: - 添加正则表达式提取标签名称 - 优化页脚样式和链接 - 完善增量部署文档 🚀 Generated with Claude Code Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
4.3 KiB
4.3 KiB
ZJPB v2.1 增量部署指南
📋 本次更新内容
新增功能
- Prompt管理系统 - 后台可管理AI提示词模板
- 详情页图标优化 - Material Icons替换为Emoji
- 标签显示修复 - 修复编辑页标签名称无法显示问题
- 页脚优化 - 添加ICP备案号和Microsoft Clarity统计
数据库变更
- 新增表:
prompt_templates(Prompt模板表) - 无现有表结构变更,完全兼容旧数据
🔒 增量部署步骤
第一步:备份生产数据库(必须!)
在1Panel中备份数据库:
# 方法1:使用1Panel面板
1. 进入1Panel -> 数据库
2. 找到 ai_nav 数据库
3. 点击"备份"按钮
4. 下载备份文件到本地保存
# 方法2:使用命令行
mysqldump -h 112.124.42.38 -u ai_nav_user -p ai_nav > backup_$(date +%Y%m%d_%H%M%S).sql
第二步:停止生产应用
# SSH登录到生产服务器
ssh root@your-server-ip
# 进入应用目录
cd /www/wwwroot/zjpb
# 停止应用
./manage.sh stop
第三步:备份现有代码
# 创建备份目录
cd /www/wwwroot
cp -r zjpb zjpb_backup_$(date +%Y%m%d_%H%M%S)
第四步:上传新代码
方法1:使用Git(推荐)
# 在本地提交所有修改
git add .
git commit -m "release: v2.1 - Prompt管理系统、页脚优化、图标修复"
git push origin master
# 在服务器上拉取
cd /www/wwwroot/zjpb
git pull origin master
方法2:手动上传
# 在本地压缩(排除不需要的文件)
zip -r zjpb_v2.1.zip . -x "*.pyc" "*__pycache__*" "*.git*" ".env" "venv/*" "test_*.py" "*.db" "nul"
# 上传到服务器 /www/wwwroot/zjpb_new.zip
# 然后解压覆盖
cd /www/wwwroot/zjpb
unzip -o ../zjpb_new.zip
第五步:安装新依赖(如有)
cd /www/wwwroot/zjpb
source venv/bin/activate
pip install -r requirements.txt
第六步:运行数据库迁移
# 激活虚拟环境
source venv/bin/activate
# 运行迁移脚本(创建 prompt_templates 表)
python migrate_prompts.py
预期输出:
正在创建 prompt_templates 表...
[OK] 表创建成功
正在初始化默认prompt模板...
[OK] 默认prompt模板初始化成功
- 标签生成: 1
- 主要功能生成: 2
- 详细介绍生成: 3
第七步:重启应用
./manage.sh start
第八步:验证部署
检查项:
-
访问前台首页
- 检查页脚是否显示ICP备案号
- 检查Clarity统计是否加载(F12查看Network)
-
访问详情页
- 检查图标是否正常显示(不是Material Icons文本)
-
登录后台
- 检查是否有"Prompt管理"菜单
- 进入Prompt管理,查看是否有3条默认数据
-
测试网站编辑
- 编辑任意网站,检查标签是否正常显示(不是空白蓝框)
-
测试AI功能
- 创建新网站,测试"AI生成标签"功能
- 测试"AI生成详细介绍"功能
- 测试"AI生成主要功能"功能
🔄 回滚方案(如出现问题)
快速回滚代码
cd /www/wwwroot
./zjpb/manage.sh stop
# 删除新版本
rm -rf zjpb
# 恢复备份
mv zjpb_backup_YYYYMMDD_HHMMSS zjpb
# 重启
cd zjpb
./manage.sh start
恢复数据库
# 如果新表导致问题,可以删除新表
mysql -h 112.124.42.38 -u ai_nav_user -p ai_nav
# 在MySQL中执行
DROP TABLE IF EXISTS prompt_templates;
📝 注意事项
- ✅ 本次更新不会影响现有数据 - 只是新增表,不修改现有表
- ✅ 完全向后兼容 - 即使不运行迁移脚本,前台也能正常访问
- ✅ 可以随时回滚 - 保留了完整备份
- ⚠️ 必须备份数据库 - 虽然风险很低,但备份是必须的
- ⚠️ 检查.env配置 - 确保生产环境的.env配置正确
🐛 常见问题
Q1: 迁移脚本报错 "表已存在"
A: 说明之前已经运行过迁移,可以跳过此步骤
Q2: Prompt管理菜单看不到
A: 清除浏览器缓存,重新登录后台
Q3: 标签还是显示不出来
A: 清除浏览器缓存,强制刷新(Ctrl+F5)
Q4: Clarity统计没加载
A: 检查网络是否能访问 clarity.ms,可能被墙
📞 技术支持
如遇问题,请检查日志:
# 查看应用日志
./manage.sh logs
# 查看错误日志
tail -f logs/error.log