Merge branch 'Breach' of https://git.yinlihupo.cn/LiuRui/DJKB into Breach
This commit is contained in:
@@ -552,12 +552,25 @@ const cancelSecuritySetup = () => {
|
||||
}
|
||||
|
||||
// Token验证登录函数
|
||||
const handleTokenLogin = async (token) => {
|
||||
const handleTokenLogin = async (token, username = null, userLevel = null) => {
|
||||
loading.value = true
|
||||
errorMessage.value = ''
|
||||
|
||||
try {
|
||||
// 使用token进行验证登录
|
||||
// 如果URL中包含用户信息,直接使用(跳过API验证)
|
||||
if (username && userLevel) {
|
||||
// 解码用户名
|
||||
const decodedUsername = decodeURIComponent(username)
|
||||
|
||||
// 直接设置用户信息到store
|
||||
userStore.login(token, decodedUsername, parseInt(userLevel), '', '')
|
||||
|
||||
// 根据用户等级跳转到对应页面
|
||||
navigateToUserPage(parseInt(userLevel))
|
||||
return
|
||||
}
|
||||
|
||||
// 使用token进行API验证登录
|
||||
const response = await http.post('/api/v1/token_login', {
|
||||
token: token
|
||||
})
|
||||
@@ -586,9 +599,13 @@ const handleTokenLogin = async (token) => {
|
||||
// 组件挂载时检查路由参数中的token
|
||||
onMounted(() => {
|
||||
const token = route.query.token
|
||||
const username = route.query.username
|
||||
const userLevel = route.query.level
|
||||
|
||||
if (token) {
|
||||
// 如果路由参数中有token,直接进行token验证登录
|
||||
handleTokenLogin(token)
|
||||
// 如果路由参数中有token,进行token验证登录
|
||||
// 如果同时有用户信息,直接使用;否则通过API验证
|
||||
handleTokenLogin(token, username, userLevel)
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user