Эх сурвалжийг харах

feat(scripts): 添加合并dev到prod分支的脚本;展示设备详情的mqtt消息的打印;

liujia 2 сар өмнө
parent
commit
f75c721ffe

+ 61 - 0
scripts/merge_dev_to_pro.sh

@@ -0,0 +1,61 @@
+#!/bin/bash
+# 用于将 dev 分支合并到 prod 分支,保留 prod 配置文件版本
+# 支持第一次对齐历史 & 后续增量合并
+# 使用方法:
+# bash scripts/merge_dev_to_pro.sh first    # 第一次合并
+# bash scripts/merge_dev_to_pro.sh          # 以后正常合并
+
+CONFIG_FILES=("Jenkinsfile" "Dockerfile" "nginx.conf")
+
+# 确保脚本在项目根目录运行
+if [ ! -d .git ]; then
+    echo "❌ 请在 Git 项目根目录运行此脚本"
+    exit 1
+fi
+
+# 检查是否有未提交的更改
+if ! git diff --quiet || ! git diff --cached --quiet; then
+    echo "❌ 检测到本地有未提交的改动,请先提交或暂存后再执行合并"
+    exit 1
+fi
+
+# 更新本地分支
+echo "📦 更新本地分支..."
+git checkout prod && git pull origin prod || exit 1
+git checkout dev && git pull origin dev || exit 1
+
+# 切回 prod 分支
+git checkout prod || exit 1
+
+# 执行合并
+if [ "$1" == "first" ]; then
+    echo "🚀 第一次对齐历史,准备合并 dev..."
+    git merge dev --no-commit || exit 1
+else
+    echo "🔄 增量合并 dev..."
+    git merge dev --no-commit || exit 1
+fi
+
+# 保留 prod 分支的配置文件
+echo "🛡 保留 prod 配置文件版本..."
+for file in "${CONFIG_FILES[@]}"; do
+    if [ -f "$file" ]; then
+        git checkout --ours "$file"
+        git add "$file"
+        echo "  ✅ 已保留 $file"
+    else
+        echo "  ⚠️ $file 在当前分支不存在,跳过"
+    fi
+done
+
+# 提交合并
+git commit -m "Merge dev into prod (keep prod config files)"
+
+# 推送确认
+read -p "🚀 是否推送到远程 prod 分支?(y/N) " confirm
+if [[ "$confirm" =~ ^[Yy]$ ]]; then
+    git push origin prod
+    echo "✅ 已推送到远程 prod 分支"
+else
+    echo "⏸ 已取消推送,可手动执行:git push origin prod"
+fi

+ 1 - 1
src/views/device/detail/index.vue

@@ -369,7 +369,7 @@ onMounted(() => {
     try {
       const data = JSON.parse(message.toString())
       const arr = data.targetPoints
-      // console.log('收到MQTT消息', data.dev_id, data.targetPoints)
+      console.log('收到MQTT消息', data, data.targetPoints)
       if (Array.isArray(arr) && arr.length > 0 && Array.isArray(arr[0])) {
         // 记录本次出现的所有id
         const currentIds = new Set<number>()