| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <template>
- <div class="login_background">
- <div class="login_background_front"></div>
- <div class="login_main">
- <div class="login-form">
- <a-card>
- <div class="login-header">
- <h2>三方登录</h2>
- </div>
- <a-spin tip="正在登录中...">
- <div class="h-[300px]">
- <a-skeleton />
- </div>
- </a-spin>
- </a-card>
- </div>
- </div>
- </div>
- </template>
- <script setup name="loginCallback">
- import { message } from 'ant-design-vue'
- import tool from '@/utils/tool'
- import router from '@/router'
- import thirdApi from '@/api/auth/thirdApi'
- import loginApi from '@/api/auth/loginApi'
- import userCenterApi from '@/api/sys/userCenterApi'
- import dictApi from '@/api/dev/dictApi'
- import { onMounted } from 'vue'
- onMounted(() => {
- // 获取当前url
- const url = new URL(window.location.href)
- let argLength = 0
- const params = {}
- url.searchParams.forEach((value, key) => {
- argLength += 1
- params[key] = value
- })
- // 当然了,不可能只有一个参数
- if (argLength < 2) {
- window.location.href = '/login'
- return
- }
- thirdApi
- .thirdCallback(params)
- .then((data) => {
- tool.data.set('TOKEN', data)
- // 获取登录的用户信息
- loginApi.getLoginUser().then((loginUser) => {
- tool.data.set('USER_INFO', loginUser)
- })
- userCenterApi.userLoginMenu().then((menu) => {
- const indexMenu = menu[0].children[0].path
- tool.data.set('MENU', menu)
- // 重置系统默认应用
- tool.data.set('SNOWY_MENU_MODULE_ID', menu[0].id)
- router.replace({
- path: indexMenu
- })
- message.success('登录成功')
- dictApi.dictTree().then((dictData) => {
- // 设置字典到store中
- tool.data.set('DICT_TYPE_TREE_DATA', dictData)
- })
- })
- })
- .catch(() => {
- window.location.href = '/login'
- })
- })
- </script>
- <style lang="less" scoped>
- @import 'login';
- </style>
|