feat: 3.1.0

1. 解决IPV6请求失败问题
This commit is contained in:
byteblogs168 2024-03-06 23:12:54 +08:00
parent b7d50f2945
commit 3619ac8c73
82 changed files with 152 additions and 140 deletions

View File

@ -8,7 +8,7 @@ import com.aizuda.easy.retry.common.core.constant.SystemConstants;
import com.aizuda.easy.retry.common.core.context.SpringContext;
import com.aizuda.easy.retry.common.core.enums.HeadersEnum;
import com.aizuda.easy.retry.common.log.EasyRetryLog;
import com.aizuda.easy.retry.common.core.util.HostUtils;
import com.aizuda.easy.retry.common.core.util.NetUtil;
import io.netty.buffer.Unpooled;
import io.netty.channel.Channel;
import io.netty.handler.codec.http.DefaultFullHttpRequest;
@ -41,7 +41,7 @@ public class NettyChannel {
static {
PORT = Integer.parseInt(System.getProperty("easy-retry.port", String.valueOf(8080)));
HOST = System.getProperty("easy-retry.host", HostUtils.getIp());
HOST = System.getProperty("easy-retry.host", NetUtil.getLocalIpStr());
}
private static Channel CHANNEL;

View File

@ -20,7 +20,7 @@ import com.aizuda.easy.retry.common.core.enums.RetryResultStatusEnum;
import com.aizuda.easy.retry.common.log.EasyRetryLog;
import com.aizuda.easy.retry.common.core.model.EasyRetryHeaders;
import com.aizuda.easy.retry.common.core.util.EnvironmentUtils;
import com.aizuda.easy.retry.common.core.util.HostUtils;
import com.aizuda.easy.retry.common.core.util.NetUtil;
import com.aizuda.easy.retry.server.model.dto.ConfigDTO;
import com.google.common.base.Defaults;
import lombok.extern.slf4j.Slf4j;
@ -218,7 +218,7 @@ public class EasyRetryInterceptor implements MethodInterceptor, AfterAdvice, Ser
AlarmContext context = AlarmContext.build()
.text(retryErrorMoreThresholdTextMessageFormatter,
EnvironmentUtils.getActiveProfile(),
HostUtils.getIp(),
NetUtil.getLocalIpStr(),
standardEnvironment.getProperty("easy-retry.namespace", StrUtil.EMPTY),
EasyRetryProperties.getGroup(),
LocalDateTime.now().format(formatter),

View File

@ -15,7 +15,7 @@ import com.aizuda.easy.retry.common.core.enums.NotifySceneEnum;
import com.aizuda.easy.retry.common.log.EasyRetryLog;
import com.aizuda.easy.retry.common.core.model.NettyResult;
import com.aizuda.easy.retry.common.core.util.EnvironmentUtils;
import com.aizuda.easy.retry.common.core.util.HostUtils;
import com.aizuda.easy.retry.common.core.util.NetUtil;
import com.aizuda.easy.retry.common.core.util.JsonUtil;
import com.aizuda.easy.retry.common.core.window.Listener;
import com.aizuda.easy.retry.server.model.dto.ConfigDTO;
@ -116,7 +116,7 @@ public class ReportListener implements Listener<RetryTaskDTO> {
AlarmContext context = AlarmContext.build()
.text(reportErrorTextMessageFormatter,
EnvironmentUtils.getActiveProfile(),
HostUtils.getIp(),
NetUtil.getLocalIpStr(),
properties.getNamespace(),
EasyRetryProperties.getGroup(),
LocalDateTime.now().format(formatter),

View File

@ -13,7 +13,7 @@ import com.aizuda.easy.retry.common.core.enums.NotifySceneEnum;
import com.aizuda.easy.retry.common.log.EasyRetryLog;
import com.aizuda.easy.retry.common.core.model.NettyResult;
import com.aizuda.easy.retry.common.core.util.EnvironmentUtils;
import com.aizuda.easy.retry.common.core.util.HostUtils;
import com.aizuda.easy.retry.common.core.util.NetUtil;
import com.aizuda.easy.retry.common.core.util.JsonUtil;
import com.aizuda.easy.retry.server.model.dto.ConfigDTO;
import com.aizuda.easy.retry.server.model.dto.RetryTaskDTO;
@ -99,7 +99,7 @@ public class SyncReport extends AbstractReport {
AlarmContext context = AlarmContext.build()
.text(reportErrorTextMessageFormatter,
EnvironmentUtils.getActiveProfile(),
HostUtils.getIp(),
NetUtil.getLocalIpStr(),
easyRetryProperties.getNamespace(),
EasyRetryProperties.getGroup(),
LocalDateTime.now().format(formatter),

View File

@ -18,7 +18,7 @@ import com.aizuda.easy.retry.common.core.alarm.EasyRetryAlarmFactory;
import com.aizuda.easy.retry.common.core.enums.NotifySceneEnum;
import com.aizuda.easy.retry.common.log.EasyRetryLog;
import com.aizuda.easy.retry.common.core.util.EnvironmentUtils;
import com.aizuda.easy.retry.common.core.util.HostUtils;
import com.aizuda.easy.retry.common.core.util.NetUtil;
import com.aizuda.easy.retry.server.model.dto.ConfigDTO;
import com.github.rholder.retry.Retryer;
import com.github.rholder.retry.StopStrategy;
@ -181,7 +181,7 @@ public abstract class AbstractRetryStrategies implements RetryStrategy {
AlarmContext context = AlarmContext.build()
.text(retryErrorMoreThresholdTextMessageFormatter,
EnvironmentUtils.getActiveProfile(),
HostUtils.getIp(),
NetUtil.getLocalIpStr(),
easyRetryProperties.getNamespace(),
EasyRetryProperties.getGroup(),
LocalDateTime.now().format(formatter),

View File

@ -1,24 +0,0 @@
package com.aizuda.easy.retry.common.core.util;
import com.aizuda.easy.retry.common.core.exception.EasyRetryCommonException;
import java.net.InetAddress;
import java.net.UnknownHostException;
/**
* @author: www.byteblogs.com
* @date : 2021-11-25 17:36
*/
public class HostUtils {
public static String getIp() {
try {
return InetAddress.getLocalHost().getHostAddress();
} catch (UnknownHostException e) {
throw new EasyRetryCommonException("未获取HostAddress");
}
}
}

View File

@ -0,0 +1,82 @@
package com.aizuda.easy.retry.common.core.util;
import com.aizuda.easy.retry.common.core.exception.EasyRetryCommonException;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.text.MessageFormat;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* Easy Retry 网络相关工具
*
* @author xiaowoniu
* @date 2024-03-06 22:19:34
* @since 3.1.0
*/
public class NetUtil {
private final static String LOCAL_HOST = "127.0.0.1";
private final static String URL_IPV4 = "http://{0}:{1}/{2}";
private final static String URL_IPV6 = "http://[{0}]:{1}/{2}";
/**
* 获取URL
*
* @param host 主机地址
* @param port 端口
* @param contextPath 统一后缀
* @return URL
*/
public static String getUrl(String host, int port, String contextPath) {
String url = URL_IPV4;
if (isValidIpV6(host)) {
url = URL_IPV6;
}
return MessageFormat.format(url, host, String.valueOf(port), contextPath);
}
/**
* 获取本地IP
*
* @return 本机网卡IP地址
*/
public static String getLocalIpStr() {
try {
return InetAddress.getLocalHost().getHostAddress();
} catch (UnknownHostException e) {
throw new EasyRetryCommonException("未获取HostAddress");
}
}
/**
* ipv4校验是否是ipv4
*
* @param host 主机地址
* @return
*/
private static boolean isValidIpV4(String host) {
Pattern pattern = Pattern.compile("^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$");
Matcher matcher = pattern.matcher(host);
return matcher.matches();
}
/**
* ipv4校验是否是ipv6
*
* @param host 主机地址
* @return
*/
private static boolean isValidIpV6(String host) {
Pattern pattern = Pattern.compile("^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$");
Matcher matcher = pattern.matcher(host);
return matcher.matches();
}
}

View File

@ -6,7 +6,7 @@ import cn.hutool.core.util.URLUtil;
import com.aizuda.easy.retry.common.core.constant.SystemConstants;
import com.aizuda.easy.retry.common.core.context.SpringContext;
import com.aizuda.easy.retry.common.core.model.Result;
import com.aizuda.easy.retry.common.core.util.HostUtils;
import com.aizuda.easy.retry.common.core.util.NetUtil;
import com.aizuda.easy.retry.common.core.util.JsonUtil;
import com.aizuda.easy.retry.server.common.cache.CacheRegisterTable;
import com.aizuda.easy.retry.server.common.client.annotation.Body;
@ -54,8 +54,6 @@ import java.util.concurrent.TimeUnit;
@Slf4j
public class RpcClientInvokeHandler implements InvocationHandler {
public static final String URL = "http://{0}:{1}/{2}";
private final String groupName;
private String hostId;
private String hostIp;
@ -113,7 +111,7 @@ public class RpcClientInvokeHandler implements InvocationHandler {
int size = serverNodeSet.size();
for (int count = 1; count <= size; count++) {
log.info("Start request client. count:[{}] clientId:[{}] clientAddr:[{}:{}] serverIp:[{}]", count, hostId,
hostIp, hostPort, HostUtils.getIp());
hostIp, hostPort, NetUtil.getLocalIpStr());
Result result = requestRemote(method, args, annotation, count);
if (Objects.nonNull(result)) {
return result;
@ -159,14 +157,14 @@ public class RpcClientInvokeHandler implements InvocationHandler {
});
log.info("Request client success. count:[{}] clientId:[{}] clientAddr:[{}:{}] serverIp:[{}]", count, hostId,
hostIp, hostPort, HostUtils.getIp());
hostIp, hostPort, NetUtil.getLocalIpStr());
return result;
} catch (RestClientException ex) {
// 网络异常
if (ex instanceof ResourceAccessException && failover) {
log.error("request client I/O error, count:[{}] clientId:[{}] clientAddr:[{}:{}] serverIp:[{}]", count,
hostId, hostIp, hostPort, HostUtils.getIp(), ex);
hostId, hostIp, hostPort, NetUtil.getLocalIpStr(), ex);
// 进行路由剔除处理
CacheRegisterTable.remove(groupName, namespaceId, hostId);
@ -188,12 +186,12 @@ public class RpcClientInvokeHandler implements InvocationHandler {
} else {
// 其他异常继续抛出
log.error("request client error.count:[{}] clientId:[{}] clientAddr:[{}:{}] serverIp:[{}]", count,
hostId, hostIp, hostPort, HostUtils.getIp(), ex);
hostId, hostIp, hostPort, NetUtil.getLocalIpStr(), ex);
throw ex;
}
} catch (Exception ex) {
log.error("request client unknown exception. count:[{}] clientId:[{}] clientAddr:[{}:{}] serverIp:[{}]",
count, hostId, hostIp, hostPort, HostUtils.getIp(), ex);
count, hostId, hostIp, hostPort, NetUtil.getLocalIpStr(), ex);
Throwable throwable = ex;
if (ex.getClass().isAssignableFrom(RetryException.class)) {
@ -223,7 +221,8 @@ public class RpcClientInvokeHandler implements InvocationHandler {
private StringBuilder getUrl(Mapping mapping, Map<String, Object> paramMap) {
StringBuilder url = new StringBuilder();
String format = MessageFormat.format(URL, hostIp, hostPort.toString(), contextPath).replaceAll("/+$", StrUtil.EMPTY);
String format = NetUtil.getUrl(hostIp, hostPort, contextPath).replaceAll("/+$", StrUtil.EMPTY);
url.append(format).append(StrUtil.SLASH).append(mapping.path().replaceFirst("^/+", StrUtil.EMPTY));
if (!CollectionUtils.isEmpty(paramMap)) {
String query = URLUtil.buildQuery(paramMap, null);

View File

@ -14,8 +14,6 @@ import java.time.LocalDateTime;
@Data
public class RegisterNodeInfo implements Comparable<RegisterNodeInfo> {
private static final String URL = "http://{0}:{1}/{2}";
private String namespaceId;
private String groupName;
@ -32,10 +30,6 @@ public class RegisterNodeInfo implements Comparable<RegisterNodeInfo> {
private String contextPath;
public String fullUrl() {
return MessageFormat.format(URL, hostIp, hostPort.toString(), contextPath);
}
public String address() {
return MessageFormat.format("{0}:{1}", hostIp, hostPort.toString());
}

View File

@ -5,7 +5,7 @@ import cn.hutool.core.util.StrUtil;
import com.aizuda.easy.retry.common.core.context.SpringContext;
import com.aizuda.easy.retry.common.core.enums.NodeTypeEnum;
import com.aizuda.easy.retry.common.log.EasyRetryLog;
import com.aizuda.easy.retry.common.core.util.HostUtils;
import com.aizuda.easy.retry.common.core.util.NetUtil;
import com.aizuda.easy.retry.common.core.util.JsonUtil;
import com.aizuda.easy.retry.server.common.Register;
import com.aizuda.easy.retry.server.common.cache.CacheConsumerGroup;
@ -72,7 +72,7 @@ public class ServerRegister extends AbstractRegister {
context.setGroupName(GROUP_NAME);
context.setHostId(CURRENT_CID);
context.setHostIp(HostUtils.getIp());
context.setHostIp(NetUtil.getLocalIpStr());
context.setHostPort(systemProperties.getNettyPort());
context.setContextPath(Optional.ofNullable(serverProperties.getServlet().getContextPath()).orElse(StrUtil.EMPTY));
context.setNamespaceId(NAMESPACE_ID);

View File

@ -1,6 +1,7 @@
package com.aizuda.easy.retry.server.retry.task.support.handler;
import cn.hutool.core.lang.Pair;
import com.aizuda.easy.retry.common.core.util.NetUtil;
import com.aizuda.easy.retry.common.log.EasyRetryLog;
import com.aizuda.easy.retry.common.core.model.Result;
import com.aizuda.easy.retry.server.common.Lifecycle;
@ -32,8 +33,6 @@ import java.util.concurrent.TimeUnit;
public class ConfigVersionSyncHandler implements Lifecycle, Runnable {
private static final LinkedBlockingQueue<ConfigSyncTask> QUEUE = new LinkedBlockingQueue<>(256);
public static final String URL = "http://{0}:{1}/{2}/retry/sync/version/v1";
public Thread THREAD = null;
@Autowired
private RestTemplate restTemplate;
@ -69,9 +68,10 @@ public class ConfigVersionSyncHandler implements Lifecycle, Runnable {
// 同步版本到每个客户端节点
for (final RegisterNodeInfo registerNodeInfo : serverNodeSet) {
ConfigDTO configDTO = accessTemplate.getGroupConfigAccess().getConfigInfo(groupName, namespaceId);
String format = MessageFormat.format(URL, registerNodeInfo.getHostIp(), registerNodeInfo.getHostPort().toString(),
registerNodeInfo.getContextPath());
Result result = restTemplate.postForObject(format, configDTO, Result.class);
String url = NetUtil.getUrl(registerNodeInfo.getHostIp(), registerNodeInfo.getHostPort(),
registerNodeInfo.getContextPath());
Result result = restTemplate.postForObject(url, configDTO, Result.class);
EasyRetryLog.LOCAL.info("同步结果 [{}]", result);
}
} catch (Exception e) {

View File

@ -4,38 +4,22 @@ import com.aizuda.easy.retry.common.core.alarm.AlarmContext;
import com.aizuda.easy.retry.common.core.enums.NotifySceneEnum;
import com.aizuda.easy.retry.common.log.EasyRetryLog;
import com.aizuda.easy.retry.common.core.util.EnvironmentUtils;
import com.aizuda.easy.retry.common.core.util.HostUtils;
import com.aizuda.easy.retry.server.common.AlarmInfoConverter;
import com.aizuda.easy.retry.server.common.Lifecycle;
import com.aizuda.easy.retry.server.common.alarm.AbstractAlarm;
import com.aizuda.easy.retry.server.common.alarm.AbstractFlowControl;
import com.aizuda.easy.retry.server.common.alarm.AbstractRetryAlarm;
import com.aizuda.easy.retry.server.common.dto.AlarmInfo;
import com.aizuda.easy.retry.server.common.dto.NotifyConfigInfo;
import com.aizuda.easy.retry.server.common.dto.RetryAlarmInfo;
import com.aizuda.easy.retry.server.common.util.DateUtils;
import com.aizuda.easy.retry.server.common.triple.ImmutableTriple;
import com.aizuda.easy.retry.server.common.triple.Triple;
import com.aizuda.easy.retry.server.retry.task.support.event.RetryTaskFailDeadLetterAlarmEvent;
import com.aizuda.easy.retry.template.datasource.access.AccessTemplate;
import com.aizuda.easy.retry.template.datasource.persistence.po.NotifyConfig;
import com.aizuda.easy.retry.template.datasource.persistence.po.RetryDeadLetter;
import com.google.common.collect.Lists;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import java.time.LocalDateTime;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
/**
* 重试任务失败进入死信队列监听器

View File

@ -4,33 +4,20 @@ import com.aizuda.easy.retry.common.core.alarm.AlarmContext;
import com.aizuda.easy.retry.common.core.enums.NotifySceneEnum;
import com.aizuda.easy.retry.common.log.EasyRetryLog;
import com.aizuda.easy.retry.common.core.util.EnvironmentUtils;
import com.aizuda.easy.retry.common.core.util.HostUtils;
import com.aizuda.easy.retry.server.common.AlarmInfoConverter;
import com.aizuda.easy.retry.server.common.Lifecycle;
import com.aizuda.easy.retry.server.common.alarm.AbstractFlowControl;
import com.aizuda.easy.retry.server.common.alarm.AbstractRetryAlarm;
import com.aizuda.easy.retry.server.common.dto.AlarmInfo;
import com.aizuda.easy.retry.server.common.dto.NotifyConfigInfo;
import com.aizuda.easy.retry.server.common.dto.RetryAlarmInfo;
import com.aizuda.easy.retry.server.common.util.DateUtils;
import com.aizuda.easy.retry.server.common.triple.ImmutableTriple;
import com.aizuda.easy.retry.server.common.triple.Triple;
import com.aizuda.easy.retry.server.retry.task.support.event.RetryTaskFailMoreThresholdAlarmEvent;
import com.aizuda.easy.retry.template.datasource.persistence.po.NotifyConfig;
import com.aizuda.easy.retry.template.datasource.persistence.po.RetryTask;
import com.google.common.collect.Lists;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.stream.Collectors;
/**
* 重试任务失败数量超过阈值监听器

View File

@ -7,29 +7,23 @@ import com.aizuda.easy.retry.common.core.enums.NotifySceneEnum;
import com.aizuda.easy.retry.common.core.enums.StatusEnum;
import com.aizuda.easy.retry.common.log.EasyRetryLog;
import com.aizuda.easy.retry.common.core.util.EnvironmentUtils;
import com.aizuda.easy.retry.common.core.util.HostUtils;
import com.aizuda.easy.retry.common.core.util.NetUtil;
import com.aizuda.easy.retry.server.common.Lifecycle;
import com.aizuda.easy.retry.server.common.dto.PartitionTask;
import com.aizuda.easy.retry.server.common.schedule.AbstractSchedule;
import com.aizuda.easy.retry.server.common.util.DateUtils;
import com.aizuda.easy.retry.server.common.util.PartitionTaskUtils;
import com.aizuda.easy.retry.server.retry.task.dto.NotifyConfigPartitionTask;
import com.aizuda.easy.retry.server.retry.task.dto.RetryPartitionTask;
import com.aizuda.easy.retry.server.retry.task.support.RetryTaskConverter;
import com.aizuda.easy.retry.template.datasource.access.AccessTemplate;
import com.aizuda.easy.retry.template.datasource.access.TaskAccess;
import com.aizuda.easy.retry.template.datasource.persistence.po.NotifyConfig;
import com.aizuda.easy.retry.template.datasource.persistence.po.RetryDeadLetter;
import com.aizuda.easy.retry.template.datasource.persistence.po.RetryTaskLog;
import com.aizuda.easy.retry.template.datasource.persistence.po.SceneConfig;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import java.time.Duration;
import java.time.Instant;
@ -71,7 +65,7 @@ public class RetryErrorMoreThresholdAlarmSchedule extends AbstractSchedule imple
@Override
protected void doExecute() {
EasyRetryLog.LOCAL.info("retryErrorMoreThreshold time[{}] ip:[{}]", LocalDateTime.now(), HostUtils.getIp());
EasyRetryLog.LOCAL.info("retryErrorMoreThreshold time[{}] ip:[{}]", LocalDateTime.now(), NetUtil.getLocalIpStr());
PartitionTaskUtils.process(this::getNotifyConfigPartitions, this::doHandler, 0);
}

View File

@ -8,7 +8,7 @@ import com.aizuda.easy.retry.common.core.enums.RetryStatusEnum;
import com.aizuda.easy.retry.common.core.enums.StatusEnum;
import com.aizuda.easy.retry.common.log.EasyRetryLog;
import com.aizuda.easy.retry.common.core.util.EnvironmentUtils;
import com.aizuda.easy.retry.common.core.util.HostUtils;
import com.aizuda.easy.retry.common.core.util.NetUtil;
import com.aizuda.easy.retry.server.common.Lifecycle;
import com.aizuda.easy.retry.server.common.dto.PartitionTask;
import com.aizuda.easy.retry.server.common.schedule.AbstractSchedule;
@ -19,13 +19,11 @@ import com.aizuda.easy.retry.server.retry.task.support.RetryTaskConverter;
import com.aizuda.easy.retry.template.datasource.access.AccessTemplate;
import com.aizuda.easy.retry.template.datasource.persistence.po.NotifyConfig;
import com.aizuda.easy.retry.template.datasource.persistence.po.RetryTask;
import com.aizuda.easy.retry.template.datasource.persistence.po.SceneConfig;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import java.time.Duration;
import java.time.Instant;
@ -66,7 +64,7 @@ public class RetryTaskMoreThresholdAlarmSchedule extends AbstractSchedule implem
@Override
protected void doExecute() {
EasyRetryLog.LOCAL.info("retryTaskMoreThreshold time[{}] ip:[{}]", LocalDateTime.now(), HostUtils.getIp());
EasyRetryLog.LOCAL.info("retryTaskMoreThreshold time[{}] ip:[{}]", LocalDateTime.now(), NetUtil.getLocalIpStr());
PartitionTaskUtils.process(this::getNotifyConfigPartitions, this::doHandler, 0);
}

View File

@ -0,0 +1 @@
.ant-layout-content{margin:0}.ant-layout-footer{display:none}.ant-spin-text{font-size:20px}.ant-spin-nested-loading>div>.ant-spin{top:23%}

View File

@ -1 +0,0 @@
.ant-layout-content{margin:0}.ant-layout-footer{display:none}

View File

@ -0,0 +1 @@
.ant-layout-content{margin:0}.ant-layout-footer{display:none}.ant-spin-text{font-size:20px}.ant-spin-nested-loading>div>.ant-spin{top:23%}

View File

@ -0,0 +1 @@
.ant-spin-text{font-size:20px}.ant-spin-nested-loading>div>.ant-spin{top:23%}.ant-layout-content{margin:0}.ant-layout-footer{display:none}

View File

@ -0,0 +1 @@
.ant-layout-content{margin:0}.ant-layout-footer{display:none}.ant-spin-text{font-size:20px}.ant-spin-nested-loading>div>.ant-spin{top:23%}

View File

@ -1 +0,0 @@
.ant-layout-content{margin:0}.ant-layout-footer{display:none}

View File

@ -1 +0,0 @@
.ant-layout-content{margin:0}.ant-layout-footer{display:none}

View File

@ -1 +0,0 @@
.ant-layout-content{margin:0}.ant-layout-footer{display:none}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-089f2c92"],{"0947":function(t,e,n){"use strict";n("2efd")},"2efd":function(t,e,n){},"8f70":function(t,e,n){"use strict";n("99af");var i=function(){var t=this,e=t._self._c;return e("a-spin",{attrs:{spinning:t.spinning,tip:"工作流加载中"}},[e("a-icon",{staticStyle:{"font-size":"18px",top:"39%"},attrs:{slot:"indicator",type:"loading",spin:""},slot:"indicator"}),e("iframe",{ref:"iframe",style:"width: 100%;height:calc(99vh - 60px)",attrs:{src:"".concat("production"===t.mode?t.baseUrl:"","/lib/index.html?id=").concat(t.id,"&mode=").concat(t.mode,"&x1c2Hdd6=").concat(t.value),marginwidth:"0",frameborder:"no"}})],1)},a=[],o=n("53ca"),s={name:"WorkFlow",components:{},props:{value:{type:String,default:""}},data:function(){var t=this.$createElement;return{id:"",spinning:!0,mode:"production",baseUrl:"/easy-retry",indicator:t("a-icon",{attrs:{type:"loading",spin:!0},style:"font-size: 18px"})}},mounted:function(){this.iframeLoad(),this.id=this.$route.query.id},created:function(){window.addEventListener("message",this.handleMessage,!1)},destroyed:function(){window.removeEventListener("message",this.handleMessage)},methods:{save:function(){window.removeEventListener("message",this.handleMessage),this.$message.info("工作流新增成功"),this.$router.push({path:"/job/workflow/list"})},cancel:function(){window.removeEventListener("message",this.handleMessage),this.$router.push({path:"/job/workflow/list"})},update:function(){this.$message.info("工作流修改成功"),this.$router.push({path:"/job/workflow/list"})},handleMessage:function(t){"object"===Object(o["a"])(t.data)&&("SV5ucvLBhvFkOftb"===t.data.code?this.save():"kb4DO9h6WIiqFhbp"===t.data.code?this.cancel():"8Rr3XPtVVAHfduQg"===t.data.code&&this.update())},iframeLoad:function(){var t=this,e=this.$refs.iframe;e.attachEvent?e.attachEvent("onload",(function(){t.spinning=!1})):e.onload=function(){t.spinning=!1}}}},r=s,c=(n("0947"),n("2877")),d=Object(c["a"])(r,i,a,!1,null,null,null);e["a"]=d.exports},e9f5:function(t,e,n){"use strict";n.r(e);var i=function(){var t=this,e=t._self._c;return e("work-flow",{attrs:{value:"wA4wN1nZ"}})},a=[],o=n("8f70"),s={name:"WorkFlowEdit",components:{WorkFlow:o["a"]}},r=s,c=n("2877"),d=Object(c["a"])(r,i,a,!1,null,null,null);e["default"]=d.exports}}]);

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-21492311"],{"8f70":function(e,t,n){"use strict";n("99af");var o=function(){var e=this,t=e._self._c;return t("iframe",{ref:"iframe",style:"width: 100%;height:calc(99vh - 60px)",attrs:{src:"".concat("production"===e.mode?e.baseUrl:"","/lib/index.html?id=").concat(e.id,"&mode=").concat(e.mode,"&x1c2Hdd6=").concat(e.value),marginwidth:"0",frameborder:"no"}})},s=[],a=n("53ca"),i={name:"WorkFlow",components:{},props:{value:{type:String,default:""}},data:function(){return{id:"",mode:"production",baseUrl:"/easy-retry"}},mounted:function(){this.id=this.$route.query.id},created:function(){window.addEventListener("message",this.handleMessage,!1)},destroyed:function(){window.removeEventListener("message",this.handleMessage)},methods:{save:function(){window.removeEventListener("message",this.handleMessage),this.$message.info("工作流新增成功"),this.$router.push({path:"/job/workflow/list"})},cancel:function(){window.removeEventListener("message",this.handleMessage),this.$router.push({path:"/job/workflow/list"})},update:function(){this.$message.info("工作流修改成功"),this.$router.push({path:"/job/workflow/list"})},handleMessage:function(e){"object"===Object(a["a"])(e.data)&&("SV5ucvLBhvFkOftb"===e.data.code?this.save():"kb4DO9h6WIiqFhbp"===e.data.code?this.cancel():"8Rr3XPtVVAHfduQg"===e.data.code&&this.update())}}},r=i,c=(n("a3be"),n("2877")),d=Object(c["a"])(r,o,s,!1,null,null,null);t["a"]=d.exports},a3be:function(e,t,n){"use strict";n("f945")},e9f5:function(e,t,n){"use strict";n.r(t);var o=function(){var e=this,t=e._self._c;return t("work-flow",{attrs:{value:"wA4wN1nZ"}})},s=[],a=n("8f70"),i={name:"WorkFlowEdit",components:{WorkFlow:a["a"]}},r=i,c=n("2877"),d=Object(c["a"])(r,o,s,!1,null,null,null);t["default"]=d.exports},f945:function(e,t,n){}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-3c6c3d7a"],{"0947":function(t,e,n){"use strict";n("2efd")},"2efd":function(t,e,n){},"49de":function(t,e,n){"use strict";n.r(e);var i=function(){var t=this,e=t._self._c;return e("work-flow",{attrs:{value:"D7Rzd7Oe"}})},a=[],o=n("8f70"),s={name:"WorkFlowEdit",components:{WorkFlow:o["a"]}},r=s,c=n("2877"),d=Object(c["a"])(r,i,a,!1,null,null,null);e["default"]=d.exports},"8f70":function(t,e,n){"use strict";n("99af");var i=function(){var t=this,e=t._self._c;return e("a-spin",{attrs:{spinning:t.spinning,tip:"工作流加载中"}},[e("a-icon",{staticStyle:{"font-size":"18px",top:"39%"},attrs:{slot:"indicator",type:"loading",spin:""},slot:"indicator"}),e("iframe",{ref:"iframe",style:"width: 100%;height:calc(99vh - 60px)",attrs:{src:"".concat("production"===t.mode?t.baseUrl:"","/lib/index.html?id=").concat(t.id,"&mode=").concat(t.mode,"&x1c2Hdd6=").concat(t.value),marginwidth:"0",frameborder:"no"}})],1)},a=[],o=n("53ca"),s={name:"WorkFlow",components:{},props:{value:{type:String,default:""}},data:function(){var t=this.$createElement;return{id:"",spinning:!0,mode:"production",baseUrl:"/easy-retry",indicator:t("a-icon",{attrs:{type:"loading",spin:!0},style:"font-size: 18px"})}},mounted:function(){this.iframeLoad(),this.id=this.$route.query.id},created:function(){window.addEventListener("message",this.handleMessage,!1)},destroyed:function(){window.removeEventListener("message",this.handleMessage)},methods:{save:function(){window.removeEventListener("message",this.handleMessage),this.$message.info("工作流新增成功"),this.$router.push({path:"/job/workflow/list"})},cancel:function(){window.removeEventListener("message",this.handleMessage),this.$router.push({path:"/job/workflow/list"})},update:function(){this.$message.info("工作流修改成功"),this.$router.push({path:"/job/workflow/list"})},handleMessage:function(t){"object"===Object(o["a"])(t.data)&&("SV5ucvLBhvFkOftb"===t.data.code?this.save():"kb4DO9h6WIiqFhbp"===t.data.code?this.cancel():"8Rr3XPtVVAHfduQg"===t.data.code&&this.update())},iframeLoad:function(){var t=this,e=this.$refs.iframe;e.attachEvent?e.attachEvent("onload",(function(){t.spinning=!1})):e.onload=function(){t.spinning=!1}}}},r=s,c=(n("0947"),n("2877")),d=Object(c["a"])(r,i,a,!1,null,null,null);e["a"]=d.exports}}]);

View File

@ -0,0 +1 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-41d443b0"],{"0947":function(t,e,n){"use strict";n("2efd")},"2efd":function(t,e,n){},3656:function(t,e,n){},"51c1":function(t,e,n){"use strict";n("3656")},8186:function(t,e,n){"use strict";n.r(e);var i=function(){var t=this,e=t._self._c;return e("work-flow",{attrs:{value:"kaxC8Iml"}})},a=[],o=n("8f70"),s={name:"WorkFlowDetail",components:{WorkFlow:o["a"]}},r=s,c=(n("51c1"),n("2877")),d=Object(c["a"])(r,i,a,!1,null,null,null);e["default"]=d.exports},"8f70":function(t,e,n){"use strict";n("99af");var i=function(){var t=this,e=t._self._c;return e("a-spin",{attrs:{spinning:t.spinning,tip:"工作流加载中"}},[e("a-icon",{staticStyle:{"font-size":"18px",top:"39%"},attrs:{slot:"indicator",type:"loading",spin:""},slot:"indicator"}),e("iframe",{ref:"iframe",style:"width: 100%;height:calc(99vh - 60px)",attrs:{src:"".concat("production"===t.mode?t.baseUrl:"","/lib/index.html?id=").concat(t.id,"&mode=").concat(t.mode,"&x1c2Hdd6=").concat(t.value),marginwidth:"0",frameborder:"no"}})],1)},a=[],o=n("53ca"),s={name:"WorkFlow",components:{},props:{value:{type:String,default:""}},data:function(){var t=this.$createElement;return{id:"",spinning:!0,mode:"production",baseUrl:"/easy-retry",indicator:t("a-icon",{attrs:{type:"loading",spin:!0},style:"font-size: 18px"})}},mounted:function(){this.iframeLoad(),this.id=this.$route.query.id},created:function(){window.addEventListener("message",this.handleMessage,!1)},destroyed:function(){window.removeEventListener("message",this.handleMessage)},methods:{save:function(){window.removeEventListener("message",this.handleMessage),this.$message.info("工作流新增成功"),this.$router.push({path:"/job/workflow/list"})},cancel:function(){window.removeEventListener("message",this.handleMessage),this.$router.push({path:"/job/workflow/list"})},update:function(){this.$message.info("工作流修改成功"),this.$router.push({path:"/job/workflow/list"})},handleMessage:function(t){"object"===Object(o["a"])(t.data)&&("SV5ucvLBhvFkOftb"===t.data.code?this.save():"kb4DO9h6WIiqFhbp"===t.data.code?this.cancel():"8Rr3XPtVVAHfduQg"===t.data.code&&this.update())},iframeLoad:function(){var t=this,e=this.$refs.iframe;e.attachEvent?e.attachEvent("onload",(function(){t.spinning=!1})):e.onload=function(){t.spinning=!1}}}},r=s,c=(n("0947"),n("2877")),d=Object(c["a"])(r,i,a,!1,null,null,null);e["a"]=d.exports}}]);

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-47215db6"],{"0947":function(t,e,n){"use strict";n("2efd")},"2efd":function(t,e,n){},"8f70":function(t,e,n){"use strict";n("99af");var i=function(){var t=this,e=t._self._c;return e("a-spin",{attrs:{spinning:t.spinning,tip:"工作流加载中"}},[e("a-icon",{staticStyle:{"font-size":"18px",top:"39%"},attrs:{slot:"indicator",type:"loading",spin:""},slot:"indicator"}),e("iframe",{ref:"iframe",style:"width: 100%;height:calc(99vh - 60px)",attrs:{src:"".concat("production"===t.mode?t.baseUrl:"","/lib/index.html?id=").concat(t.id,"&mode=").concat(t.mode,"&x1c2Hdd6=").concat(t.value),marginwidth:"0",frameborder:"no"}})],1)},a=[],o=n("53ca"),s={name:"WorkFlow",components:{},props:{value:{type:String,default:""}},data:function(){var t=this.$createElement;return{id:"",spinning:!0,mode:"production",baseUrl:"/easy-retry",indicator:t("a-icon",{attrs:{type:"loading",spin:!0},style:"font-size: 18px"})}},mounted:function(){this.iframeLoad(),this.id=this.$route.query.id},created:function(){window.addEventListener("message",this.handleMessage,!1)},destroyed:function(){window.removeEventListener("message",this.handleMessage)},methods:{save:function(){window.removeEventListener("message",this.handleMessage),this.$message.info("工作流新增成功"),this.$router.push({path:"/job/workflow/list"})},cancel:function(){window.removeEventListener("message",this.handleMessage),this.$router.push({path:"/job/workflow/list"})},update:function(){this.$message.info("工作流修改成功"),this.$router.push({path:"/job/workflow/list"})},handleMessage:function(t){"object"===Object(o["a"])(t.data)&&("SV5ucvLBhvFkOftb"===t.data.code?this.save():"kb4DO9h6WIiqFhbp"===t.data.code?this.cancel():"8Rr3XPtVVAHfduQg"===t.data.code&&this.update())},iframeLoad:function(){var t=this,e=this.$refs.iframe;e.attachEvent?e.attachEvent("onload",(function(){t.spinning=!1})):e.onload=function(){t.spinning=!1}}}},r=s,c=(n("0947"),n("2877")),d=Object(c["a"])(r,i,a,!1,null,null,null);e["a"]=d.exports},af96:function(t,e,n){"use strict";n.r(e);var i=function(){var t=this,e=t._self._c;return e("work-flow",{attrs:{value:"xkjIc2ZHZ0"}})},a=[],o=n("8f70"),s={name:"WorkFlowDetail",components:{WorkFlow:o["a"]}},r=s,c=n("2877"),d=Object(c["a"])(r,i,a,!1,null,null,null);e["default"]=d.exports}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-6204f6d4"],{"49de":function(e,t,n){"use strict";n.r(t);var o=function(){var e=this,t=e._self._c;return t("work-flow",{attrs:{value:"D7Rzd7Oe"}})},s=[],a=n("8f70"),i={name:"WorkFlowEdit",components:{WorkFlow:a["a"]}},r=i,c=n("2877"),d=Object(c["a"])(r,o,s,!1,null,null,null);t["default"]=d.exports},"8f70":function(e,t,n){"use strict";n("99af");var o=function(){var e=this,t=e._self._c;return t("iframe",{ref:"iframe",style:"width: 100%;height:calc(99vh - 60px)",attrs:{src:"".concat("production"===e.mode?e.baseUrl:"","/lib/index.html?id=").concat(e.id,"&mode=").concat(e.mode,"&x1c2Hdd6=").concat(e.value),marginwidth:"0",frameborder:"no"}})},s=[],a=n("53ca"),i={name:"WorkFlow",components:{},props:{value:{type:String,default:""}},data:function(){return{id:"",mode:"production",baseUrl:"/easy-retry"}},mounted:function(){this.id=this.$route.query.id},created:function(){window.addEventListener("message",this.handleMessage,!1)},destroyed:function(){window.removeEventListener("message",this.handleMessage)},methods:{save:function(){window.removeEventListener("message",this.handleMessage),this.$message.info("工作流新增成功"),this.$router.push({path:"/job/workflow/list"})},cancel:function(){window.removeEventListener("message",this.handleMessage),this.$router.push({path:"/job/workflow/list"})},update:function(){this.$message.info("工作流修改成功"),this.$router.push({path:"/job/workflow/list"})},handleMessage:function(e){"object"===Object(a["a"])(e.data)&&("SV5ucvLBhvFkOftb"===e.data.code?this.save():"kb4DO9h6WIiqFhbp"===e.data.code?this.cancel():"8Rr3XPtVVAHfduQg"===e.data.code&&this.update())}}},r=i,c=(n("a3be"),n("2877")),d=Object(c["a"])(r,o,s,!1,null,null,null);t["a"]=d.exports},a3be:function(e,t,n){"use strict";n("f945")},f945:function(e,t,n){}}]);

View File

@ -1 +0,0 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-6cba1710"],{"8f70":function(e,t,n){"use strict";n("99af");var a=function(){var e=this,t=e._self._c;return t("iframe",{ref:"iframe",style:"width: 100%;height:calc(99vh - 60px)",attrs:{src:"".concat("production"===e.mode?e.baseUrl:"","/lib/index.html?id=").concat(e.id,"&mode=").concat(e.mode,"&x1c2Hdd6=").concat(e.value),marginwidth:"0",frameborder:"no"}})},o=[],s=n("53ca"),i={name:"WorkFlow",components:{},props:{value:{type:String,default:""}},data:function(){return{id:"",mode:"production",baseUrl:"/easy-retry"}},mounted:function(){this.id=this.$route.query.id},created:function(){window.addEventListener("message",this.handleMessage,!1)},destroyed:function(){window.removeEventListener("message",this.handleMessage)},methods:{save:function(){window.removeEventListener("message",this.handleMessage),this.$message.info("工作流新增成功"),this.$router.push({path:"/job/workflow/list"})},cancel:function(){window.removeEventListener("message",this.handleMessage),this.$router.push({path:"/job/workflow/list"})},update:function(){this.$message.info("工作流修改成功"),this.$router.push({path:"/job/workflow/list"})},handleMessage:function(e){"object"===Object(s["a"])(e.data)&&("SV5ucvLBhvFkOftb"===e.data.code?this.save():"kb4DO9h6WIiqFhbp"===e.data.code?this.cancel():"8Rr3XPtVVAHfduQg"===e.data.code&&this.update())}}},r=i,c=(n("a3be"),n("2877")),d=Object(c["a"])(r,a,o,!1,null,null,null);t["a"]=d.exports},a3be:function(e,t,n){"use strict";n("f945")},af96:function(e,t,n){"use strict";n.r(t);var a=function(){var e=this,t=e._self._c;return t("work-flow",{attrs:{value:"xkjIc2ZHZ0"}})},o=[],s=n("8f70"),i={name:"WorkFlowDetail",components:{WorkFlow:s["a"]}},r=i,c=n("2877"),d=Object(c["a"])(r,a,o,!1,null,null,null);t["default"]=d.exports},f945:function(e,t,n){}}]);

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-aa00ce98"],{3656:function(e,t,n){},"51c1":function(e,t,n){"use strict";n("3656")},8186:function(e,t,n){"use strict";n.r(t);var o=function(){var e=this,t=e._self._c;return t("work-flow",{attrs:{value:"kaxC8Iml"}})},a=[],s=n("8f70"),i={name:"WorkFlowDetail",components:{WorkFlow:s["a"]}},r=i,c=(n("51c1"),n("2877")),u=Object(c["a"])(r,o,a,!1,null,null,null);t["default"]=u.exports},"8f70":function(e,t,n){"use strict";n("99af");var o=function(){var e=this,t=e._self._c;return t("iframe",{ref:"iframe",style:"width: 100%;height:calc(99vh - 60px)",attrs:{src:"".concat("production"===e.mode?e.baseUrl:"","/lib/index.html?id=").concat(e.id,"&mode=").concat(e.mode,"&x1c2Hdd6=").concat(e.value),marginwidth:"0",frameborder:"no"}})},a=[],s=n("53ca"),i={name:"WorkFlow",components:{},props:{value:{type:String,default:""}},data:function(){return{id:"",mode:"production",baseUrl:"/easy-retry"}},mounted:function(){this.id=this.$route.query.id},created:function(){window.addEventListener("message",this.handleMessage,!1)},destroyed:function(){window.removeEventListener("message",this.handleMessage)},methods:{save:function(){window.removeEventListener("message",this.handleMessage),this.$message.info("工作流新增成功"),this.$router.push({path:"/job/workflow/list"})},cancel:function(){window.removeEventListener("message",this.handleMessage),this.$router.push({path:"/job/workflow/list"})},update:function(){this.$message.info("工作流修改成功"),this.$router.push({path:"/job/workflow/list"})},handleMessage:function(e){"object"===Object(s["a"])(e.data)&&("SV5ucvLBhvFkOftb"===e.data.code?this.save():"kb4DO9h6WIiqFhbp"===e.data.code?this.cancel():"8Rr3XPtVVAHfduQg"===e.data.code&&this.update())}}},r=i,c=(n("a3be"),n("2877")),u=Object(c["a"])(r,o,a,!1,null,null,null);t["a"]=u.exports},a3be:function(e,t,n){"use strict";n("f945")},f945:function(e,t,n){}}]);

File diff suppressed because one or more lines are too long

View File

@ -5,8 +5,8 @@
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Easy Retry</title>
<script type="module" crossorigin src="./assets/fjGXFx1T.js"></script>
<link rel="stylesheet" crossorigin href="./assets/RihNDpOw.css">
<script type="module" crossorigin src="./assets/2cvupYat.js"></script>
<link rel="stylesheet" crossorigin href="./assets/sBY4ZtAT.css">
</head>
<body>

View File

@ -2,6 +2,7 @@ package com.aizuda.easy.retry.server.web.service.impl;
import cn.hutool.core.util.StrUtil;
import com.aizuda.easy.retry.common.core.enums.NodeTypeEnum;
import com.aizuda.easy.retry.common.core.util.NetUtil;
import com.aizuda.easy.retry.common.log.EasyRetryLog;
import com.aizuda.easy.retry.common.core.model.Result;
import com.aizuda.easy.retry.common.core.util.JsonUtil;
@ -57,8 +58,6 @@ import java.util.stream.Collectors;
@Slf4j
public class DashBoardServiceImpl implements DashBoardService {
public static final String URL = "http://{0}:{1}/{2}/dashboard/consumer/bucket";
@Autowired
private ServerNodeMapper serverNodeMapper;
@ -207,9 +206,8 @@ public class DashBoardServiceImpl implements DashBoardService {
ServerNodeExtAttrs serverNodeExtAttrs = JsonUtil.parseObject(serverNodeResponseVO.getExtAttrs(), ServerNodeExtAttrs.class);
try {
// 从远程节点取
String format = MessageFormat
.format(URL, serverNodeResponseVO.getHostIp(), serverNodeExtAttrs.getWebPort().toString(), serverNodeResponseVO.getContextPath());
Result<List<Integer>> result = restTemplate.getForObject(format, Result.class);
String url = NetUtil.getUrl(serverNodeResponseVO.getHostIp(), serverNodeExtAttrs.getWebPort(), serverNodeResponseVO.getContextPath());
Result<List<Integer>> result = restTemplate.getForObject(url, Result.class);
List<Integer> data = result.getData();
if (!CollectionUtils.isEmpty(data)) {
serverNodeResponseVO.setConsumerBuckets(data.stream()

View File

@ -1,6 +1,6 @@
<template>
<a-spin :spinning="spinning" tip=" 工作流正在加载中">
<a-icon slot="indicator" type="loading" style="font-size: 58px; top: 39%" spin />
<a-spin :spinning="spinning" tip="工作流加载中">
<a-icon slot="indicator" type="loading" style="font-size: 18px; top: 39%" spin />
<iframe
ref="iframe"
:src="`${mode === 'production' ? baseUrl : ''}/lib/index.html?id=${id}&mode=${mode}&x1c2Hdd6=${value}`"
@ -27,7 +27,7 @@ export default {
spinning: true,
mode: process.env.NODE_ENV,
baseUrl: process.env.VUE_APP_API_BASE_URL,
indicator: <a-icon type="loading" style="font-size: 36px" spin />
indicator: <a-icon type="loading" style="font-size: 18px" spin />
}
},
mounted () {