vr-shopxo-plugin/shopxo/public/static/admin/default/js/packageinstall.js

115 lines
4.0 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/**
* 软件安装异步请求步骤
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2021-02-22
* @desc description
* @param {[string]} key [操作key仅download和install需要]
* @param {[string]} opt [操作类型url 获取下载地址, download 下载插件包, install 安装插件包)]
* @param {[string]} msg [提示信息]
*/
function RequestHandle(key, opt, msg)
{
// 操作容器
var $container = $('.packageinstall-container');
var $progress = $('.progress-container');
var $error = $('.error-container');
var $success = $('.success-container');
// 获取参数值
var id = $container.data('id') || 0;
var type = $container.data('type') || null;
var terminal = $container.data('terminal') || null;
var url = $container.data('url') || null;
var admin_url = $container.data('admin-url') || null;
if(id == 0 || type == null || url == null)
{
$progress.addClass('am-hide');
$error.removeClass('am-hide');
$error.find('.msg-text').text(window['lang_operate_params_error'] || '请求参数有误');
return false;
}
// 默认获取地址
if((opt || null) == null)
{
opt = 'url';
}
// 加载提示
$progress.find('.msg-text').text(msg || window['lang_get_loading_tips'] || '正在获取中...');
// ajax
$.ajax({
url: RequestUrlHandle(url),
type: 'POST',
dataType: 'json',
timeout: 305000,
data: {"id":id, "type":type, "opt":opt, "key":key || '', "terminal":terminal || ''},
success: function(result)
{
if((result || null) != null && result.code == 0)
{
switch(opt)
{
// 获取下载地址
case 'url' :
RequestHandle(result.data, 'download', window['lang_download_loading_tips'] || '正在下载中...');
break;
// 下载插件包
case 'download' :
RequestHandle(result.data, 'install', window['lang_install_loading_tips'] || '正在安装中...');
break;
// 安装完成
case 'install' :
$progress.addClass('am-hide');
$error.addClass('am-hide');
$success.removeClass('am-hide');
setTimeout(function()
{
window.location.href = admin_url;
}, 2000);
break;
}
} else {
$progress.addClass('am-hide');
$error.removeClass('am-hide');
$error.find('.msg-text').text(((result || null) == null) ? (window['lang_error_text'] || '异常错误') : (result.msg || (window['lang_error_text'] || '异常错误')));
}
},
error: function(xhr, type)
{
$progress.addClass('am-hide');
$error.removeClass('am-hide');
var data = null;
if((xhr.responseJSON || null) != null && (xhr.responseJSON.msg || null) != null)
{
data = xhr.responseJSON;
} else {
if(xhr.responseText.substr(0, 1) == '{')
{
var json = JSON.parse(xhr.responseText);
if((json.msg || null) != null)
{
data = json;
} else {
data = xhr.responseText;
}
} else {
data = xhr.responseText;
}
}
var msg = (typeof(data) == 'object') ? data.msg : data;
$error.find('.msg-text').text(msg || (window['lang_error_text'] || '异常错误'));
}
});
}
$(function()
{
// 请求安装
RequestHandle();
});