diff --git a/package.json b/package.json
index 94d3493a..a0c43656 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "sub-store-front-end",
- "version": "2.14.272",
+ "version": "2.14.273",
"private": true,
"scripts": {
"dev": "vite --host",
diff --git a/src/components/TagPopup.vue b/src/components/TagPopup.vue
index 86a6ba3b..76d5af2c 100644
--- a/src/components/TagPopup.vue
+++ b/src/components/TagPopup.vue
@@ -33,30 +33,43 @@
-
{{ item.label }}
-
-
-
- {{ t('subPage.tag.addTagBtn') }}
-
-
+
+
+ {{ element.label }}
+
+
+
+
+
+ {{ t('subPage.tag.addTagBtn') }}
+
@@ -66,6 +79,8 @@
import { ref, watch, computed, onMounted, nextTick } from "vue";
import { storeToRefs } from "pinia";
import { useSubsStore } from "@/store/subs";
+import draggable from "vuedraggable";
+
import { useI18n } from "vue-i18n";
const { t } = useI18n();
@@ -86,6 +101,15 @@ const isVisible = ref(props.visible);
const keyword = ref("");
const isAddTag = ref(false);
const addTagValue = ref('');
+//拖拽开始的事件
+const onStartDrag = () => {
+ console.log("开始拖拽");
+};
+
+//拖拽结束的事件
+const onEndDrag = () => {
+ console.log("结束拖拽");
+};
watch(
() => props.visible,
(newValue) => {
@@ -230,6 +254,12 @@ defineExpose({ show, close });
align-items: center;
flex-wrap: wrap;
gap: 10px;
+ >div {
+ display: flex;
+ align-items: center;
+ flex-wrap: wrap;
+ gap: 10px;
+ }
.nut-tag {
padding: 4px 10px;
text-align: center;
diff --git a/src/locales/en.ts b/src/locales/en.ts
index ab13bc16..ddbcca62 100644
--- a/src/locales/en.ts
+++ b/src/locales/en.ts
@@ -262,6 +262,7 @@ export default {
label: 'URL',
placeholder: 'Multiple lines and parameters are supported, please click the button on the left to see the usage.',
tips: {
+ fullScreenEdit: 'Full Screen Editing',
label: 'Usage',
title: 'Subscription URL(s)',
content: 'Subscription URL (please separate multiple subscriptions with a new line). \n\nSupported parameters:\n\ncacheKey: Setting the name of the optimistic cache. Its value can be managed in the persistent store(suitable for subscriptions that often fail to fetch).\n\nvalidCheck: error will be reported when expired or there is no remaining traffic\n\nflowUserAgent: the User-Agent for fetching subscription usage info\n\nflowUrl: the URL for fetching subscription usage info(using the content of the response body)\n\nshowRemaining: show remaining traffic instead of usage\n\nnoFlow: do not query for flow\n\nhideExpire: hide expiration time\n\nnoCache: do not use cache\n\nresetDay: the day when monthly data usage resets\n\nstartDate: subscription start date\n\ncycleDays: reset cycle (in days).\n\nFor example: http://a.com?token=1#cycleDays=31&startDate=2024-06-04 \nor http://a.com?token=1#resetDay=15',
diff --git a/src/locales/zh.ts b/src/locales/zh.ts
index bcea463e..b66a117c 100644
--- a/src/locales/zh.ts
+++ b/src/locales/zh.ts
@@ -262,6 +262,8 @@ export default {
label: '链接',
placeholder: '支持多行和参数, 请点击左侧的使用说明查看用法',
tips: {
+ fullScreenEdit: '全屏编辑',
+ fullScreenEditCancel: '取消全屏',
label: '使用说明',
title: '订阅链接',
content: '支持换行输入多个订阅\n\n支持以下参数\n\ncacheKey: 设置乐观缓存的名称 开启后也可自行在持久化缓存中管理(适合经常拉取失败的订阅)\nvalidCheck: 过期或无剩余流量时报错\nflowUserAgent: 查询流量时使用的 User-Agent\nflowUrl: 自定义查询流量的 URL(将使用响应体的内容)\nnoFlow: 不查询流量\nhideExpire: 隐藏到期\nshowRemaining: 显示剩余流量而不是已用流量\nnoCache: 不使用缓存\nresetDay: 每月流量重置日\nstartDate: 订阅开始日期\ncycleDays: 订阅重置周期(单位: 天)\n\n例: http://a.com?token=1#cycleDays=31&startDate=2024-06-04\n或 http://a.com?token=1#resetDay=15',
diff --git a/src/views/FileEditor.vue b/src/views/FileEditor.vue
index ec8fea57..552b91c3 100644
--- a/src/views/FileEditor.vue
+++ b/src/views/FileEditor.vue
@@ -135,7 +135,7 @@