From a3f920c3aa61a1bbbdf042163ea194f092ae466d Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Wed, 11 Mar 2026 12:12:18 +0800
Subject: [PATCH] feat: 退出登录

---
 applications/drone-command/src/components/third-register/main.vue |  244 ++++++++++++++++++++++++------------------------
 1 files changed, 122 insertions(+), 122 deletions(-)

diff --git a/applications/drone-command/src/components/third-register/main.vue b/applications/drone-command/src/components/third-register/main.vue
index 64ce5a6..bcf46ee 100644
--- a/applications/drone-command/src/components/third-register/main.vue
+++ b/applications/drone-command/src/components/third-register/main.vue
@@ -1,129 +1,129 @@
 <template>
-  <el-dialog
-    title="账号注册"
-    append-to-body
-    v-model="accountBox"
-    :close-on-click-modal="false"
-    :close-on-press-escape="false"
-    :show-close="false"
-    width="20%"
-  >
-    <el-form :model="form" ref="form" label-width="80px">
-      <el-form-item v-if="tenantMode" label="租户编号">
-        <el-input v-model="form.tenantId" placeholder="请输入租户编号"></el-input>
-      </el-form-item>
-      <el-form-item label="用户姓名">
-        <el-input v-model="form.name" placeholder="请输入用户姓名"></el-input>
-      </el-form-item>
-      <el-form-item label="账号名称">
-        <el-input v-model="form.account" placeholder="请输入账号名称"></el-input>
-      </el-form-item>
-      <el-form-item label="账号密码">
-        <el-input v-model="form.password" placeholder="请输入账号密码"></el-input>
-      </el-form-item>
-      <el-form-item label="确认密码">
-        <el-input v-model="form.password2" placeholder="请输入确认密码"></el-input>
-      </el-form-item>
-    </el-form>
-    <template #footer>
-      <span class="dialog-footer">
-        <el-button type="primary" :loading="loading" @click="handleRegister">确 定</el-button>
-      </span>
-    </template>
-  </el-dialog>
+	<el-dialog
+		title="账号注册"
+		append-to-body
+		v-model="accountBox"
+		:close-on-click-modal="false"
+		:close-on-press-escape="false"
+		:show-close="false"
+		width="20%"
+	>
+		<el-form :model="form" ref="form" label-width="80px">
+			<el-form-item v-if="tenantMode" label="租户编号">
+				<el-input v-model="form.tenantId" placeholder="请输入租户编号"></el-input>
+			</el-form-item>
+			<el-form-item label="用户姓名">
+				<el-input v-model="form.name" placeholder="请输入用户姓名"></el-input>
+			</el-form-item>
+			<el-form-item label="账号名称">
+				<el-input v-model="form.account" placeholder="请输入账号名称"></el-input>
+			</el-form-item>
+			<el-form-item label="账号密码">
+				<el-input v-model="form.password" placeholder="请输入账号密码"></el-input>
+			</el-form-item>
+			<el-form-item label="确认密码">
+				<el-input v-model="form.password2" placeholder="请输入确认密码"></el-input>
+			</el-form-item>
+		</el-form>
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button type="primary" :loading="loading" @click="handleRegister">确 定</el-button>
+			</span>
+		</template>
+	</el-dialog>
 </template>
 
 <script>
