2020.02新版
This commit is contained in:
4
user/assets/js/app.min.js
vendored
Normal file
4
user/assets/js/app.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
227
user/assets/js/config.json
Normal file
227
user/assets/js/config.json
Normal file
@@ -0,0 +1,227 @@
|
||||
{
|
||||
"dongxue": {
|
||||
"qrWidth": "364",
|
||||
"qrHeight": "364",
|
||||
"foreground": "#E3D6C6",
|
||||
"background": "#FFFFFF",
|
||||
"imgWidth": 900,
|
||||
"imgHeight": 1200,
|
||||
"font": "70px '黑体'",
|
||||
"fontColor": "#FFFFFF",
|
||||
"recNameLeft": "",
|
||||
"recNameTop": 178,
|
||||
"qrLeft": 270,
|
||||
"qrTop": 340,
|
||||
"url": "https://img.alicdn.com/imgextra/i2/2027555802/O1CN0178X3hU1sjMWfmkoh5_!!2027555802.png"
|
||||
},
|
||||
"pikaqiu": {
|
||||
"qrWidth": "316",
|
||||
"qrHeight": "316",
|
||||
"foreground": "#FBCE29",
|
||||
"background": "#FFFFFF",
|
||||
"imgWidth": 900,
|
||||
"imgHeight": 1200,
|
||||
"font": "70px '黑体'",
|
||||
"fontColor": "#FFFFFF",
|
||||
"recNameLeft": "",
|
||||
"recNameTop": 178,
|
||||
"qrLeft": 290,
|
||||
"qrTop": 367,
|
||||
"url": "https://img.alicdn.com/imgextra/i3/2027555802/O1CN01ETL8eZ1sjMWf7GHlX_!!2027555802.png"
|
||||
},
|
||||
"kanuobudingmao": {
|
||||
"qrWidth": "316",
|
||||
"qrHeight": "316",
|
||||
"foreground": "#E1C6B1",
|
||||
"background": "#FFFFFF",
|
||||
"imgWidth": 900,
|
||||
"imgHeight": 1200,
|
||||
"font": "70px '黑体'",
|
||||
"fontColor": "#E1C6B1",
|
||||
"recNameLeft": "",
|
||||
"recNameTop": 178,
|
||||
"qrLeft": 290,
|
||||
"qrTop": 367,
|
||||
"url": "https://img.alicdn.com/imgextra/i4/2027555802/O1CN01bFGxSs1sjMWcWW1uR_!!2027555802.png"
|
||||
},
|
||||
"niannianyouyu": {
|
||||
"qrWidth": "370",
|
||||
"qrHeight": "370",
|
||||
"foreground": "#E62601",
|
||||
"background": "#FFFFFF",
|
||||
"imgWidth": 900,
|
||||
"imgHeight": 1200,
|
||||
"font": "60px '黑体'",
|
||||
"fontColor": "#FFFFFF",
|
||||
"recNameLeft": "",
|
||||
"recNameTop": 255,
|
||||
"qrLeft": 270,
|
||||
"qrTop": 320,
|
||||
"url": "https://img.alicdn.com/imgextra/i1/2027555802/O1CN01T0g4kQ1sjMWf7HUZP_!!2027555802.png"
|
||||
},
|
||||
"xiaohuangren": {
|
||||
"qrWidth": "520",
|
||||
"qrHeight": "520",
|
||||
"foreground": "#F7D25D",
|
||||
"background": "#FFFFFF",
|
||||
"imgWidth": 900,
|
||||
"imgHeight": 1200,
|
||||
"font": "70px '黑体'",
|
||||
"fontColor": "transparent",
|
||||
"recNameLeft": "",
|
||||
"recNameTop": 178,
|
||||
"qrLeft": 183,
|
||||
"qrTop": 98,
|
||||
"url": "https://img.alicdn.com/imgextra/i4/2027555802/O1CN019MNjbn1sjMWe1zPkK_!!2027555802.png"
|
||||
},
|
||||
"qitao": {
|
||||
"qrWidth": "520",
|
||||
"qrHeight": "520",
|
||||
"foreground": "#212121",
|
||||
"background": "transparent",
|
||||
"imgWidth": 900,
|
||||
"imgHeight": 1200,
|
||||
"font": "70px '黑体'",
|
||||
"fontColor": "transparent",
|
||||
"recNameLeft": "",
|
||||
"recNameTop": 178,
|
||||
"qrLeft": 93,
|
||||
"qrTop": 98,
|
||||
"url": "https://img.alicdn.com/imgextra/i4/2027555802/O1CN01vCBhEb1sjMWbLYdfv_!!2027555802.png"
|
||||
},
|
||||
"baobei": {
|
||||
"qrWidth": "500",
|
||||
"qrHeight": "500",
|
||||
"foreground": "#A95B5E",
|
||||
"background": "transparent",
|
||||
"imgWidth": 900,
|
||||
"imgHeight": 1200,
|
||||
"font": "70px '黑体'",
|
||||
"fontColor": "transparent",
|
||||
"recNameLeft": "",
|
||||
"recNameTop": 178,
|
||||
"qrLeft": 200,
|
||||
"qrTop": 370,
|
||||
"url": "https://img.alicdn.com/imgextra/i3/2027555802/O1CN01ABc7nR1sjMWbLWQRm_!!2027555802.png"
|
||||
},
|
||||
"toushi": {
|
||||
"qrWidth": "400",
|
||||
"qrHeight": "400",
|
||||
"foreground": "#FDA3B8",
|
||||
"background": "transparent",
|
||||
"imgWidth": 900,
|
||||
"imgHeight": 1200,
|
||||
"font": "70px '黑体'",
|
||||
"fontColor": "transparent",
|
||||
"recNameLeft": "",
|
||||
"recNameTop": 178,
|
||||
"qrLeft": 408,
|
||||
"qrTop": 605,
|
||||
"url": "https://img.alicdn.com/imgextra/i4/2027555802/O1CN01mO4EYP1sjMWeSZtzX_!!2027555802.png"
|
||||
},
|
||||
"gongzhu": {
|
||||
"qrWidth": "520",
|
||||
"qrHeight": "520",
|
||||
"foreground": "#F36C79",
|
||||
"background": "transparent",
|
||||
"imgWidth": 900,
|
||||
"imgHeight": 1200,
|
||||
"font": "70px '黑体'",
|
||||
"fontColor": "transparent",
|
||||
"recNameLeft": "",
|
||||
"recNameTop": 178,
|
||||
"qrLeft": 185,
|
||||
"qrTop": 370,
|
||||
"url": "https://img.alicdn.com/imgextra/i4/2027555802/O1CN01LDfMYs1sjMWhTHmPR_!!2027555802.png"
|
||||
},
|
||||
"qiuzanzhu": {
|
||||
"qrWidth": "460",
|
||||
"qrHeight": "460",
|
||||
"foreground": "#F36C79",
|
||||
"background": "transparent",
|
||||
"imgWidth": 900,
|
||||
"imgHeight": 1200,
|
||||
"font": "70px '黑体'",
|
||||
"fontColor": "transparent",
|
||||
"recNameLeft": "",
|
||||
"recNameTop": 178,
|
||||
"qrLeft": 220,
|
||||
"qrTop": 425,
|
||||
"url": "https://img.alicdn.com/imgextra/i2/2027555802/O1CN01EAhVdL1sjMWe1yXjJ_!!2027555802.png"
|
||||
},
|
||||
"huanyingdashang": {
|
||||
"qrWidth": "510",
|
||||
"qrHeight": "510",
|
||||
"foreground": "#F00",
|
||||
"background": "transparent",
|
||||
"imgWidth": 900,
|
||||
"imgHeight": 1200,
|
||||
"font": "70px '黑体'",
|
||||
"fontColor": "transparent",
|
||||
"recNameLeft": "",
|
||||
"recNameTop": 178,
|
||||
"qrLeft": 195,
|
||||
"qrTop": 625,
|
||||
"url": "https://img.alicdn.com/imgextra/i4/2027555802/O1CN01Yuipi71sjMWhTI32u_!!2027555802.png"
|
||||
},
|
||||
"yinlian": {
|
||||
"qrWidth": "330",
|
||||
"qrHeight": "330",
|
||||
"foreground": "#fff",
|
||||
"background": "transparent",
|
||||
"imgWidth": 900,
|
||||
"imgHeight": 1200,
|
||||
"font": "70px '黑体'",
|
||||
"fontColor": "transparent",
|
||||
"recNameLeft": "",
|
||||
"recNameTop": 178,
|
||||
"qrLeft": 190,
|
||||
"qrTop": 180,
|
||||
"url": "https://img.alicdn.com/imgextra/i4/2027555802/O1CN01DU5ECy1sjMWe205L5_!!2027555802.png"
|
||||
},
|
||||
"yitiji": {
|
||||
"qrWidth": "380",
|
||||
"qrHeight": "380",
|
||||
"foreground": "#FB7C2F",
|
||||
"background": "transparent",
|
||||
"imgWidth": 900,
|
||||
"imgHeight": 1200,
|
||||
"font": "70px '黑体'",
|
||||
"fontColor": "transparent",
|
||||
"recNameLeft": "",
|
||||
"recNameTop": 178,
|
||||
"qrLeft": 260,
|
||||
"qrTop": 190,
|
||||
"url": "https://img.alicdn.com/imgextra/i4/2027555802/O1CN01B4y11v1sjMWeSGuWy_!!2027555802.png"
|
||||
},
|
||||
"maomi": {
|
||||
"qrWidth": "480",
|
||||
"qrHeight": "480",
|
||||
"foreground": "#FDD699",
|
||||
"background": "transparent",
|
||||
"imgWidth": 900,
|
||||
"imgHeight": 1200,
|
||||
"font": "70px '黑体'",
|
||||
"fontColor": "transparent",
|
||||
"recNameLeft": "",
|
||||
"recNameTop": 178,
|
||||
"qrLeft": 210,
|
||||
"qrTop": 150,
|
||||
"url": "https://img.alicdn.com/imgextra/i4/2027555802/O1CN017OCNEy1sjMWfe9Z3U_!!2027555802.png"
|
||||
},
|
||||
"longmao": {
|
||||
"qrWidth": "464",
|
||||
"qrHeight": "464",
|
||||
"foreground": "#7394B6",
|
||||
"background": "transparent",
|
||||
"imgWidth": 900,
|
||||
"imgHeight": 1200,
|
||||
"font": "70px '黑体'",
|
||||
"fontColor": "transparent",
|
||||
"recNameLeft": "",
|
||||
"recNameTop": 178,
|
||||
"qrLeft": 218,
|
||||
"qrTop": 214,
|
||||
"url": "https://img.alicdn.com/imgextra/i4/2027555802/O1CN01Jb4sxE1sjMWWkB2GX_!!2027555802.png"
|
||||
}
|
||||
}
|
||||
120
user/assets/js/onecode.js
Normal file
120
user/assets/js/onecode.js
Normal file
@@ -0,0 +1,120 @@
|
||||
var config;
|
||||
// 生成收款码
|
||||
function makeDiyBg(element, qrWidth, qrHeight, url, foreground, background, imgUrl, imgWidth, imgHeight, font, fontColor, recName, recNameLeft, recNameTop, qrLeft, qrTop) {
|
||||
$(element).qrcode({
|
||||
render: "canvas",
|
||||
width: qrWidth,
|
||||
height: qrHeight,
|
||||
text: url,
|
||||
foreground: foreground,
|
||||
background: background
|
||||
});
|
||||
var canvas = document.getElementById('canvas');
|
||||
canvas.width = imgWidth;
|
||||
canvas.height = imgHeight;
|
||||
var ctx = canvas.getContext("2d");
|
||||
var img = new Image();
|
||||
img.crossOrigin = "Anonymous"
|
||||
img.src = imgUrl;
|
||||
img.onload = function () {
|
||||
// 生成背景图
|
||||
var bg = ctx.createPattern(img, "no-repeat");
|
||||
ctx.fillStyle = bg;
|
||||
ctx.fillRect(0, 0, imgWidth, imgHeight);
|
||||
// 生成收款名
|
||||
ctx.textAlign = "center";
|
||||
ctx.font = font;
|
||||
ctx.fillStyle = fontColor;
|
||||
if (recName) {
|
||||
if (!recNameLeft) {
|
||||
recNameLeft = imgWidth / 2;
|
||||
}
|
||||
ctx.fillText("扫码向 " + recName + " 付款", recNameLeft, recNameTop);
|
||||
}
|
||||
// 在canvas上生成二维码
|
||||
var canvasOld = document.getElementsByTagName('canvas')[0];
|
||||
ctx.drawImage(canvasOld, qrLeft, qrTop);
|
||||
|
||||
|
||||
var image = new Image();
|
||||
image.crossOrigin = "Anonymous"
|
||||
image.src = canvas.toDataURL("image/png");
|
||||
$("#endImg").attr("src", image.src);
|
||||
$("#load").hide();
|
||||
$("#qrcode").show();
|
||||
}
|
||||
}
|
||||
function showQrCode(styleName){
|
||||
$("#load").show();
|
||||
$("#qrcode").hide();
|
||||
$("#code").empty();
|
||||
styleName = styleName || 'dongxue';
|
||||
var qrWidth = config[styleName].qrWidth;
|
||||
var qrHeight = config[styleName].qrHeight;
|
||||
var foreground = config[styleName].foreground;
|
||||
var background = config[styleName].background;
|
||||
var imgWidth = config[styleName].imgWidth;
|
||||
var imgHeight = config[styleName].imgHeight;
|
||||
var font = config[styleName].font;
|
||||
var fontColor = config[styleName].fontColor;
|
||||
var recNameLeft = config[styleName].recNameLeft;
|
||||
var recNameTop = config[styleName].recNameTop;
|
||||
var qrLeft = config[styleName].qrLeft;
|
||||
var qrTop = config[styleName].qrTop;
|
||||
var nowUrl = config[styleName].url;
|
||||
makeDiyBg("#code", qrWidth, qrHeight, $("#code_url").val(), foreground, background, nowUrl, imgWidth, imgHeight, font, fontColor, $("#recName").val(), recNameLeft, recNameTop, qrLeft, qrTop);
|
||||
}
|
||||
$(document).ready(function(){
|
||||
var clipboard = new Clipboard('.copy-btn');
|
||||
clipboard.on('success', function (e) {
|
||||
layer.msg('复制成功!', {icon: 1});
|
||||
});
|
||||
clipboard.on('error', function (e) {
|
||||
layer.msg('复制失败,请长按链接后手动复制', {icon: 2});
|
||||
});
|
||||
$("#editName").click(function(){
|
||||
var codename=$("input[name='codename']").val();
|
||||
var ii = layer.load(2, {shade:[0.1,'#fff']});
|
||||
$.ajax({
|
||||
type : "POST",
|
||||
url : "ajax2.php?act=edit_codename",
|
||||
data : {codename:codename},
|
||||
dataType : 'json',
|
||||
success : function(data) {
|
||||
layer.close(ii);
|
||||
if(data.code == 1){
|
||||
layer.alert(data.msg, {icon: 1}, function(){window.location.reload()});
|
||||
}else{
|
||||
layer.alert(data.msg);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
//点击按钮保存图片
|
||||
$("#downImg").click(function () {
|
||||
var img = document.getElementById('endImg');
|
||||
var url = img.src;
|
||||
var a = document.createElement('a');
|
||||
var event = new MouseEvent('click');
|
||||
a.download = '一码支付-' + document.getElementById("recName").value;
|
||||
a.href = url;
|
||||
a.dispatchEvent(event);
|
||||
});
|
||||
$("#styleName").change(function(){
|
||||
$.cookie('styleName',$(this).val());
|
||||
showQrCode($(this).val());
|
||||
});
|
||||
if($.cookie('styleName')){
|
||||
$("#styleName").val($.cookie('styleName'));
|
||||
}
|
||||
$.ajax({
|
||||
type: 'get',
|
||||
url: "./assets/js/config.json",
|
||||
dataType: "json",
|
||||
async: true,
|
||||
success: function (data) {
|
||||
config = data;
|
||||
$("#styleName").change();
|
||||
}
|
||||
})
|
||||
})
|
||||
115
user/assets/js/qrlogin.js
Normal file
115
user/assets/js/qrlogin.js
Normal file
@@ -0,0 +1,115 @@
|
||||
var interval1,interval2;
|
||||
function setCookie(name,value)
|
||||
{
|
||||
var exp = new Date();
|
||||
exp.setTime(exp.getTime() + 30*1000);
|
||||
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
|
||||
}
|
||||
function getCookie(name)
|
||||
{
|
||||
var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
|
||||
if(arr=document.cookie.match(reg))
|
||||
return unescape(arr[2]);
|
||||
else
|
||||
return null;
|
||||
}
|
||||
function getqrpic(force){
|
||||
force = force || false;
|
||||
cleartime();
|
||||
var qrsig = getCookie('qrsig');
|
||||
var qrimg = getCookie('qrimg');
|
||||
if(qrsig!=null && qrimg!=null && force==false){
|
||||
$('#qrimg').attr('qrsig',qrsig);
|
||||
$('#qrimg').html('<img id="qrcodeimg" onclick="getqrpic(true)" src="data:image/png;base64,'+qrimg+'" title="点击刷新">');
|
||||
if( /Android|SymbianOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini|Windows Phone|Midp/i.test(navigator.userAgent) && navigator.userAgent.indexOf("QQ/") == -1) {
|
||||
$('#mobile').show();
|
||||
}
|
||||
interval1=setInterval(loginload,1000);
|
||||
interval2=setInterval(qrlogin,3000);
|
||||
}else{
|
||||
var getvcurl='qrlogin.php?do=getqrpic&r='+Math.random(1);
|
||||
$.get(getvcurl, function(d) {
|
||||
if(d.saveOK ==0){
|
||||
setCookie('qrsig',d.qrsig);
|
||||
setCookie('qrimg',d.data);
|
||||
$('#qrimg').attr('qrsig',d.qrsig);
|
||||
$('#qrimg').html('<img id="qrcodeimg" onclick="getqrpic(true)" src="data:image/png;base64,'+d.data+'" title="点击刷新">');
|
||||
if( /Android|SymbianOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini|Windows Phone|Midp/i.test(navigator.userAgent) && navigator.userAgent.indexOf("QQ/") == -1) {
|
||||
$('#mobile').show();
|
||||
}
|
||||
interval1=setInterval(loginload,1000);
|
||||
interval2=setInterval(qrlogin,3000);
|
||||
}else{
|
||||
alert(d.msg);
|
||||
}
|
||||
}, 'json');
|
||||
}
|
||||
}
|
||||
function qrlogin(){
|
||||
if ($('#login').attr("data-lock") === "true") return;
|
||||
var qrsig=$('#qrimg').attr('qrsig');
|
||||
var url = 'qrlogin.php?do=qrlogin&qrsig='+decodeURIComponent(qrsig)+'&r='+Math.random(1);
|
||||
$.get(url, function(d) {
|
||||
if(d.saveOK ==0){
|
||||
$('#loginmsg').html('QQ已成功登录!');
|
||||
$('#login').hide();
|
||||
$('#qrimg').hide();
|
||||
$('#submit').hide();
|
||||
$('#login').attr("data-lock", "true");
|
||||
$.get("connect.php?act=qrlogin&r="+Math.random(1), function(arr) {
|
||||
if(arr.code==0) {
|
||||
layer.msg(arr.msg, {icon: 16,time: 10000,shade:[0.3, "#000"]});
|
||||
setTimeout(function(){ window.location.href=arr.url }, 1000);
|
||||
}else{
|
||||
layer.alert(arr.msg);
|
||||
}
|
||||
}, 'json');
|
||||
cleartime();
|
||||
}else if(d.saveOK ==1){
|
||||
getqrpic(true);
|
||||
$('#loginmsg').html('请重新扫描二维码');
|
||||
}else if(d.saveOK ==2){
|
||||
$('#loginmsg').html('使用QQ手机版扫描二维码');
|
||||
}else if(d.saveOK ==3){
|
||||
$('#loginmsg').html('扫描成功,请在手机上确认授权登录');
|
||||
}else if(d.saveOK ==4){
|
||||
cleartime();
|
||||
$('#loginmsg').html('QQ验证失败,请解除登录异常后重试!');
|
||||
}else{
|
||||
cleartime();
|
||||
$('#loginmsg').html(d.msg);
|
||||
}
|
||||
}, 'json');
|
||||
}
|
||||
function loginload(){
|
||||
if ($('#login').attr("data-lock") === "true") return;
|
||||
var load=document.getElementById('loginload').innerHTML;
|
||||
var len=load.length;
|
||||
if(len>2){
|
||||
load='.';
|
||||
}else{
|
||||
load+='.';
|
||||
}
|
||||
document.getElementById('loginload').innerHTML=load;
|
||||
}
|
||||
function cleartime(){
|
||||
clearInterval(interval1);
|
||||
clearInterval(interval2);
|
||||
}
|
||||
function mloginurl(){
|
||||
var imagew = $('#qrcodeimg').attr('src');
|
||||
imagew = imagew.replace(/data:image\/png;base64,/, "");
|
||||
$('#mlogin').html("正在跳转...");
|
||||
$.post("connect.php?act=qrcode&r="+Math.random(1),"image="+encodeURIComponent(imagew), function(arr) {
|
||||
if(arr.code==0) {
|
||||
$('#loginmsg').html('跳转到QQ登录后请返回此页面');
|
||||
window.location.href='mqqapi://forward/url?version=1&src_type=web&url_prefix='+window.btoa(arr.url);
|
||||
}else{
|
||||
alert(arr.msg);
|
||||
}
|
||||
$('#mlogin').html("跳转QQ快捷登录");
|
||||
}, 'json');
|
||||
}
|
||||
$(document).ready(function(){
|
||||
getqrpic();
|
||||
});
|
||||
46
user/assets/js/ui-jp.config.js
Normal file
46
user/assets/js/ui-jp.config.js
Normal file
@@ -0,0 +1,46 @@
|
||||
// lazyload config
|
||||
|
||||
var jp_config = {
|
||||
easyPieChart: [ './assets/vendor/jquery.easy-pie-chart/dist/jquery.easypiechart.fill.js'],
|
||||
sparkline: [ './assets/vendor/jquery.sparkline/dist/jquery.sparkline.retina.js'],
|
||||
plot: [ './assets/vendor/flot/jquery.flot.js',
|
||||
'./assets/vendor/flot/jquery.flot.pie.js',
|
||||
'./assets/vendor/flot/jquery.flot.resize.js',
|
||||
'./assets/vendor/flot.tooltip/js/jquery.flot.tooltip.min.js',
|
||||
'./assets/vendor/flot.orderbars/js/jquery.flot.orderBars.js',
|
||||
'./assets/vendor/flot-spline/js/jquery.flot.spline.min.js'],
|
||||
moment: [ './assets/vendor/moment/moment.js'],
|
||||
screenfull: [ './assets/vendor/screenfull/dist/screenfull.min.js'],
|
||||
slimScroll: [ './assets/vendor/slimscroll/jquery.slimscroll.min.js'],
|
||||
sortable: [ './assets/vendor/html5sortable/jquery.sortable.js'],
|
||||
nestable: [ './assets/vendor/nestable/jquery.nestable.js',
|
||||
'./assets/vendor/nestable/jquery.nestable.css'],
|
||||
filestyle: [ './assets/vendor/bootstrap-filestyle/src/bootstrap-filestyle.js'],
|
||||
slider: [ './assets/vendor/bootstrap-slider/bootstrap-slider.js',
|
||||
'./assets/vendor/bootstrap-slider/bootstrap-slider.css'],
|
||||
chosen: [ './assets/vendor/chosen/chosen.jquery.min.js',
|
||||
'./assets/vendor/bootstrap-chosen/bootstrap-chosen.css'],
|
||||
TouchSpin: [ './assets/vendor/bootstrap-touchspin/dist/jquery.bootstrap-touchspin.min.js',
|
||||
'./assets/vendor/bootstrap-touchspin/dist/jquery.bootstrap-touchspin.min.css'],
|
||||
wysiwyg: [ './assets/vendor/bootstrap-wysiwyg/bootstrap-wysiwyg.js',
|
||||
'./assets/vendor/bootstrap-wysiwyg/external/jquery.hotkeys.js'],
|
||||
dataTable: [ './assets/vendor/datatables/media/js/jquery.dataTables.min.js',
|
||||
'./assets/vendor/plugins/integration/bootstrap/3/dataTables.bootstrap.js',
|
||||
'./assets/vendor/plugins/integration/bootstrap/3/dataTables.bootstrap.css'],
|
||||
vectorMap: [ './assets/vendor/bower-jvectormap/jquery-jvectormap-1.2.2.min.js',
|
||||
'./assets/vendor/bower-jvectormap/jquery-jvectormap-world-mill-en.js',
|
||||
'./assets/vendor/bower-jvectormap/jquery-jvectormap-us-aea-en.js',
|
||||
'./assets/vendor/bower-jvectormap/jquery-jvectormap-1.2.2.css'],
|
||||
footable: [ './assets/vendor/footable/dist/footable.all.min.js',
|
||||
'./assets/vendor/footable/css/footable.core.css'],
|
||||
fullcalendar: [ './assets/vendor/moment/moment.js',
|
||||
'./assets/vendor/fullcalendar/dist/fullcalendar.min.js',
|
||||
'./assets/vendor/fullcalendar/dist/fullcalendar.css',
|
||||
'./assets/vendor/fullcalendar/dist/fullcalendar.theme.css'],
|
||||
daterangepicker:[ './assets/vendor/moment/moment.js',
|
||||
'./assets/vendor/bootstrap-daterangepicker/daterangepicker.js',
|
||||
'./assets/vendor/bootstrap-daterangepicker/daterangepicker-bs3.css'],
|
||||
tagsinput: [ './assets/vendor/bootstrap-tagsinput/dist/bootstrap-tagsinput.js',
|
||||
'./assets/vendor/bootstrap-tagsinput/dist/bootstrap-tagsinput.css']
|
||||
|
||||
};
|
||||
19
user/assets/js/ui-jp.js
Normal file
19
user/assets/js/ui-jp.js
Normal file
@@ -0,0 +1,19 @@
|
||||
+function ($) {
|
||||
|
||||
$(function(){
|
||||
|
||||
$("[ui-jq]").each(function(){
|
||||
var self = $(this);
|
||||
var options = eval('[' + self.attr('ui-options') + ']');
|
||||
|
||||
if ($.isPlainObject(options[0])) {
|
||||
options[0] = $.extend({}, options[0]);
|
||||
}
|
||||
|
||||
uiLoad.load(jp_config[self.attr('ui-jq')]).then( function(){
|
||||
self[self.attr('ui-jq')].apply(self, options);
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
}(jQuery);
|
||||
86
user/assets/js/ui-load.js
Normal file
86
user/assets/js/ui-load.js
Normal file
@@ -0,0 +1,86 @@
|
||||
|
||||
/**
|
||||
* 0.1.0
|
||||
* Deferred load js/css file, used for ui-jq.js and Lazy Loading.
|
||||
*
|
||||
* @ flatfull.com All Rights Reserved.
|
||||
* Author url: http://themeforest.net/user/flatfull
|
||||
*/
|
||||
var uiLoad = uiLoad || {};
|
||||
|
||||
(function($, $document, uiLoad) {
|
||||
"use strict";
|
||||
|
||||
var loaded = [],
|
||||
promise = false,
|
||||
deferred = $.Deferred();
|
||||
|
||||
/**
|
||||
* Chain loads the given sources
|
||||
* @param srcs array, script or css
|
||||
* @returns {*} Promise that will be resolved once the sources has been loaded.
|
||||
*/
|
||||
uiLoad.load = function (srcs) {
|
||||
srcs = $.isArray(srcs) ? srcs : srcs.split(/\s+/);
|
||||
if(!promise){
|
||||
promise = deferred.promise();
|
||||
}
|
||||
|
||||
$.each(srcs, function(index, src) {
|
||||
promise = promise.then( function(){
|
||||
return src.indexOf('.css') >=0 ? loadCSS(src) : loadScript(src);
|
||||
} );
|
||||
});
|
||||
deferred.resolve();
|
||||
return promise;
|
||||
};
|
||||
|
||||
/**
|
||||
* Dynamically loads the given script
|
||||
* @param src The url of the script to load dynamically
|
||||
* @returns {*} Promise that will be resolved once the script has been loaded.
|
||||
*/
|
||||
var loadScript = function (src) {
|
||||
if(loaded[src]) return loaded[src].promise();
|
||||
|
||||
var deferred = $.Deferred();
|
||||
var script = $document.createElement('script');
|
||||
script.src = src;
|
||||
script.onload = function (e) {
|
||||
deferred.resolve(e);
|
||||
};
|
||||
script.onerror = function (e) {
|
||||
deferred.reject(e);
|
||||
};
|
||||
$document.body.appendChild(script);
|
||||
loaded[src] = deferred;
|
||||
|
||||
return deferred.promise();
|
||||
};
|
||||
|
||||
/**
|
||||
* Dynamically loads the given CSS file
|
||||
* @param href The url of the CSS to load dynamically
|
||||
* @returns {*} Promise that will be resolved once the CSS file has been loaded.
|
||||
*/
|
||||
var loadCSS = function (href) {
|
||||
if(loaded[href]) return loaded[href].promise();
|
||||
|
||||
var deferred = $.Deferred();
|
||||
var style = $document.createElement('link');
|
||||
style.rel = 'stylesheet';
|
||||
style.type = 'text/css';
|
||||
style.href = href;
|
||||
style.onload = function (e) {
|
||||
deferred.resolve(e);
|
||||
};
|
||||
style.onerror = function (e) {
|
||||
deferred.reject(e);
|
||||
};
|
||||
$document.head.appendChild(style);
|
||||
loaded[href] = deferred;
|
||||
|
||||
return deferred.promise();
|
||||
}
|
||||
|
||||
})(jQuery, document, uiLoad);
|
||||
20
user/assets/js/ui-nav.js
Normal file
20
user/assets/js/ui-nav.js
Normal file
@@ -0,0 +1,20 @@
|
||||
+function ($) {
|
||||
|
||||
$(function(){
|
||||
|
||||
// nav
|
||||
$(document).on('click', '[ui-nav] a', function (e) {
|
||||
var $this = $(e.target), $active;
|
||||
$this.is('a') || ($this = $this.closest('a'));
|
||||
|
||||
$active = $this.parent().siblings( ".active" );
|
||||
$active && $active.toggleClass('active').find('> ul:visible').slideUp(200);
|
||||
|
||||
($this.parent().hasClass('active') && $this.next().slideUp(200)) || $this.next().slideDown(200);
|
||||
$this.parent().toggleClass('active');
|
||||
|
||||
$this.next().is('ul') && e.preventDefault();
|
||||
});
|
||||
|
||||
});
|
||||
}(jQuery);
|
||||
14
user/assets/js/ui-toggle.js
Normal file
14
user/assets/js/ui-toggle.js
Normal file
@@ -0,0 +1,14 @@
|
||||
+function ($) {
|
||||
|
||||
$(function(){
|
||||
|
||||
$(document).on('click', '[ui-toggle]', function (e) {
|
||||
e.preventDefault();
|
||||
var $this = $(e.target);
|
||||
$this.attr('ui-toggle') || ($this = $this.closest('[ui-toggle]'));
|
||||
var $target = $($this.attr('target')) || $this;
|
||||
$target.toggleClass($this.attr('ui-toggle'));
|
||||
});
|
||||
|
||||
});
|
||||
}(jQuery);
|
||||
Reference in New Issue
Block a user