From ad873b2fe63500ee0dc16309c5afe801a261c4c5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=85=A8=E6=A0=88=E5=B0=8F=E5=AD=A6=E7=94=9F?=
<1518079521@qq.com>
Date: Fri, 20 Mar 2026 15:55:13 +0800
Subject: [PATCH] up
---
admin/src/app/components/upgrade/index.vue | 2 +-
admin/src/app/views/index/store.vue | 7 ++++--
niucloud/app/adminapi/route/upgrade.php | 6 ++---
.../service/admin/upgrade/UpgradeService.php | 22 +++++++++++++------
4 files changed, 24 insertions(+), 13 deletions(-)
diff --git a/admin/src/app/components/upgrade/index.vue b/admin/src/app/components/upgrade/index.vue
index 2f3af58d9..1e5aa17ed 100644
--- a/admin/src/app/components/upgrade/index.vue
+++ b/admin/src/app/components/upgrade/index.vue
@@ -516,7 +516,7 @@ const open = (addonKey: string = '', callback = null) => {
active.value = 'upgrade'
if (callback) callback()
} else {
- if (addonKey && frameworkVersion.value != newFrameworkVersion.value) {
+ if (addonKey && addonKey.indexOf('niucloud-admin') == -1 && frameworkVersion.value != newFrameworkVersion.value) {
ElMessage({ message: '存在新版本框架,请先升级框架', type: 'error' })
if (callback) callback()
return
diff --git a/admin/src/app/views/index/store.vue b/admin/src/app/views/index/store.vue
index 7252b1d54..9e01807cb 100644
--- a/admin/src/app/views/index/store.vue
+++ b/admin/src/app/views/index/store.vue
@@ -53,7 +53,9 @@
一键修复
安装({{ batchUpgradeApp.length }})
- 一键升级({{ batchUpgradeApp.length }})
+
+ 一键升级({{ batchUpgradeApp.length }})
+
@@ -592,6 +594,7 @@ import useUserStore from '@/stores/modules/user'
import Upgrade from '@/app/components/upgrade/index.vue'
import CloudBuild from '@/app/components/cloud-build/index.vue'
import UpgradeLog from '@/app/components/upgrade-log/index.vue'
+import {deepClone} from "@/utils/common";
const tableRef = ref(null)
const router = useRouter()
@@ -1271,7 +1274,7 @@ const appKeySingleSelect = (event: any, key: string) => {
}
const batchUpgrade = () => {
- const appKeys = batchUpgradeApp.value
+ const appKeys = deepClone(batchUpgradeApp.value)
if (frameworkVersion.value != frameworkNewVersion.value) {
appKeys.unshift('niucloud-admin')
}
diff --git a/niucloud/app/adminapi/route/upgrade.php b/niucloud/app/adminapi/route/upgrade.php
index ecc4b1c90..8b8c8a473 100644
--- a/niucloud/app/adminapi/route/upgrade.php
+++ b/niucloud/app/adminapi/route/upgrade.php
@@ -30,13 +30,13 @@ Route::group('', function () {
Route::post('upgrade/clear', 'addon.Upgrade/clearUpgradeTask');
// 升级环境检测
- Route::get('upgrade/check/[:addon]', 'addon.Upgrade/upgradePreCheck')->pattern(['addon' => '[\w|\,]+']);
+ Route::get('upgrade/check/[:addon]', 'addon.Upgrade/upgradePreCheck')->pattern(['addon' => '[\w,-]+']);
// 升级
- Route::post('upgrade/[:addon]', 'addon.Upgrade/upgrade')->pattern(['addon' => '[\w|\,]+']);
+ Route::post('upgrade/[:addon]', 'addon.Upgrade/upgrade')->pattern(['addon' => '[\w,-]+']);
// 获取升级内容
- Route::get('upgrade/[:addon]', 'addon.Upgrade/getUpgradeContent')->pattern(['addon' => '[\w|\,]+']);
+ Route::get('upgrade/[:addon]', 'addon.Upgrade/getUpgradeContent')->pattern(['addon' => '[\w,-]+']);
Route::post('upgrade/operate/:operate', 'addon.Upgrade/operate');
diff --git a/niucloud/app/service/admin/upgrade/UpgradeService.php b/niucloud/app/service/admin/upgrade/UpgradeService.php
index 5882ca762..7aacb8382 100644
--- a/niucloud/app/service/admin/upgrade/UpgradeService.php
+++ b/niucloud/app/service/admin/upgrade/UpgradeService.php
@@ -12,6 +12,7 @@
namespace app\service\admin\upgrade;
use app\dict\addon\AddonDict;
+use app\dict\sys\AppTypeDict;
use app\dict\sys\BackupDict;
use app\dict\sys\UpgradeDict;
use app\model\addon\Addon;
@@ -854,15 +855,22 @@ class UpgradeService extends BaseAdminService
} else {
$addons = array_filter(explode(',', $addon));
foreach ($addons as $key) {
- $info = ( new Addon() )->where([ [ 'key', '=', $key ] ])->field('version,type')->find();
- $upgrade[ 'app_key' ] = $key;
- $upgrade[ 'version' ] = $info['version'];
- if ($info['type'] == 'app') {
- array_unshift($apps, $upgrade);
- } else {
- array_push($apps, $upgrade);
+ if ($key != AddonDict::FRAMEWORK_KEY) {
+ $info = ( new Addon() )->where([ [ 'key', '=', $key ] ])->field('version,type')->find();
+ $upgrade[ 'app_key' ] = $key;
+ $upgrade[ 'version' ] = $info['version'];
+ if ($info['type'] == 'app') {
+ array_unshift($apps, $upgrade);
+ } else {
+ array_push($apps, $upgrade);
+ }
}
}
+ if (in_array(AddonDict::FRAMEWORK_KEY, $addons)) {
+ $upgrade[ 'app_key' ] = AddonDict::FRAMEWORK_KEY;
+ $upgrade[ 'version' ] = config('version.version');
+ array_unshift($apps, $upgrade);
+ }
}
foreach ($apps as $item) {