Browse Source

fix: subpath panic

mhsanaei 4 days ago
parent
commit
7465768ff7

+ 8 - 2
web/html/settings/panel/subscription/general.html

@@ -48,7 +48,13 @@
             <template #title>{{ i18n "pages.settings.subPath"}}</template>
             <template #title>{{ i18n "pages.settings.subPath"}}</template>
             <template #description>{{ i18n "pages.settings.subPathDesc"}}</template>
             <template #description>{{ i18n "pages.settings.subPathDesc"}}</template>
             <template #control>
             <template #control>
-                <a-input type="text" v-model="allSetting.subPath"></a-input>
+                <a-input
+                    type="text"
+                    v-model="allSetting.subPath"
+                    @input="allSetting.subPath = ((typeof $event === 'string' ? $event : ($event && $event.target ? $event.target.value : '')) || '').replace(/[:*]/g, '')"
+                    @blur="allSetting.subPath = (p => { p = p || '/'; if (!p.startsWith('/')) p='/' + p; if (!p.endsWith('/')) p += '/'; return p.replace(/\/+/g,'/'); })(allSetting.subPath)"
+                    placeholder="/sub/"
+                ></a-input>
             </template>
             </template>
         </a-setting-list-item>
         </a-setting-list-item>
         <a-setting-list-item paddings="small">
         <a-setting-list-item paddings="small">
@@ -102,4 +108,4 @@
         </a-setting-list-item>
         </a-setting-list-item>
     </a-collapse-panel>
     </a-collapse-panel>
 </a-collapse>
 </a-collapse>
-{{end}}
+{{end}}

+ 7 - 1
web/html/settings/panel/subscription/json.html

@@ -5,7 +5,13 @@
             <template #title>{{ i18n "pages.settings.subPath"}}</template>
             <template #title>{{ i18n "pages.settings.subPath"}}</template>
             <template #description>{{ i18n "pages.settings.subPathDesc"}}</template>
             <template #description>{{ i18n "pages.settings.subPathDesc"}}</template>
             <template #control>
             <template #control>
-                <a-input type="text" v-model="allSetting.subJsonPath"></a-input>
+                <a-input
+                    type="text"
+                    v-model="allSetting.subJsonPath"
+                    @input="allSetting.subJsonPath = ((typeof $event === 'string' ? $event : ($event && $event.target ? $event.target.value : '')) || '').replace(/[:*]/g, '')"
+                    @blur="allSetting.subJsonPath = (p => { p = p || '/'; if (!p.startsWith('/')) p='/' + p; if (!p.endsWith('/')) p += '/'; return p.replace(/\/+/g,'/'); })(allSetting.subJsonPath)"
+                    placeholder="/json/"
+                ></a-input>
             </template>
             </template>
         </a-setting-list-item>
         </a-setting-list-item>
         <a-setting-list-item paddings="small">
         <a-setting-list-item paddings="small">