mirror of
https://github.com/kuaifan/dootask.git
synced 2025-12-14 12:42:51 +00:00
no message
This commit is contained in:
parent
26727fea17
commit
14bc7a0f76
@ -197,7 +197,7 @@ class AppsController extends AbstractController
|
|||||||
$logFile = base_path('docker/logs/apps/' . $appName . '.log');
|
$logFile = base_path('docker/logs/apps/' . $appName . '.log');
|
||||||
|
|
||||||
if (!file_exists($logFile)) {
|
if (!file_exists($logFile)) {
|
||||||
return Base::retSuccess('日志返回成功', [
|
return Base::retSuccess('success', [
|
||||||
'log' => ''
|
'log' => ''
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
@ -208,7 +208,7 @@ class AppsController extends AbstractController
|
|||||||
exec($cmd, $output);
|
exec($cmd, $output);
|
||||||
$logContent = implode("\n", $output);
|
$logContent = implode("\n", $output);
|
||||||
|
|
||||||
return Base::retSuccess('日志返回成功', [
|
return Base::retSuccess('success', [
|
||||||
'log' => $logContent
|
'log' => $logContent
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -94,6 +94,17 @@ class Apps
|
|||||||
// 获取本地安装信息
|
// 获取本地安装信息
|
||||||
$localInfo = self::getAppLocalInfo($appName);
|
$localInfo = self::getAppLocalInfo($appName);
|
||||||
|
|
||||||
|
// 检查是否需要卸载旧版本
|
||||||
|
if ($command === 'up' && $localInfo['status'] === 'installed' && $localInfo['require_uninstalls']) {
|
||||||
|
foreach ($localInfo['require_uninstalls'] as $requireUninstall) {
|
||||||
|
if (version_compare($versionInfo['version'], $requireUninstall['version'], $requireUninstall['operator'])) {
|
||||||
|
$op = $requireUninstall['operator'] ?: '=';
|
||||||
|
$reason = !empty($requireUninstall['reason']) ? "(原因:{$requireUninstall['reason']})" : '';
|
||||||
|
return Base::retError("更新版本 {$versionInfo['version']},需要先卸载已安装的版本{$reason}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 生成docker-compose.yml文件
|
// 生成docker-compose.yml文件
|
||||||
$res = self::generateDockerComposeYml($versionInfo['compose_file'], $localInfo['params']);
|
$res = self::generateDockerComposeYml($versionInfo['compose_file'], $localInfo['params']);
|
||||||
if (Base::isError($res)) {
|
if (Base::isError($res)) {
|
||||||
@ -241,6 +252,7 @@ class Apps
|
|||||||
'github' => '',
|
'github' => '',
|
||||||
'document' => '',
|
'document' => '',
|
||||||
'fields' => [],
|
'fields' => [],
|
||||||
|
'require_uninstalls' => [],
|
||||||
];
|
];
|
||||||
|
|
||||||
// 处理应用图标
|
// 处理应用图标
|
||||||
@ -322,6 +334,32 @@ class Apps
|
|||||||
$info['fields'] = $fields;
|
$info['fields'] = $fields;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 处理 require_uninstalls 配置
|
||||||
|
if (isset($configData['require_uninstalls']) && is_array($configData['require_uninstalls'])) {
|
||||||
|
$requireUninstalls = [];
|
||||||
|
foreach ($configData['require_uninstalls'] as $item) {
|
||||||
|
// 处理不同格式的配置
|
||||||
|
if (is_array($item)) {
|
||||||
|
// 完整格式: {version: '2.0.0', reason: '原因'}
|
||||||
|
if (isset($item['version']) && preg_match('/^\s*([<>=!]*)\s*(.+)$/', $item['version'], $matches)) {
|
||||||
|
$requireUninstalls[] = [
|
||||||
|
'version' => $matches[2],
|
||||||
|
'operator' => $matches[1] ?: '=',
|
||||||
|
'reason' => $item['reason'] ? self::getMultiLanguageField($item['reason']) : ''
|
||||||
|
];
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// 简化格式: 直接是版本号字符串
|
||||||
|
$requireUninstalls[] = [
|
||||||
|
'version' => $item,
|
||||||
|
'operator' => '=',
|
||||||
|
'reason' => ''
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$info['require_uninstalls'] = $requireUninstalls;
|
||||||
|
}
|
||||||
|
|
||||||
// 处理其他标准字段
|
// 处理其他标准字段
|
||||||
foreach (['author', 'website', 'github', 'document'] as $field) {
|
foreach (['author', 'website', 'github', 'document'] as $field) {
|
||||||
if (isset($configData[$field])) {
|
if (isset($configData[$field])) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user