feat: 重新登录逻辑更改

This commit is contained in:
Gsh
2025-08-30 23:58:57 +08:00
parent 08084aa0bc
commit 8abd122773
4 changed files with 40 additions and 11 deletions

View File

@@ -5,8 +5,6 @@
"ComputedRef": true, "ComputedRef": true,
"DirectiveBinding": true, "DirectiveBinding": true,
"EffectScope": true, "EffectScope": true,
"ElMessage": true,
"ElMessageBox": true,
"ExtractDefaultPropTypes": true, "ExtractDefaultPropTypes": true,
"ExtractPropTypes": true, "ExtractPropTypes": true,
"ExtractPublicPropTypes": true, "ExtractPublicPropTypes": true,

View File

@@ -1,5 +1,5 @@
<script lang="ts" setup> <script lang="ts" setup>
import { ElMessageBox } from 'element-plus'; import { ElMessage, ElMessageBox } from 'element-plus';
import { ref, watch } from 'vue'; import { ref, watch } from 'vue';
import { useRouter } from 'vue-router'; import { useRouter } from 'vue-router';
import { getUserInfo } from '@/api'; import { getUserInfo } from '@/api';
@@ -60,6 +60,19 @@ function onAfterLeave() {
} }
} }
// 重新登录
async function onReLogin() {
// 在这里执行退出方法
await userStore.logout();
// 清空回话列表并回到默认页
await sessionStore.requestSessionList(1, true);
await sessionStore.createSessionBtn();
ElMessage({
type: 'success',
message: '退出成功',
});
await router.replace('/');
}
function handleThirdPartyLogin(type: any) { function handleThirdPartyLogin(type: any) {
const redirectUri = encodeURIComponent(`${window.location.origin}/chat`); const redirectUri = encodeURIComponent(`${window.location.origin}/chat`);
console.log('cccc', type); console.log('cccc', type);
@@ -321,16 +334,16 @@ function openContact() {
</div> </div>
<el-divider content-position="center"> <el-divider content-position="center">
<p class="w-max"> <p class="w-max">
开通Vip后点击下方重新登录意社区 开通Vip后点击下方重新登录以生效
</p> </p>
</el-divider> </el-divider>
<el-button <el-button
class="w-full" class="w-full"
type="primary" type="primary"
size="large" size="large"
@click="handleThirdPartyLogin(SSO_CLIENT_LOGIN_AGAIN)" @click="onReLogin()"
> >
意社区重新登录 重新登录
</el-button> </el-button>
<el-divider class="w-max"> <el-divider class="w-max">
<p class="w-max"> <p class="w-max">

View File

@@ -1,12 +1,19 @@
<script lang="ts" setup> <script lang="ts" setup>
import { Camera, Edit, SuccessFilled } from '@element-plus/icons-vue'; import { Camera, Edit, SuccessFilled } from '@element-plus/icons-vue';
import { format } from 'date-fns'; import { format } from 'date-fns';
import { computed, ref } from 'vue'; import { computed, onMounted, ref } from 'vue';
import { getUserInfo } from '@/api';
import QrCodeLogin from '@/components/LoginDialog/components/QrCodeLogin/index.vue'; import QrCodeLogin from '@/components/LoginDialog/components/QrCodeLogin/index.vue';
import { useUserStore } from '@/stores'; import { useUserStore } from '@/stores';
import { getUserProfilePicture, WECHAT_QRCODE_TYPE } from '@/utils/user.ts'; import { getUserProfilePicture, WECHAT_QRCODE_TYPE } from '@/utils/user.ts';
const userStore = useUserStore(); const userStore = useUserStore();
onMounted(async () => {
const resUserInfo = await getUserInfo();
userStore.setUserInfo(resUserInfo.data);
});
const user = computed(() => userStore.userInfo.user || {}); const user = computed(() => userStore.userInfo.user || {});
const wechatDialogVisible = ref(false); const wechatDialogVisible = ref(false);

View File

@@ -6,7 +6,6 @@ import { useRouter } from 'vue-router';
import { getUserInfo } from '@/api'; import { getUserInfo } from '@/api';
import { import {
SSO_CLIENT_LOGIN_AGAIN,
SSO_SEVER_URL, SSO_SEVER_URL,
} from '@/config/sso.ts'; } from '@/config/sso.ts';
@@ -50,6 +49,18 @@ function parseUrlParams() {
onMounted(() => { onMounted(() => {
parseUrlParams(); parseUrlParams();
}); });
async function onReLogin() {
// 在这里执行退出方法
await userStore.logout();
// 清空回话列表并回到默认页
await sessionStore.requestSessionList(1, true);
await sessionStore.createSessionBtn();
ElMessage({
type: 'success',
message: '退出成功',
});
await router.replace('/');
}
function handleThirdPartyLogin(type: any) { function handleThirdPartyLogin(type: any) {
const redirectUri = encodeURIComponent(`${window.location.origin}/chat`); const redirectUri = encodeURIComponent(`${window.location.origin}/chat`);
console.log('cccc', type); console.log('cccc', type);
@@ -184,7 +195,7 @@ function contactCustomerService() {
<!-- 重新登录提示 --> <!-- 重新登录提示 -->
<!-- 绿色背景 --> <!-- 绿色背景 -->
<div class="mb-4 text-gray-600 "> <div class="mb-4 text-gray-600 ">
开通 VIP 需要重新登录意社区生效<br> 开通 VIP 需要重新登录生效<br>
</div> </div>
<div v-if="false" class="order-info p-4 rounded-lg mb-4 bg-[#ffc406] mb-4 text-gray-600 "> <div v-if="false" class="order-info p-4 rounded-lg mb-4 bg-[#ffc406] mb-4 text-gray-600 ">
加入售后群获得更多专业支持 加入售后群获得更多专业支持
@@ -200,9 +211,9 @@ function contactCustomerService() {
class="w-full py-3 text-lg font-medium" class="w-full py-3 text-lg font-medium"
type="primary" type="primary"
size="large" size="large"
@click="handleThirdPartyLogin(SSO_CLIENT_LOGIN_AGAIN)" @click="onReLogin()"
> >
意社区重新登录 重新登录
</ElButton> </ElButton>
<ElButton <ElButton