{{ domain }}
@@ -432,23 +432,25 @@ export default {
// 初始化 domainMappings 字段
item.domainMappings = [];
// 检查是否存在 subdomain 和 domain 字段
- if (item.subdomains && item.domainIds && item.domains) {
- // 如果是数组,则按索引组合 subdomain 和 domain 成对象
- if (Array.isArray(item.subdomains) && Array.isArray(item.domainIds) && Array.isArray(item.domains)) {
- let allFullDomainList = []
- for (let i = 0; i < item.subdomains.length; i++) {
- item.domainMappings.push({
- subdomain: item.subdomains[i] || '', // 使用 || '' 保证字段非空
- domainId: item.domainIds[i] || '',
- domain: item.domains[i] || ''
- });
- // 拼接完整的域名
- const fullDomain = `${item.subdomains[i]}.${item.domains[i]}`;
- // 将拼接后的域名添加到 allFullDomains 中,以逗号分隔
- allFullDomainList.push(fullDomain);
+ if (item.fullDomainMappings && Array.isArray(item.fullDomainMappings)) {
+ let allFullDomainList = []
+ for (const fullDomainMapping of item.fullDomainMappings) {
+ item.domainMappings.push({
+ subdomain: fullDomainMapping.subdomain || '', // 使用 || '' 保证字段非空
+ domainId: fullDomainMapping.domainNameId || '',
+ domain: fullDomainMapping.domain || ''
+ });
+ // 拼接完整的域名
+ let fullDomain = null;
+ if (fullDomainMapping.forceHttps == 1) {
+ fullDomain = `https://` + `${fullDomainMapping.subdomain}.${fullDomainMapping.domain}`;
+ } else {
+ fullDomain = `http://` + `${fullDomainMapping.subdomain}.${fullDomainMapping.domain}`;
}
- item.allFullDomainList = allFullDomainList
+ // 将拼接后的域名添加到
+ allFullDomainList.push(fullDomain);
}
+ item.allFullDomainList = allFullDomainList
}
return item;
});
@@ -575,7 +577,7 @@ export default {
handleOpenWebPage(row) {
let url = location.protocol + '//' + location.hostname + ':' + row.serverPort
if (row.allFullDomainList && row.allFullDomainList.length > 0) {
- url = location.protocol + '//' + row.allFullDomainList[0]
+ url = row.allFullDomainList[0]
}
open(url)
},
diff --git a/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/controller/res/proxy/PortMappingListRes.java b/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/controller/res/proxy/PortMappingListRes.java
index d0b14da0..e9d4a10c 100644
--- a/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/controller/res/proxy/PortMappingListRes.java
+++ b/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/controller/res/proxy/PortMappingListRes.java
@@ -21,10 +21,10 @@
*/
package org.dromara.neutrinoproxy.server.controller.res.proxy;
-import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
import org.dromara.neutrinoproxy.server.constant.EnableStatusEnum;
import org.dromara.neutrinoproxy.server.constant.OnlineStatusEnum;
-import lombok.Data;
+import org.dromara.neutrinoproxy.server.service.bo.FullDomainNameBO;
import java.util.Date;
import java.util.List;
@@ -45,18 +45,10 @@ public class PortMappingListRes {
* 协议
*/
private String protocal;
- /**
- * 子域名集合
- */
- private List subdomains;
/**
- * 域名集合
+ * 完整域名映射
*/
- private List domains;
- /**
- * 域名id集合
- */
- private List domainIds;
+ private List fullDomainMappings;
/**
* license名称
*/
diff --git a/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/service/DomainService.java b/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/service/DomainService.java
index 0ed243b7..be67df0d 100644
--- a/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/service/DomainService.java
+++ b/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/service/DomainService.java
@@ -1,7 +1,5 @@
package org.dromara.neutrinoproxy.server.service;
-import cn.hutool.cache.Cache;
-import cn.hutool.cache.CacheUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.text.StrPool;
import cn.hutool.core.util.StrUtil;
@@ -26,7 +24,6 @@ import org.dromara.neutrinoproxy.server.dal.DomainPortMappingMapper;
import org.dromara.neutrinoproxy.server.dal.PortMappingMapper;
import org.dromara.neutrinoproxy.server.dal.UserMapper;
import org.dromara.neutrinoproxy.server.dal.entity.DomainNameDO;
-import org.dromara.neutrinoproxy.server.dal.entity.DomainPortMappingDO;
import org.dromara.neutrinoproxy.server.dal.entity.PortMappingDO;
import org.dromara.neutrinoproxy.server.dal.entity.UserDO;
import org.dromara.neutrinoproxy.server.proxy.enhance.SslContextManager;
diff --git a/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/service/PortMappingService.java b/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/service/PortMappingService.java
index 9a6314bf..28d48d29 100644
--- a/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/service/PortMappingService.java
+++ b/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/service/PortMappingService.java
@@ -132,16 +132,8 @@ public class PortMappingService implements LifecycleBean {
return;
}
item.setUserName(user.getName());
- List bos = fullDomainNameBOMap.get(item.getId());
- // TODO 后续重构域名映射返回值结构
- if (CollectionUtil.isNotEmpty(bos)) {
- List subdomains = bos.stream().map(FullDomainNameBO::getSubdomain).collect(Collectors.toList());
- List domains = bos.stream().map(FullDomainNameBO::getDomain).collect(Collectors.toList());
- List domainIds = bos.stream().map(FullDomainNameBO::getDomainNameId).collect(Collectors.toList());
- item.setSubdomains(subdomains);
- item.setDomains(domains);
- item.setDomainIds(domainIds);
- }
+ //域名映射
+ item.setFullDomainMappings(fullDomainNameBOMap.get(item.getId()));
if (NetworkProtocolEnum.HTTP.getDesc().equals(item.getProtocal())) {
item.setProtocal("HTTP(S)");
}
diff --git a/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/service/bo/FullDomainNameBO.java b/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/service/bo/FullDomainNameBO.java
index dbe597ed..cd21c977 100644
--- a/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/service/bo/FullDomainNameBO.java
+++ b/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/service/bo/FullDomainNameBO.java
@@ -20,16 +20,14 @@ public class FullDomainNameBO {
* 子域名
*/
private String subdomain;
- /**
- * 域名
- */
- private String domain;
-
/**
* 域名id
*/
private Integer domainNameId;
-
+ /**
+ * 域名
+ */
+ private String domain;
/**
* 强制使用HTTPS(1、是 2、否)
* {@link HttpsStatusEnum}