2
0
mirror of https://github.com/acepanel/panel.git synced 2026-02-04 12:40:25 +08:00

特性(主页):新增检查更新

This commit is contained in:
耗子
2023-01-30 11:29:54 +08:00
parent b0bbd0f43e
commit d4fd16060c
5 changed files with 87 additions and 19 deletions

View File

@@ -2,8 +2,15 @@
所有重要的更改都将在此文件中记录。
## [20230130] - 常规更新
## [20230108] - 常规更新
- 代码格式化
- 更新许可证
- 修复备份逻辑错误
- 主页新增新年祝福
- 主页新增检查更新
## [20230113] - 常规更新
- 优化更新流程
- 优化备份流程

View File

@@ -10,6 +10,7 @@ use App\Http\Controllers\Controller;
use App\Models\Plugin;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Http;
class InfosController extends Controller
{
@@ -293,4 +294,33 @@ class InfosController extends Controller
);
return response()->json($res);
}
/**
* 检查更新
*/
public function checkUpdate(): JsonResponse
{
$version = config('panel.version');
$remoteVersion = Http::get('https://api.panel.haozi.xyz/api/version/info')->json();
if ($remoteVersion['code'] != 0) {
$res['code'] = 1;
$res['msg'] = '获取远程版本信息失败';
$res['data'] = [];
return response()->json($res);
}
$res['code'] = 0;
$res['msg'] = 'success';
if (version_compare($version, $remoteVersion['data']['version'], '<')) {
$res['data'] = [
'version' => $remoteVersion['data']['version'],
'describe' => $remoteVersion['data']['describe'],
];
} else {
$res['data'] = [];
}
return response()->json($res);
}
}

View File

@@ -1,6 +1,6 @@
<?php
return [
'name' => '耗子Linux面板',
'version' => '20230113',
'version' => '20230130',
'plugin_dir' => '/www/panel/plugins',
];

View File

@@ -14,9 +14,11 @@ Date: 2022-11-30
<a style="background: #fff;" href="https://hzbk.net"
title="耗子博客" target="_blank"><i class="layui-icon layui-icon-release"></i> 耗子博客</a>
<a style="background: #fff;" href="https://weavatar.com"
title="WeAvatar" target="_blank"><i class="layui-icon layui-icon-release"></i> WeAvatar - 互联网公共头像服务</a>
title="WeAvatar" target="_blank"><i class="layui-icon layui-icon-release"></i>
WeAvatar - 互联网公共头像服务</a>
<a style="background: #fff;" href="https://wepublish.cn"
title="WePublish" target="_blank"><i class="layui-icon layui-icon-release"></i> WePublish - WordPress的本土化版本</a>
title="WePublish" target="_blank"><i class="layui-icon layui-icon-release"></i>
WePublish - WordPress的本土化版本</a>
</div>
</div>
</div>
@@ -149,7 +151,9 @@ Date: 2022-11-30
<p style="color: red;">开发组祝大家2023新年快乐新的一年永无Bug永不宕机</p>
</blockquote>
<blockquote class="layui-elem-quote">
<p>欢迎您使用耗子Linux面板。如遇到问题/Bug可通过 <a href="https://jq.qq.com/?_wv=1027&amp;k=I1oJKSTH">Q群12370907</a> / <a target="_blank" href="https://pd.qq.com/s/fyol46wfy">QQ频道</a> 寻求帮助</p>
<p>欢迎您使用耗子Linux面板。如遇到问题/Bug可通过 <a
href="https://jq.qq.com/?_wv=1027&amp;k=I1oJKSTH">Q群12370907</a> / <a
target="_blank" href="https://pd.qq.com/s/fyol46wfy">QQ频道</a> 寻求帮助</p>
</blockquote>
</div>
</div>
@@ -258,21 +262,46 @@ Date: 2022-11-30
});
// 监听更新按钮点击事件
$('#update_panel').click(function () {
admin.popup({
title: '提示'
,
shade: 0
,
anim: -1
,
area: ['400px', '200px']
,
id: 'layadmin-layer-skin-update-panel'
,
skin: 'layui-anim layui-anim-upbit'
,
content: '请在SSH执行<span class="layui-badge-rim">panel update</span>以更新面板!'
index = layer.msg('正在获取版本信息...', {
icon: 16
, time: 0
});
admin.req(
{
url: '/api/panel/info/checkUpdate'
, method: 'get'
, success: function (result) {
layer.close(index);
if (result.code !== 0) {
layer.msg('获取版本信息失败,请刷新重试!')
return false;
}
if (result.data.version) {
admin.popup({
title: '提示'
,
shade: 0
,
anim: -1
,
area: ['400px', '200px']
,
id: 'layadmin-layer-skin-update-panel'
,
skin: 'layui-anim layui-anim-upbit'
,
content: '最新版本:' + result.data.version + '<br><br>更新日志:' + result.data.describe + '<br><br>请在SSH执行<span class="layui-badge-rim">panel update</span>以更新面板!'
});
} else {
layer.msg('当前已是最新版本!')
}
}
, error: function (xhr, status, error) {
layer.close(index);
layer.msg('获取版本信息失败,请刷新重试!')
}
}
);
});
});
</script>

View File

@@ -61,6 +61,8 @@ Route::prefix('panel')->group(function () {
Route::get('getHomePlugins', [InfosController::class, 'getHomePlugins']);
// 已安装PHP和DB版本
Route::get('getInstalledDbAndPhp', [InfosController::class, 'getInstalledDbAndPhp']);
// 检查更新
Route::get('checkUpdate', [InfosController::class, 'checkUpdate']);
});
// 网站管理