hookehuyr

fix: 移除axios拦截器中硬编码的desk_calendar认证头

移除axios请求拦截器中为desk_calendar接口强制设置的硬编码User-Id和User-Token
在登录逻辑中添加认证头设置功能,从登录响应中获取并设置User-Id和User-Token
......@@ -2,7 +2,7 @@
* @Author: hookehuyr hookehuyr@gmail.com
* @Date: 2022-05-28 10:17:40
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2025-12-25 09:56:58
* @LastEditTime: 2025-12-26 14:09:39
* @FilePath: /mlaj/src/utils/axios.js
* @Description:
*/
......@@ -53,12 +53,6 @@ axios.interceptors.request.use(
config.headers['User-Token'] = user_info.HTTP_USER_TOKEN;
}
// NOTE: 特殊处理 a=desk_calendar 接口, 强制使用指定的 User-Id 和 User-Token
if ((config.params && config.params.a === 'desk_calendar') || (config.url && config.url.includes('a=desk_calendar'))) {
config.headers['User-Id'] = '1033954';
config.headers['User-Token'] = 'WN2BD9XQ7CRSVQ92FMB62V9C9OHHRBL38L2NS4GJ#1033954#50';
}
// const url_params = parseQueryString(location.href);
// GET请求默认打上时间戳,避免从缓存中拿数据。
const timestamp = config.method === 'get' ? (new Date()).valueOf() : '';
......
......@@ -88,6 +88,8 @@ import { ref, computed, onMounted } from 'vue'
import { useRouter, useRoute } from 'vue-router'
import { showToast } from 'vant'
import { useTitle } from '@vueuse/core'
import { setAuthHeaders } from "@/utils/axios";
// 导入接口
import { smsAPI } from '@/api/common'
import { loginAPI, userInfoAPI } from '@/api/recall_users'
......@@ -178,6 +180,14 @@ const handleLogin = async () => {
try {
const res = await loginAPI({ mobile: phone.value, sms_code: code.value })
if (res.code) {
// 获取data里面的 user_id, HTTP_USER_TOKEN, 并设置到后面所有的请求头里面,headers.User-Id, headers.User-Token
const { user_id, HTTP_USER_TOKEN } = res?.data?.user_info || {};
if (user_id && HTTP_USER_TOKEN) {
// 设置认证请求头
setAuthHeaders(user_id, HTTP_USER_TOKEN);
// 缓存user_info
localStorage.setItem('user_info', JSON.stringify(res?.data?.user_info || {}));
}
const userInfo = await userInfoAPI()
// 登录之后需要判断是否有完善个人信息
if (userInfo.code) {
......