2、调整详情列表默认值 3、修复从未全量备份,自定义时间不生效问题 4、修复分享那年今日渲染错误问题 5、浏览器支持下载视频,不用切换其它下载工具 6、修复新版高清图可下载,老版高清图无法下载问题 7、更换助手内部CDN或部分CDN切换离线地址,避免CDN不稳定造成助手无法使用,备份内容仍使用在线CDN,可自行切换离线CDN 8、纯文件备份,无需要打包下载时,无【下载管理】问题,导致无法重试失败条目问题 9、相册、视频导出,支持指定相片名称合成规则 10、优化识别后缀失败但文件名有点的问题 11、修复全部模块备份时,相册、视频模块为文件时,不出现打包下载按钮问题 12、修复增量备份为上次备份时,不生效问题 13、微信朋友圈同步到QQ空间的说说添加朋友圈标识 14、微信朋友圈同步到QQ空间的说说支持转换GPS坐标到火星坐标系(需在开发者维护腾讯地图WebKey) 15、微信朋友圈同步到QQ空间的说说支持修正坐标信息描述(需在开发者维护腾讯地图WebKey) 16、修复导出QQ好友到Excel,昵称与备注相反的问题 Signed-off-by: lvshuncai <lvshuncai@gmail.com>dev
parent
b3b6dea8b0
commit
f09a483594
46 changed files with 1524 additions and 933 deletions
@ -0,0 +1,18 @@ |
||||
.rc-handle-container { |
||||
position: relative; |
||||
} |
||||
.rc-handle { |
||||
position: absolute; |
||||
width: 7px; |
||||
cursor: ew-resize; |
||||
margin-left: -3px; |
||||
z-index: 2; |
||||
} |
||||
table.rc-table-resizing { |
||||
cursor: ew-resize; |
||||
} |
||||
table.rc-table-resizing thead, |
||||
table.rc-table-resizing thead > th, |
||||
table.rc-table-resizing thead > th > a { |
||||
cursor: ew-resize; |
||||
} |
File diff suppressed because one or more lines are too long
@ -0,0 +1,40 @@ |
||||
@CHARSET "UTF-8"; |
||||
|
||||
/************************************/ |
||||
.mask-hidden { |
||||
overflow: hidden !important; |
||||
} |
||||
|
||||
.mask-relative { |
||||
position: relative; |
||||
} |
||||
|
||||
.mask-backdrop { |
||||
position: absolute; |
||||
top: 0; |
||||
bottom: 0; |
||||
left: 0; |
||||
right: 0; |
||||
z-index: 1000; |
||||
background-color: #ccc; |
||||
opacity: 0.5; |
||||
filter: alpha(opacity = 50); |
||||
} |
||||
|
||||
.mask-icon { |
||||
position: absolute; |
||||
z-index: 1001; |
||||
top: 0; |
||||
left: 0; |
||||
cursor: wait; |
||||
} |
||||
|
||||
.mask-backdrop-fixed { |
||||
position: fixed; |
||||
z-index: 999999999; |
||||
} |
||||
|
||||
.mask-icon-fixed { |
||||
position: fixed; |
||||
z-index: 999999999; |
||||
} |
@ -0,0 +1,273 @@ |
||||
; |
||||
(function(root, factory) { |
||||
if (typeof define === 'function' && define.amd) { |
||||
// AMD
|
||||
define([ 'jquery', './jquery.loadmask.css' ], factory); |
||||
} else if (typeof exports === 'object') { |
||||
|
||||
require("./jquery.loadmask.css"); |
||||
|
||||
// Node, CommonJS之类的
|
||||
module.exports = factory(require('jquery')); |
||||
} else { |
||||
// 浏览器全局变量(root 即 window)
|
||||
root.returnExports = factory(root.jQuery); |
||||
} |
||||
}(this, function($) { |
||||
|
||||
// 需要调整大小的遮罩元素
|
||||
var $mask_elements = []; |
||||
|
||||
// 窗口调整大小定时器
|
||||
var mask_resize_timer; |
||||
|
||||
$(window).on("resize.mask", function() { |
||||
|
||||
mask_resize_timer && clearTimeout(mask_resize_timer); |
||||
|
||||
mask_resize_timer = setTimeout(function() { |
||||
|
||||
var $body = $(document.body); |
||||
|
||||
if ($body.hasClass("mask")) |
||||
reposIcon($body, $body.find("> .mask-icon")); |
||||
|
||||
for (var i = 0, l = $mask_elements.length; i < l; i++) { |
||||
|
||||
var $ele = $mask_elements[i]; |
||||
|
||||
var $maskEle = $ele; |
||||
|
||||
if (!$ele.hasClass("mask")) { |
||||
|
||||
$maskEle = $ele.parent(); |
||||
|
||||
$maskEle.css({ |
||||
width : "", |
||||
height : "" |
||||
}); |
||||
|
||||
$maskEle.width($ele.outerWidth()); |
||||
|
||||
$maskEle.height($ele.outerHeight()); |
||||
|
||||
} |
||||
|
||||
reposIcon($maskEle, $maskEle.find("> .mask-icon")); |
||||
} |
||||
|
||||
}, 20); |
||||
|
||||
}); |
||||
|
||||
// 有些元素需要包装一层DIV去执行MASK
|
||||
function isElementAskDiv($ele) { |
||||
|
||||
var tagName = $ele[0].tagName; |
||||
|
||||
if (tagName == 'TABLE') |
||||
return true; |
||||
|
||||
return false; |
||||
} |
||||
|
||||
function calMaskElementRect($ele) { |
||||
|
||||
if ($ele[0].tagName == 'BODY') { |
||||
|
||||
var width = window.innerWidth, height = window.innerHeight; |
||||
|
||||
if (typeof width != 'number') {// IE 5/6/7/8
|
||||
|
||||
if (document.compatMode == 'CSS1Compat') { |
||||
|
||||
width = document.documentElement.clientWidth; |
||||
|
||||
height = document.docuementElement.clientHeight; |
||||
|
||||
} else { |
||||
|
||||
width = document.body.clientWidth; |
||||
|
||||
height = document.body.clientHeight; |
||||
|
||||
} |
||||
} |
||||
|
||||
return { |
||||
width : width, |
||||
height : height |
||||
}; |
||||
} |
||||
|
||||
return { |
||||
height : $ele.outerHeight(), |
||||
width : $ele.outerWidth() |
||||
}; |
||||
} |
||||
|
||||
function reposIcon($maskEle, $icon) { |
||||
|
||||
var windowRect = calMaskElementRect($maskEle); |
||||
|
||||
var width = windowRect.width, height = windowRect.height; |
||||
|
||||
var iheight = $icon.outerHeight(), iwidth = $icon.outerWidth(); |
||||
|
||||
var top = (height - iheight) / 2, left = (width - iwidth) / 2; |
||||
|
||||
$icon.css({ |
||||
top : top + "px", |
||||
left : left + "px" |
||||
}); |
||||
|
||||
} |
||||
|
||||
// DIV等容器性元素
|
||||
function maskElement($ele, options) { |
||||
|
||||
if ($ele[0].tagName == 'BODY') |
||||
return maskBody($ele, options); |
||||
|
||||
var maskCount = ($ele.data("masked") || 0) + 1; |
||||
|
||||
$ele.data("masked", maskCount); |
||||
|
||||
// 已经开启遮罩了,
|
||||
if (maskCount > 1) |
||||
return; |
||||
|
||||
options.iconCls = options.iconCls || "fa fa-spinner fa-spin fa-3x"; |
||||
|
||||
var $maskEle = $ele; |
||||
|
||||
$mask_elements.push($ele); |
||||
|
||||
if (isElementAskDiv($ele)) { |
||||
|
||||
$maskEle = $ele.wrap('<div></div>').parent(); |
||||
|
||||
$maskEle.width($ele.outerWidth()); |
||||
|
||||
$maskEle.height($ele.outerHeight()); |
||||
} |
||||
|
||||
$maskEle.addClass("mask mask-hidden"); |
||||
|
||||
$maskEle.css("position") == 'static' |
||||
&& $maskEle.addClass("mask-relative"); |
||||
|
||||
var $mask = $('<div class="mask-backdrop"></div>').appendTo($maskEle); |
||||
|
||||
var $icon = $('<i class="mask-icon ' + options.iconCls + '"></i>') |
||||
.appendTo($maskEle); |
||||
|
||||
reposIcon($maskEle, $icon); |
||||
|
||||
} |
||||
|
||||
function unMaskElement($ele) { |
||||
|
||||
if ($ele[0].tagName == 'BODY') |
||||
return unMaskBody($ele); |
||||
|
||||
var maskCount = ($ele.data("masked") || 0) - 1; |
||||
|
||||
// 从来没遮罩过
|
||||
if (maskCount > 0) |
||||
return $ele.data("masked", maskCount); |
||||
|
||||
$ele.removeData("masked"); |
||||
|
||||
var $maskEle = $ele.hasClass("mask") ? $ele : $ele.parent(); |
||||
|
||||
$maskEle.removeClass("mask mask-relative mask-hidden"); |
||||
|
||||
$maskEle.find("> .mask-backdrop").remove(); |
||||
|
||||
$maskEle.find("> .mask-icon").remove(); |
||||
|
||||
// 窗口缩放监听从数组中移除出去
|
||||
for (var i = 0, l = $mask_elements.length; i < l; i++) |
||||
if ($mask_elements[i].get(0) == $maskEle[0]) |
||||
$mask_elements.splice(i, 1); |
||||
|
||||
} |
||||
|
||||
function maskBody($ele, options) { |
||||
|
||||
if ($ele[0].tagName != 'BODY') |
||||
return maskElement($ele, options); |
||||
|
||||
var maskCount = ($ele.data("masked") || 0) + 1; |
||||
|
||||
$ele.data("masked", maskCount); |
||||
|
||||
// 已经开启遮罩了,
|
||||
if (maskCount > 1) |
||||
return; |
||||
|
||||
options.iconCls = options.iconCls || "fa fa-spinner fa-spin fa-5x"; |
||||
|
||||
var $maskEle = $ele.addClass("mask"); |
||||
|
||||
var $mask = $('<div class="mask-backdrop mask-backdrop-fixed"></div>') |
||||
.appendTo($maskEle); |
||||
|
||||
var $icon = $( |
||||
'<i class="mask-icon mask-icon-fixed ' + options.iconCls |
||||
+ '"></i>').appendTo($maskEle); |
||||
|
||||
reposIcon($maskEle, $icon); |
||||
|
||||
} |
||||
|
||||
function unMaskBody($ele) { |
||||
|
||||
if ($ele[0].tagName != 'BODY') |
||||
return unMaskElement($ele); |
||||
|
||||
var maskCount = ($ele.data("masked") || 0) - 1; |
||||
|
||||
// 从来没遮罩过
|
||||
if (maskCount > 0) |
||||
return $ele.data("masked", maskCount); |
||||
|
||||
var $maskEle = $ele.removeData("masked"); |
||||
|
||||
$maskEle.removeClass("mask"); |
||||
|
||||
$maskEle.find("> .mask-backdrop").remove(); |
||||
|
||||
$maskEle.find("> .mask-icon").remove(); |
||||
|
||||
} |
||||
|
||||
$.fn.mask = function(options) { |
||||
|
||||
options = options || {}; |
||||
|
||||
$(this).each(function() { |
||||
|
||||
maskElement($(this), options); |
||||
|
||||
}); |
||||
}; |
||||
|
||||
$.fn.unmask = function() { |
||||
|
||||
$(this).each(function() { |
||||
|
||||
unMaskElement($(this)); |
||||
|
||||
}); |
||||
}; |
||||
|
||||
$.fn.isMasked = function() { |
||||
|
||||
return (this.data("masked") || 0) > 1; |
||||
}; |
||||
|
||||
return $; |
||||
|
||||
})); |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Reference in new issue