diff --git a/package.json b/package.json
index f4065378..32319f28 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "sub-store-front-end",
- "version": "2.14.246",
+ "version": "2.14.247",
"private": true,
"scripts": {
"dev": "vite --host",
diff --git a/src/locales/en.ts b/src/locales/en.ts
index 35ed0d33..1b0ea843 100644
--- a/src/locales/en.ts
+++ b/src/locales/en.ts
@@ -353,7 +353,7 @@ export default {
'Resolve Domain Operator': {
label: 'Resolve Domain',
des: 'Providers(can be controlled by the node field "_no-resolve")',
- options: ['Google', 'IP-API', 'Cloudflare', 'Ali', 'Tencent'],
+ options: ['Google', 'IP-API', 'Cloudflare', 'Ali', 'Tencent', 'Custom'],
types: ['IPv4', 'IPv6', 'IP4P'],
filters: ['Disabled', 'Remove Failed', 'IP Only', 'IPv4 Only', 'IPv6 Only'],
cache: ['Enabled', 'Disabled'],
diff --git a/src/locales/zh.ts b/src/locales/zh.ts
index 5a205630..da32b67d 100644
--- a/src/locales/zh.ts
+++ b/src/locales/zh.ts
@@ -361,7 +361,7 @@ export default {
'Resolve Domain Operator': {
label: '域名解析',
des: '提供商(可由节点字段 "_no-resolve" 控制)',
- options: ['Google', 'IP-API', 'Cloudflare', 'Ali', 'Tencent'],
+ options: ['Google', 'IP-API', 'Cloudflare', 'Ali', 'Tencent', '自定义'],
types: ['IPv4', 'IPv6', 'IP4P'],
filters: ['不过滤', '移除失败', '只保留 IP', '只保留 IPv4', '只保留 IPv6'],
cache: ['启用', '禁用'],
diff --git a/src/views/editor/components/ActionRadio.vue b/src/views/editor/components/ActionRadio.vue
index 957c4009..d485635a 100644
--- a/src/views/editor/components/ActionRadio.vue
+++ b/src/views/editor/components/ActionRadio.vue
@@ -6,9 +6,15 @@
{{
+ >
+
+
+
+
+ {{
$t(`editorPage.subConfig.nodeActions['${type}'].options[${index}]`)
}}
+
@@ -24,6 +30,7 @@
+
过滤结果
@@ -92,7 +99,7 @@
const opt = {
'Flag Operator': ['add', 'remove'],
'Sort Operator': ['asc', 'desc', 'random'],
- 'Resolve Domain Operator': ['Google', 'IP-API', 'Cloudflare', 'Ali', 'Tencent'],
+ 'Resolve Domain Operator': ['Google', 'IP-API', 'Cloudflare', 'Ali', 'Tencent', 'Custom'],
};
const foTwOpt = ['cn', 'ws', 'tw'];
@@ -118,6 +125,7 @@
const rdoType = ref('IPv4');
const rdoFilter = ref('disabled');
const rdoCache = ref('enabled');
+ const rdoUrl = ref('');
const showTwTips = () => {
Toast.text('免责声明: 本操作仅将 Emoji 旗帜进行替换以便于显示, 不包含任何政治意味');
@@ -160,13 +168,14 @@
rdoType.value = item.args?.type ?? 'IPv4';
rdoFilter.value = item.args?.filter ?? 'disabled';
rdoCache.value = item.args?.cache ?? 'enabled';
+ rdoUrl.value = item.args?.url ?? '';
break;
}
}
});
// 值变化时实时修改 form 的数据
- watch([value, rdoFilter, rdoCache, rdoType, foTw], () => {
+ watch([value, rdoFilter, rdoCache, rdoUrl, rdoType, foTw], () => {
if (['IPv6', 'IP4P'].includes(rdoType.value) && ['IP-API'].includes(value.value)) {
showNotify({
title: `${value.value} 不支持 ${rdoType.value}`,
@@ -190,6 +199,7 @@
type: rdoType.value,
filter: rdoFilter.value,
cache: rdoCache.value,
+ url: rdoUrl.value,
};
break;
}
@@ -221,4 +231,16 @@
display: grid;
grid-template-columns: 1fr 1fr 1fr;
}
+ .input-wrapper {
+ display: flex;
+ align-items: center;
+
+ > view.nut-input {
+ background: transparent;
+ padding: 8px 12px;
+ margin-right: 16px;
+ border-bottom: 1px solid var(--lowest-text-color);
+ color: var(--second-text-color);
+ }
+ }