/** * 以树形方式生成并展示: * /api * /data * /getDateList * post * get * @author 暮光:城中城 * @since 2018年5月26日 */ /** * 把原始的json字符串转换成对象列表的方式,方便后续使用 * @param json swagger的原始对象 * @returns */ function createTreeViewByTree(json, keywords) { var pathIndex = {}; var paths = json.paths; var domain = json.domainUrl;// 服务器代理会返回此属性 var rewriteDomainUrl = json.rewriteDomainUrl;// 服务器代理会返回此属性 if(isEmpty(domain)) { domain = "http://" + json.host + json.basePath; } if(domain.endWith("/")) { domain = domain.substring(0, domain.length - 1); } if (isEmptyObject(paths)) { return; } //console.log(paths); Object.keys(paths).forEach(function(key){ //console.log(key, paths[key]); if(!findInPathsValue(key, paths[key], keywords)) { return; } var keyArr = key.split("/"); var nowPathObj = null; keyArr.forEach(function(val, index) { //console.log(val, index); if(isEmpty(val) && index == 0) { return; } var nowPath = "/" + val; if(nowPathObj == null) { nowPathObj = {}; nowPathObj[nowPath] = pathIndex[nowPath]; if(nowPathObj[nowPath] == null) { nowPathObj[nowPath] = {}; pathIndex[nowPath] = nowPathObj[nowPath]; } } var tempPathObj = nowPathObj[nowPath]; if(isEmpty(tempPathObj)) { tempPathObj = nowPathObj[nowPath] = {}; } nowPathObj = tempPathObj; if(index == keyArr.length - 1) { //get, head, post, put, patch, delete, options, trace setRequestMethodForTree(rewriteDomainUrl, domain, paths[key], tempPathObj, key, "get"); setRequestMethodForTree(rewriteDomainUrl, domain, paths[key], tempPathObj, key, "head"); setRequestMethodForTree(rewriteDomainUrl, domain, paths[key], tempPathObj, key, "post"); setRequestMethodForTree(rewriteDomainUrl, domain, paths[key], tempPathObj, key, "put"); setRequestMethodForTree(rewriteDomainUrl, domain, paths[key], tempPathObj, key, "patch"); setRequestMethodForTree(rewriteDomainUrl, domain, paths[key], tempPathObj, key, "delete"); setRequestMethodForTree(rewriteDomainUrl, domain, paths[key], tempPathObj, key, "options"); setRequestMethodForTree(rewriteDomainUrl, domain, paths[key], tempPathObj, key, "trace"); } }); }); var htmlStr = '