feat(登录): 添加token验证登录功能并优化优秀录音获取

在登录页面添加token验证登录功能,支持通过路由参数自动登录
将secondTop页面的getGoodRecord函数重命名为CentergetGoodRecord并暂时注释调用
This commit is contained in:
2025-08-27 17:16:41 +08:00
parent 865ee46334
commit 41eeb55815
2 changed files with 49 additions and 4 deletions

View File

@@ -260,12 +260,15 @@
</template>
<script setup>
import { ref } from 'vue'
import { useRouter } from 'vue-router'
import { ref, onMounted } from 'vue'
import { useRouter, useRoute } from 'vue-router'
import http from '@/utils/https'
import { useUserStore } from '@/stores/user'
const router = useRouter()
const route = useRoute()
const userStore = useUserStore()
// 响应式数据
@@ -394,6 +397,7 @@ const handleLogin = async () => {
try {
// 调用登录API
// token检测
const response = await http.post('/api/v1/login', {
username: loginForm.value.username,
password: loginForm.value.password
@@ -546,6 +550,47 @@ const handleSetSecurity = async () => {
const cancelSecuritySetup = () => {
alert('首次登录必须设置密保问题')
}
// Token验证登录函数
const handleTokenLogin = async (token) => {
loading.value = true
errorMessage.value = ''
try {
// 使用token进行验证登录
const response = await http.post('/api/v1/token_login', {
token: token
})
if (response.code === 200 || response.success) {
// 保存登录响应数据
loginResponseData = response
// 使用Pinia存储用户信息和token
if (response && response.token) {
userStore.login(response.token, response.name, response.user_level, response.department, response.department_id)
}
// 检查用户是否重名
await checkUserDuplicate()
} else {
errorMessage.value = response.message || 'Token验证失败'
}
} catch (error) {
errorMessage.value = error.message || 'Token验证失败请重试'
} finally {
loading.value = false
}
}
// 组件挂载时检查路由参数中的token
onMounted(() => {
const token = route.query.token
if (token) {
// 如果路由参数中有token直接进行token验证登录
handleTokenLogin(token)
}
})
</script>
<style scoped>

View File

@@ -826,7 +826,7 @@ const conversionRateVsAverage = ref({})
// 获取优秀录音
const excellentRecord = ref({});
// 获取优秀录音文件
async function getGoodRecord() {
async function CentergetGoodRecord() {
const params = getRequestParams()
const params1 = {
user_level:userStore.userInfo.user_level.toString(),
@@ -916,7 +916,7 @@ const excellentRecord = ref({});
await CenterUrgentNeedToAddress()
await CenterConversionRateVsAverage()
await CenterSeniorManagerList()
await getGoodRecord()
// await CentergetGoodRecord()
await CenterGroupList('all')
console.log('[强制刷新] 所有数据已重新加载')