mirror of
https://github.com/acepanel/panel.git
synced 2026-02-04 12:40:25 +08:00
特性(主页):新增检查更新
This commit is contained in:
@@ -2,8 +2,15 @@
|
||||
|
||||
所有重要的更改都将在此文件中记录。
|
||||
|
||||
## [20230130] - 常规更新
|
||||
|
||||
## [20230108] - 常规更新
|
||||
- 代码格式化
|
||||
- 更新许可证
|
||||
- 修复备份逻辑错误
|
||||
- 主页新增新年祝福
|
||||
- 主页新增检查更新
|
||||
|
||||
## [20230113] - 常规更新
|
||||
|
||||
- 优化更新流程
|
||||
- 优化备份流程
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
return [
|
||||
'name' => '耗子Linux面板',
|
||||
'version' => '20230113',
|
||||
'version' => '20230130',
|
||||
'plugin_dir' => '/www/panel/plugins',
|
||||
];
|
||||
@@ -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&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&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>
|
||||
|
||||
@@ -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']);
|
||||
|
||||
});
|
||||
// 网站管理
|
||||
|
||||
Reference in New Issue
Block a user