perf: ♻️ Support interruption during waiting for wireless connection

This commit is contained in:
viarotel 2024-11-08 14:15:49 +08:00
parent 0f3d869d07
commit 344b385d33

View File

@ -56,6 +56,7 @@
> >
</el-input> </el-input>
<el-button-group>
<el-button <el-button
type="primary" type="primary"
:icon="loading ? '' : 'Connection'" :icon="loading ? '' : 'Connection'"
@ -66,6 +67,17 @@
{{ $t('device.wireless.connect.name') }} {{ $t('device.wireless.connect.name') }}
</el-button> </el-button>
<el-button
v-if="loading"
type="default"
plain
class="flex-none"
@click="handleUnConnect()"
>
{{ $t('common.cancel') }}
</el-button>
</el-button-group>
<PairDialog ref="pairDialog" @success="onPairSuccess" /> <PairDialog ref="pairDialog" @success="onPairSuccess" />
</div> </div>
</template> </template>
@ -209,6 +221,10 @@ export default {
this.$message.warning(this.$t('device.wireless.connect.batch.error')) this.$message.warning(this.$t('device.wireless.connect.batch.error'))
}, },
handleUnConnect() {
this.loading = false
},
async handleConnect(params = this.formData) { async handleConnect(params = this.formData) {
if (!params.host) { if (!params.host) {
this.$message.warning( this.$message.warning(
@ -227,8 +243,10 @@ export default {
this.handleSave(params) this.handleSave(params)
} }
catch (error) { catch (error) {
if (this.loading) {
this.handleError(error?.message || error?.cause?.message || error) this.handleError(error?.message || error?.cause?.message || error)
} }
}
this.loading = false this.loading = false
}, },