文件选择器网络链接功能优化
This commit is contained in:
@@ -126,12 +126,12 @@
|
|||||||
:hide-on-single-page="false" @change="handlePageChange" />
|
:hide-on-single-page="false" @change="handlePageChange" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- 只要在获取中,最大程度阻止关闭dialog -->
|
<!-- 只要在获取中,就最大程度阻止关闭dialog -->
|
||||||
<el-dialog v-model="netVisiable" :draggable="false" width="50%" :align-center="false" :append-to-body="true"
|
<el-dialog v-model="netVisiable" :draggable="false" width="50%" :align-center="false" :append-to-body="true"
|
||||||
:title="'网络' + TypeLabel[tabsActived % 4] + '上传'" @closed="netUrl = ''" :close-on-click-modal="!netLoading"
|
:title="'网络' + TypeLabel[tabsActived % 4] + '上传'" @closed="netUrl = ''" :close-on-click-modal="!netLoading"
|
||||||
:close-on-press-escape="!netLoading" :show-close="!netLoading" modal-class="_overlay">
|
:close-on-press-escape="!netLoading" :show-close="!netLoading" modal-class="_overlay">
|
||||||
<el-form-item :label="TypeLabel[tabsActived % 4] + '链接'">
|
<el-form-item :label="TypeLabel[tabsActived % 4] + '链接'">
|
||||||
<el-input v-model="netUrl" placeholder="请输入网络连接" clearable>
|
<el-input v-model="netUrl" placeholder="请输入网络连接" clearable @input="netChange">
|
||||||
<template #prepend>
|
<template #prepend>
|
||||||
<el-select v-model="netPrefix" style="width: 110px;">
|
<el-select v-model="netPrefix" style="width: 110px;">
|
||||||
<el-option v-for="item, index in ['HTTP://', 'HTTPS://']" :key="index" :label="item" :value="item" />
|
<el-option v-for="item, index in ['HTTP://', 'HTTPS://']" :key="index" :label="item" :value="item" />
|
||||||
@@ -320,6 +320,11 @@ const netLoading = ref<boolean>(false);
|
|||||||
const netVisiable = ref<boolean>(false);
|
const netVisiable = ref<boolean>(false);
|
||||||
const netUrl = ref<string>('');
|
const netUrl = ref<string>('');
|
||||||
const netPrefix = ref<string>('HTTP://');
|
const netPrefix = ref<string>('HTTP://');
|
||||||
|
const netChange = () => {
|
||||||
|
let s = netUrl.value.trim();
|
||||||
|
if (s.toUpperCase().startsWith('HTTP://') || s.toUpperCase().startsWith('HTTPS://')) s = s.split('://')[1];
|
||||||
|
netUrl.value = s;
|
||||||
|
};
|
||||||
const confirmNetUrl = () => {
|
const confirmNetUrl = () => {
|
||||||
if (!netUrl.value) return;
|
if (!netUrl.value) return;
|
||||||
netLoading.value = true;
|
netLoading.value = true;
|
||||||
@@ -327,7 +332,7 @@ const confirmNetUrl = () => {
|
|||||||
let timeout = setTimeout(() => {
|
let timeout = setTimeout(() => {
|
||||||
controller.abort();
|
controller.abort();
|
||||||
}, 10 * 1000);
|
}, 10 * 1000);
|
||||||
fetch(netUrl.value, { signal: controller.signal }).then(async (res: Response) => {
|
fetch(netPrefix.value + netUrl.value, { signal: controller.signal }).then(async (res: Response) => {
|
||||||
clearTimeout(timeout);
|
clearTimeout(timeout);
|
||||||
if (!res.ok) errorNotification(`网络${TypeLabel[tabsActived.value % 4]}获取失败!`);
|
if (!res.ok) errorNotification(`网络${TypeLabel[tabsActived.value % 4]}获取失败!`);
|
||||||
const _ = res.url.split('?')[0].split('/');
|
const _ = res.url.split('?')[0].split('/');
|
||||||
|
|||||||
Reference in New Issue
Block a user