# ZJPB v2.1 Git Patch 部署指南（最简单）

## ✨ 优势

- ✅ **最干净** - 使用Git patch，保持版本历史完整
- ✅ **最安全** - 自动备份未提交的修改
- ✅ **最快速** - 只需上传2个文件（89KB）
- ✅ **可追溯** - 所有更改都有Git记录

---

## 📦 需要上传的文件（仅2个）

1. `v2.1.0.patch` (89KB) - 代码补丁文件
2. `git_patch_deploy.sh` - 自动化部署脚本

---

## 🚀 部署步骤

### 第一步：备份生产数据库（在1Panel中操作）

1. 登录1Panel管理面板
2. 进入 **数据库** → 找到 `ai_nav` 数据库
3. 点击 **备份** 按钮
4. 下载备份文件保存

### 第二步：上传文件到服务器

**方法1：使用1Panel文件管理器**

1. 登录1Panel
2. 进入 **文件** → 导航到 `/opt/1panel/apps/zjpb/`
3. 上传文件：
   - `v2.1.0.patch`
   - `git_patch_deploy.sh`

**方法2：使用命令行（如果你用SSH）**

```bash
# 在本地（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中执行：

```bash
# 进入项目目录
cd /opt/1panel/apps/zjpb

# 赋予执行权限
chmod +x git_patch_deploy.sh

# 执行部署
./git_patch_deploy.sh
```

**脚本会自动完成：**
1. ✅ 停止应用
2. ✅ 检查Git状态
3. ✅ 备份未提交的修改（如有）
4. ✅ 应用v2.1.0补丁
5. ✅ 提交到Git
6. ✅ 安装依赖
7. ✅ 运行数据库迁移（创建prompt_templates表）
8. ✅ 重启应用
9. ✅ 检查状态

**预期输出：**
```
================================
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)

================================
✅ 部署完成！
================================
```

### 第四步：验证部署

**前台验证：**
1. 访问首页，检查页脚：
   - `© 2025 ZJPB - 焦提示词 | AI工具导航`
   - `浙ICP备2025154782号-1`
   - 打开F12检查Network，确认Clarity统计已加载

2. 访问任意网站详情页，检查图标：
   - 返回首页：`←` 而不是 `arrow_back`
   - 访问网站：`↗` 而不是 `north_east`
   - 浏览次数：`👁` 而不是 `visibility`

**后台验证：**
1. 登录 `/admin/login`
2. 左侧菜单应该有 **Prompt管理**
3. 点击进入，查看3条默认模板：
   - 标签生成
   - 主要功能生成
   - 详细介绍生成

4. 进入 **网站管理** → 编辑任意网站
5. 标签区域应该正常显示标签名称（蓝色标签，有文字）

**AI功能验证：**
1. 编辑或创建网站
2. 测试 **AI生成标签** 按钮
3. 测试 **AI生成详细介绍** 按钮
4. 测试 **AI生成主要功能** 按钮

---

## 🔍 部署后检查

查看Git提交历史：
```bash
cd /opt/1panel/apps/zjpb
git log --oneline -5
```

应该看到最新的提交：
```
xxxxxxx release: v2.1.0 - Prompt管理系统、页脚优化、图标修复
```

查看应用状态：
```bash
./manage.sh status
```

查看应用日志（如有问题）：
```bash
./manage.sh logs
```

---

## 🔄 回滚方案（如出现问题）

```bash
cd /opt/1panel/apps/zjpb

# 停止应用
./manage.sh stop

# 回滚到上一个提交
git reset --hard HEAD~1

# 如果有stash的备份，恢复它
git stash list
git stash pop

# 重启应用
./manage.sh start
```

---

## 📝 注意事项

1. ✅ 服务器路径是 `/opt/1panel/apps/zjpb` 不是 `/www/wwwroot/zjpb`
2. ✅ 已确认服务器有Git仓库
3. ✅ patch文件会自动保存现有未提交的修改
4. ✅ 部署过程中会自动运行数据库迁移
5. ✅ 所有更改都会提交到Git，可随时回滚

---

## 🎯 完整部署命令（复制粘贴）

```bash
# 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历史
- 可以一键回滚
- 更安全可靠
