Authored by htoooth

add doc

... ... @@ -21,6 +21,11 @@ files.forEach((file) => {
}
});
/**
* 1. origin 可接受是 正则 和 函数
* 2. target 可接受是 匹配字符串 和 函数
* @returns {Function}
*/
module.exports = () => {
return (req, res, next) => {
let curDomainRules = domainRules[req.subdomains[0]];
... ... @@ -32,6 +37,7 @@ module.exports = () => {
for (let i = 0; i < curDomainRules.length; i++) {
let rule = curDomainRules[i];
// 匹配成功
if (
(_.isRegExp(rule.origin) && !_.isEmpty(rule.origin.exec(req.url))) ||
(_.isFunction(rule.origin) && rule.origin(req))
... ... @@ -39,15 +45,21 @@ module.exports = () => {
let newUrl = req.url;
if (_.isRegExp(rule.origin)) {
// 正则
if (_.isFunction(rule.target)) {
// 函数
newUrl = req.url.replace(rule.origin, _.partial(rule.target, req));
} else if (_.isString(rule.target)) {
// 字符串
newUrl = req.url.replace(rule.origin, req.target);
}
} else if (_.isFunction(rule.origin)) {
// 函数
if (_.isFunction(rule.target)) {
// 函数
newUrl = rule.target(req);
} else if (_.isString(rule.target)) {
// 字符串
newUrl = rule.target;
}
}
... ...