//入口js
'use strict';
//版本控制
var versions = 'v_1.0';
//不缓存
versions = 'v_' + new Date().getTime();
//加载完成全局数组
var LOAD = [];
//获取当前目录级别
var script = document.querySelector('script[door]');
var dire = ''; //目录
var _dire = ''; //相对目录

if (script) {
	var jHtml = script.outerHTML,
		srcS = 'src="',
		strE = '"';
	srcS = jHtml.indexOf(srcS) + srcS.length; //路径开始位置
	strE = jHtml.indexOf(strE, srcS); //路径结束位置
	jHtml = jHtml.substring(srcS, strE); //完整路径带文件名
	strE = jHtml.lastIndexOf('/'); //查找倒数第一斜杠位置
	dire = jHtml.substring(0, strE + 1); //完整相对路径
	/**
	 * (项目跟目录) 预留本地加载文件名，实现预先本地配置 貌似无法完成
	 * 通过配置项目名（项目目录）来获取项目路劲进行全项目页面相对路径配置
	 * 完成通过全域名引用admin框架
	 * 目前未实现
	 */
	if (dire.lastIndexOf("../") > -1) {
		_dire = dire.substr(0, dire.lastIndexOf("../") + 3);
	}
	//载入ajax拦截器,引入layui,载入配置文件
	require(['js/ajaxhook.min.js', "layui/layui.js", 'js/config.js']);
} else {
	console.error("入口js标签没有关键属性 door");
}

//动态加载js函数 连接，成功或失败回调
function require(url, type) {
	if (!Array.isArray(url)) {
		url = [url];
	}
	for (var i = 0; i < url.length; i++) {
		___load('script', url[i], type);
	}
}
//动态载入CSS
function link(url, type) {
	if (!Array.isArray(url)) {
		url = [url];
	}
	for (var i = 0; i < url.length; i++) {
		___load('link', url[i], type);
	}
}
//加载公共函数
function ___load(type, url, _type) {
	//拼接地址
	var href = dire + url;
	//_type为true 不进行url转换
	_type && (href = url);
	//全路劲直接访问
	(url.substr(0, 2) == '//' || /^http(s*):\/\//.test(url)) && (href = url);
	//添加版本号
	href = href + '?v=' + versions;
	//js类型
	if (type == 'script') {
		document.write("<script type='text/javascript' src='" + href + "'></script>");
	} else { //样式类型
		document.write("<link rel='stylesheet' type='text/css' media='all' href='" + href + "'>");
	}
}

//加载完毕执行
function ready(callback) {
	LOAD.push(callback);
	window.onload = function() {
		for (var i = 0; i < LOAD.length; i++) {
			LOAD[i] && (typeof LOAD[i] == 'function') && LOAD[i]();
		}
	}
}