-import { mapGetters } from 'vuex';
-import { validatenull } from 'utils/validate';
-import { registerGuest } from '@/api/user';
-import { getTopUrl } from 'utils/util';
-import { info } from '@/api/system/tenant';
-import { resetRouter } from '@/router/index';
+import { mapGetters } from 'vuex'
+import { validatenull } from 'utils/validate'
+import { registerGuest } from '@/api/user'
+import { getTopUrl, logOutFun } from 'utils/util'
+import { info } from '@/api/system/tenant'
+import { resetRouter } from '@/router/index'
 
 export default {
-  name: 'thirdRegister',
-  data() {
-    return {
-      form: {
-        tenantId: '',
-        name: '',
-        account: '',
-        password: '',
-        password2: '',
-      },
-      loading: false,
-      tenantMode: true,
-      accountBox: false,
-    };
-  },
-  computed: {
-    ...mapGetters(['userInfo']),
-  },
-  created() {
-    this.getTenant();
-  },
-  mounted() {
-    // 若未登录则弹出框进行绑定
-    if (validatenull(this.userInfo.user_id) || this.userInfo.user_id < 0) {
-      this.form.name = this.userInfo.user_name;
-      this.form.account = this.userInfo.account;
-      this.accountBox = true;
-    }
-  },
-  methods: {
-    handleRegister() {
-      if (this.form.tenantId === '') {
-        this.$message.warning('请先输入租户编号');
-        return;
-      }
-      if (this.form.account === '') {
-        this.$message.warning('请先输入账号名称');
-        return;
-      }
-      if (this.form.password === '' || this.form.password2 === '') {
-        this.$message.warning('请先输入密码');
-        return;
-      }
-      if (this.form.password !== this.form.password2) {
-        this.$message.warning('两次密码输入不一致');
-        return;
-      }
-      this.loading = true;
-      registerGuest(this.form, this.userInfo.oauth_id).then(
-        res => {
-          this.loading = false;
-          const data = res.data;
-          if (data.success) {
-            this.accountBox = false;
-            this.$alert('注册申请已提交,请耐心等待管理员通过!', '注册提示').then(() => {
-              this.$store.dispatch('LogOut').then(() => {
-                resetRouter();
-                this.$router.push({ path: '/login' });
-              });
-            });
-          } else {
-            this.$message.error(data.msg || '提交失败');
-          }
-        },
-        error => {
-          window.console.log(error);
-          this.loading = false;
-        }
-      );
-    },
-    getTenant() {
-      let domain = getTopUrl();
-      // 临时指定域名,方便测试
-      //domain = "https://bladex.cn";
-      info(domain).then(res => {
-        const data = res.data;
-        if (data.success && data.data.tenantId) {
-          this.form.tenantId = data.data.tenantId;
-          this.tenantMode = false;
-        }
-      });
-    },
-  },
-};
+	name: 'thirdRegister',
+	data() {
+		return {
+			form: {
+				tenantId: '',
+				name: '',
+				account: '',
+				password: '',
+				password2: '',
+			},
+			loading: false,
+			tenantMode: true,
+			accountBox: false,
+		}
+	},
+	computed: {
+		...mapGetters(['userInfo']),
+	},
+	created() {
+		this.getTenant()
+	},
+	mounted() {
+		// 若未登录则弹出框进行绑定
+		if (validatenull(this.userInfo.user_id) || this.userInfo.user_id < 0) {
+			this.form.name = this.userInfo.user_name
+			this.form.account = this.userInfo.account
+			this.accountBox = true
+		}
+	},
+	methods: {
+		handleRegister() {
+			if (this.form.tenantId === '') {
+				this.$message.warning('请先输入租户编号')
+				return
+			}
+			if (this.form.account === '') {
+				this.$message.warning('请先输入账号名称')
+				return
+			}
+			if (this.form.password === '' || this.form.password2 === '') {
+				this.$message.warning('请先输入密码')
+				return
+			}
+			if (this.form.password !== this.form.password2) {
+				this.$message.warning('两次密码输入不一致')
+				return
+			}
+			this.loading = true
+			registerGuest(this.form, this.userInfo.oauth_id).then(
+				res => {
+					this.loading = false
+					const data = res.data
+					if (data.success) {
+						this.accountBox = false
+						this.$alert('注册申请已提交,请耐心等待管理员通过!', '注册提示').then(() => {
+							this.$store.dispatch('LogOut').then(() => {
+								resetRouter()
+								logOutFun()
+							})
+						})
+					} else {
+						this.$message.error(data.msg || '提交失败')
+					}
+				},
+				error => {
+					window.console.log(error)
+					this.loading = false
+				}
+			)
+		},
+		getTenant() {
+			let domain = getTopUrl()
+			// 临时指定域名,方便测试
+			//domain = "https://bladex.cn";
+			info(domain).then(res => {
+				const data = res.data
+				if (data.success && data.data.tenantId) {
+					this.form.tenantId = data.data.tenantId
+					this.tenantMode = false
+				}
+			})
+		},
+	},
+}
 </script>

--
Gitblit v1.9.3