254 lines
8.0 KiB
HTML
254 lines
8.0 KiB
HTML
|
{extend name="foxcms" /}
|
|||
|
|
|||
|
{block name="css"}
|
|||
|
<style>
|
|||
|
|
|||
|
.foxui-loading .foxui-loading-inner.block {
|
|||
|
width: 418px !important;
|
|||
|
height: 220px !important;
|
|||
|
}
|
|||
|
.foxui-loading .foxui-loading-inner.block svg {
|
|||
|
width: 10%;
|
|||
|
}
|
|||
|
</style>
|
|||
|
{/block}
|
|||
|
|
|||
|
{block name="body"}
|
|||
|
<input name="bcid" value="{$bcid}" type="hidden" />
|
|||
|
<input name="columnId" value="{$cid}" type="hidden" />
|
|||
|
<input name="only" value="{$only}" type="hidden" />
|
|||
|
<input name="id" value="{$id}" type="hidden" />
|
|||
|
<input name="is_sql" value="{$is_sql}" type="hidden" />
|
|||
|
<div class="foxcms-content-inner">
|
|||
|
<!-- page content -->
|
|||
|
<div class="diy-form-content">
|
|||
|
|
|||
|
<div class="section section-panel margin-top-10">
|
|||
|
|
|||
|
<p>注意事项: 安装时请确保文件列表中涉及的目录前可写入权限</p>
|
|||
|
<div class="foxui-table foxui-table-border-bottom foxui-table-hover foxui-checkbox-group">
|
|||
|
<ul class="foxui-table-thead foxui-checkbox-head">
|
|||
|
<li class="foxui-table-tr">
|
|||
|
<div class="foxui-table-th">目录</div>
|
|||
|
<div class="foxui-table-th">可写</div>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
|
|||
|
<ul class="foxui-table-tbody foxui-checkbox-list">
|
|||
|
<!--表格内容-->
|
|||
|
{foreach $dirs as $key=>$vo}
|
|||
|
<li class="foxui-table-tr">
|
|||
|
<div class="foxui-table-td">{$vo.dir}</div>
|
|||
|
<div class="foxui-table-td">
|
|||
|
{if $vo.writeable == 1}
|
|||
|
<i class="foxui-icon-zhengque-f" style="color: #5cd685;font-size: 18px;"></i>
|
|||
|
{else/}
|
|||
|
<i class="foxui-icon-cuowu-f" style="color: #f56c6c;font-size: 18px;"></i>
|
|||
|
{/if}
|
|||
|
</div>
|
|||
|
</li>
|
|||
|
{/foreach}
|
|||
|
</ul>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
<div class="section section-panel margin-top-10">
|
|||
|
<p>所有更新文件:</p>
|
|||
|
<div class="foxui-table foxui-table-border-bottom foxui-table-hover foxui-checkbox-group">
|
|||
|
<ul class="foxui-table-thead foxui-checkbox-head">
|
|||
|
<li class="foxui-table-tr">
|
|||
|
<div class="foxui-table-th">更新文件</div>
|
|||
|
<div class="foxui-table-th">即将替换文件</div>
|
|||
|
<div class="foxui-table-th"></div>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
|
|||
|
<ul class="foxui-table-tbody foxui-checkbox-list">
|
|||
|
<!--表格内容-->
|
|||
|
{foreach $uFiles as $key=>$vo}
|
|||
|
<li class="foxui-table-tr">
|
|||
|
<div class="foxui-table-td">{$vo.file_relative_path}</div>
|
|||
|
<div class="foxui-table-td">{$vo.update_file_relative_path}</div>
|
|||
|
<div class="foxui-table-td">
|
|||
|
{if $vo.is_update == 1}
|
|||
|
<span class="foxui-margin-left-4 foxui-padding-4 foxui-padding-left-12 foxui-padding-right-12 foxui-bg-success foxui-color-white">覆盖</span>
|
|||
|
{else/}
|
|||
|
<span class="foxui-margin-left-4 foxui-padding-4 foxui-padding-left-12 foxui-padding-right-12 foxui-bg-primary foxui-color-white">新增</span>
|
|||
|
{/if}
|
|||
|
</div>
|
|||
|
</li>
|
|||
|
{/foreach}
|
|||
|
</ul>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
{include file="footed-copy"/}
|
|||
|
<div class="foxcms-content-footer">
|
|||
|
<button class="is-long foxui-size-small foxui-solid-primary" id="confirmUpdate">更新</button>
|
|||
|
</div>
|
|||
|
{/block}
|
|||
|
|
|||
|
|
|||
|
{block name="js"}
|
|||
|
<script>
|
|||
|
//添加关闭更新
|
|||
|
function addClose() {
|
|||
|
let childHtml = `<button class="foxui-plain-danger" style="margin-top: 20px;" onclick="closeT(event)">取消更新</button>`;
|
|||
|
$('.foxui-loading.is-fullscreen .foxui-loading-inner.block').append(childHtml);
|
|||
|
}
|
|||
|
|
|||
|
//关闭更新
|
|||
|
function closeT(event) {
|
|||
|
let curObj = event.target;
|
|||
|
$(curObj).closest(".foxui-loading.is-fullscreen").remove();
|
|||
|
}
|
|||
|
|
|||
|
$('#confirmUpdate').click(function () {
|
|||
|
confirmUpdate();
|
|||
|
});
|
|||
|
|
|||
|
//确认更新
|
|||
|
function confirmUpdate(obj) {
|
|||
|
if(obj != undefined || obj != null){
|
|||
|
$(obj).closest(".foxui-loading.is-fullscreen").remove();
|
|||
|
}
|
|||
|
let is_sql = $('input[name="is_sql"]').val();//检查sql文件是否存在 0:没有更新sql文件,1:有更新sql
|
|||
|
let info = "";
|
|||
|
if(is_sql == 1){
|
|||
|
info = "此版本涉及数据库更新,数据库备份中...";
|
|||
|
}else{
|
|||
|
info = "在线更新已经启动,开始下载更新...";
|
|||
|
}
|
|||
|
foxui.loading({
|
|||
|
el: 'body',
|
|||
|
type: 'block',
|
|||
|
background: 'black',
|
|||
|
text: '系统更新',
|
|||
|
info: info,
|
|||
|
iconType: 'spinner',
|
|||
|
iconColor: '#000000',
|
|||
|
iconSize: 42,
|
|||
|
});
|
|||
|
addClose();//添加关闭更新
|
|||
|
if (is_sql == 1){
|
|||
|
//备份数据
|
|||
|
backupAll();
|
|||
|
}else{
|
|||
|
downloadUpdate();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//备份数据
|
|||
|
function backupAll(){
|
|||
|
let info = "此版本涉及数据库更新,数据库备份中...";
|
|||
|
$('.foxui-loading.is-fullscreen .foxui-loading-inner.block p').text(info);
|
|||
|
$.ajax({
|
|||
|
type: "get",
|
|||
|
url: "backupAll",
|
|||
|
dataType: "json",
|
|||
|
success: function (res) {
|
|||
|
if (res.code == 1) {
|
|||
|
downloadUpdate();
|
|||
|
}else{
|
|||
|
let errInfo = '<a style="cursor: pointer;" onclick="confirmUpdate(this)">您的备份数据失败,请点击这里重试</a>';
|
|||
|
$('.foxui-loading.is-fullscreen .foxui-loading-inner.block p').html(errInfo);
|
|||
|
}
|
|||
|
}, error: function (res) {
|
|||
|
let errInfo = '<a style="cursor: pointer;" onclick="confirmUpdate(this)">您的备份数据失败,请点击这里重试</a>';
|
|||
|
$('.foxui-loading.is-fullscreen .foxui-loading-inner.block p').html(errInfo);
|
|||
|
}
|
|||
|
});
|
|||
|
}
|
|||
|
|
|||
|
//下载更新
|
|||
|
function downloadUpdate() {
|
|||
|
let info = "在线更新已经启动,开始下载更新...";
|
|||
|
$('.foxui-loading.is-fullscreen .foxui-loading-inner.block p').text(info);
|
|||
|
let id = $('input[name="id"]').val();
|
|||
|
let only = $('input[name="only"]').val();
|
|||
|
let param = {
|
|||
|
'only':only,
|
|||
|
'id':id
|
|||
|
};
|
|||
|
$.ajax({
|
|||
|
type: "get",
|
|||
|
url: "downloadUpdate",
|
|||
|
dataType: "json",
|
|||
|
data:param,
|
|||
|
success: function (res) {
|
|||
|
if (res.code == 1) {
|
|||
|
let filepath = res.data;
|
|||
|
unFileUpdate(filepath);
|
|||
|
}else{
|
|||
|
let errInfo = '<a style="cursor: pointer;" onclick="downloadUpdate()">在线下载更新包失败,请点击这里重试</a>';
|
|||
|
$('.foxui-loading.is-fullscreen .foxui-loading-inner.block p').html(errInfo);
|
|||
|
}
|
|||
|
}, error: function (res) {
|
|||
|
let errInfo = '<a style="cursor: pointer;" onclick="downloadUpdate()">在线下载更新包失败,请点击这里重试</a>';
|
|||
|
$('.foxui-loading.is-fullscreen .foxui-loading-inner.block p').html(errInfo);
|
|||
|
}
|
|||
|
});
|
|||
|
}
|
|||
|
|
|||
|
//减压更新文件
|
|||
|
function unFileUpdate(filepath) {
|
|||
|
let info = "更新下载成功,开始解压缩...";
|
|||
|
$('.foxui-loading.is-fullscreen .foxui-loading-inner.block p').text(info);
|
|||
|
$.ajax({
|
|||
|
type: "post",
|
|||
|
url: "unFileUpdate",
|
|||
|
dataType: "json",
|
|||
|
data:{filepath},
|
|||
|
success: function (res) {
|
|||
|
if (res.code == 1) {
|
|||
|
let down_path = res.data;
|
|||
|
fileUpdate(down_path);
|
|||
|
}else{
|
|||
|
let errInfo = `<a style="cursor: pointer;" onclick="unFileUpdate('${filepath}')">更新下载解压缩失败,请点击这里重试</a>`;
|
|||
|
$('.foxui-loading.is-fullscreen .foxui-loading-inner.block p').html(errInfo);
|
|||
|
}
|
|||
|
}, error: function (res) {
|
|||
|
let errInfo = `<a style="cursor: pointer;" onclick="unFileUpdate('${filepath}')">更新下载解压缩失败,请点击这里重试</a>`;
|
|||
|
$('.foxui-loading.is-fullscreen .foxui-loading-inner.block p').html(errInfo);
|
|||
|
}
|
|||
|
});
|
|||
|
}
|
|||
|
|
|||
|
//确认更新
|
|||
|
function fileUpdate(down_path){
|
|||
|
let info = "文件减压成功,开始运行更新...";
|
|||
|
$('.foxui-loading.is-fullscreen .foxui-loading-inner.block p').text(info);
|
|||
|
let id = $('input[name="id"]').val();
|
|||
|
let only = $('input[name="only"]').val();
|
|||
|
let param = {
|
|||
|
only,id,down_path
|
|||
|
};
|
|||
|
$.ajax({
|
|||
|
type: "post",
|
|||
|
url: "fileUpdate",
|
|||
|
dataType: "json",
|
|||
|
data:param,
|
|||
|
success: function (res) {
|
|||
|
if (res.code == 1) {
|
|||
|
let errInfo = `系统更新成功 当前版本${res.data}`;
|
|||
|
$('.foxui-loading.is-fullscreen .foxui-loading-inner.block p').text(errInfo);
|
|||
|
setTimeout(function () {
|
|||
|
window.location.href=document.referrer;//返回并且刷新
|
|||
|
}, 5000);
|
|||
|
}else{
|
|||
|
let errInfo = `<a style="cursor: pointer;" onclick="fileUpdate('${down_path}')">运行更新失败,请点击这里重试</a>`;
|
|||
|
$('.foxui-loading.is-fullscreen .foxui-loading-inner.block p').html(errInfo);
|
|||
|
}
|
|||
|
}, error: function (res) {
|
|||
|
let errInfo = `<a style="cursor: pointer;" onclick="fileUpdate('${down_path}')">运行更新失败,请点击这里重试</a>`;
|
|||
|
$('.foxui-loading.is-fullscreen .foxui-loading-inner.block p').html(errInfo);
|
|||
|
}
|
|||
|
});
|
|||
|
}
|
|||
|
|
|||
|
</script>
|
|||
|
|
|||
|
{/block}
|