mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-22 03:55:17 +08:00
# Conflicts: # jsowell-ui/.env.development # jsowell-ui/.env.staging # jsowell-ui/bin/build-sit.bat # jsowell-ui/bin/build.bat # jsowell-ui/src/api/adapayMember/adapayMember.js # jsowell-ui/src/api/pile/merchant.js # jsowell-ui/src/router/index.js # jsowell-ui/src/views/financial/financeDetail.vue # jsowell-ui/src/views/financial/merchant.vue # jsowell-ui/src/views/homeIndex/homeIndex.vue # jsowell-ui/src/views/login.vue # jsowell-ui/src/views/pile/basic/detail.vue # jsowell-ui/src/views/pile/station/components/SiteInfo.vue # jsowell-ui/src/views/pile/station/detail.vue # jsowell-ui/src/views/pile/station/orderReport.vue
101 lines
1.6 KiB
JavaScript
101 lines
1.6 KiB
JavaScript
"use strict";
|
|
|
|
function isDirectoryIndex(resource, options)
|
|
{
|
|
var verdict = false;
|
|
|
|
options.directoryIndexes.every( function(index)
|
|
{
|
|
if (index === resource)
|
|
{
|
|
verdict = true;
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
});
|
|
|
|
return verdict;
|
|
}
|
|
|
|
|
|
|
|
function parsePath(urlObj, options)
|
|
{
|
|
var path = urlObj.path.absolute.string;
|
|
|
|
if (path)
|
|
{
|
|
var lastSlash = path.lastIndexOf("/");
|
|
|
|
if (lastSlash > -1)
|
|
{
|
|
if (++lastSlash < path.length)
|
|
{
|
|
var resource = path.substr(lastSlash);
|
|
|
|
if (resource!=="." && resource!=="..")
|
|
{
|
|
urlObj.resource = resource;
|
|
path = path.substr(0, lastSlash);
|
|
}
|
|
else
|
|
{
|
|
path += "/";
|
|
}
|
|
}
|
|
|
|
urlObj.path.absolute.string = path;
|
|
urlObj.path.absolute.array = splitPath(path);
|
|
}
|
|
else if (path==="." || path==="..")
|
|
{
|
|
// "..?var", "..#anchor", etc ... not "..index.html"
|
|
path += "/";
|
|
|
|
urlObj.path.absolute.string = path;
|
|
urlObj.path.absolute.array = splitPath(path);
|
|
}
|
|
else
|
|
{
|
|
// Resource-only
|
|
urlObj.resource = path;
|
|
urlObj.path.absolute.string = null;
|
|
}
|
|
|
|
urlObj.extra.resourceIsIndex = isDirectoryIndex(urlObj.resource, options);
|
|
}
|
|
// Else: query/hash-only or empty
|
|
}
|
|
|
|
|
|
|
|
function splitPath(path)
|
|
{
|
|
// TWEAK :: condition only for speed optimization
|
|
if (path !== "/")
|
|
{
|
|
var cleaned = [];
|
|
|
|
path.split("/").forEach( function(dir)
|
|
{
|
|
// Cleanup -- splitting "/dir/" becomes ["","dir",""]
|
|
if (dir !== "")
|
|
{
|
|
cleaned.push(dir);
|
|
}
|
|
});
|
|
|
|
return cleaned;
|
|
}
|
|
else
|
|
{
|
|
// Faster to skip the above block and just create an array
|
|
return [];
|
|
}
|
|
}
|
|
|
|
|
|
|
|
module.exports = parsePath;
|