Files
Yi.Admin/Yi.Bbs.Vue3/src/views/Auth/index.vue

50 lines
1.3 KiB
Vue
Raw Normal View History

2024-01-07 00:27:44 +08:00
<template>
<div class="message">{{ message }}</div>
</template>
<script setup>
2024-01-08 23:18:40 +08:00
import { ref, watch } from "vue";
2024-01-07 00:27:44 +08:00
import { useRoute } from "vue-router";
import { authOtherLogin, authOtherBind } from "@/apis/auth.js";
2024-01-07 00:27:44 +08:00
const route = useRoute();
const code = ref(route.query.code);
2024-01-08 23:11:07 +08:00
const type = ref(route.query.state);
2024-01-07 00:27:44 +08:00
const message = ref("");
watch(
() => code.value,
async (val) => {
2024-01-07 00:27:44 +08:00
if (val) {
// 使用正则表达式提取路由参数
const regex = /\/auth\/([\w-]+)[?]?/;
const result = regex.exec(route.fullPath);
const authParam = result != null ? result[1].toUpperCase() : null;
2024-01-08 23:11:07 +08:00
if (type.value === 0) {
const res = await authOtherLogin({ code: val }, authParam);
2024-01-08 23:18:40 +08:00
message.value = res;
2024-01-08 23:11:07 +08:00
console.log(res, "type.value === 0");
} else if (type.value === 1) {
const res = await authOtherBind({ code: val }, authParam);
2024-01-08 23:18:40 +08:00
message.value = res;
2024-01-08 23:11:07 +08:00
console.log(res, "type.value === 1");
}
2024-01-08 23:18:40 +08:00
// message.value = "授权成功";
// window.close();
2024-01-07 00:27:44 +08:00
}
},
{ immediate: true }
);
</script>
<style lang="scss">
.message {
width: 100%;
height: 100%;
display: flex;
justify-content: center;
font-size: 20px;
}
</style>