feat(登录): 添加token验证登录功能并优化优秀录音获取
在登录页面添加token验证登录功能,支持通过路由参数自动登录 将secondTop页面的getGoodRecord函数重命名为CentergetGoodRecord并暂时注释调用
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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('[强制刷新] 所有数据已重新加载')
|
||||
|
||||
Reference in New Issue
Block a user