bug fixed
parent
f900b63583
commit
51b8bbafe4
|
|
@ -129,6 +129,7 @@ export default {
|
||||||
// 1. 通过 URL 参数获取 source 参数
|
// 1. 通过 URL 参数获取 source 参数
|
||||||
const urlParams = new URLSearchParams(window.location.search);
|
const urlParams = new URLSearchParams(window.location.search);
|
||||||
const sourceParam = urlParams.get('source'); // 提取 ?source=xxx
|
const sourceParam = urlParams.get('source'); // 提取 ?source=xxx
|
||||||
|
|
||||||
if (sourceParam) {
|
if (sourceParam) {
|
||||||
console.log('来源参数:', sourceParam);
|
console.log('来源参数:', sourceParam);
|
||||||
try {
|
try {
|
||||||
|
|
@ -136,17 +137,34 @@ export default {
|
||||||
const url = new URL(decodeURIComponent(sourceParam));
|
const url = new URL(decodeURIComponent(sourceParam));
|
||||||
refererUrl = url.origin; // 只取域名部分
|
refererUrl = url.origin; // 只取域名部分
|
||||||
console.log('最终来源 URL:', refererUrl);
|
console.log('最终来源 URL:', refererUrl);
|
||||||
|
|
||||||
|
// 存储来源到 Cookie
|
||||||
|
document.cookie = `referer=${encodeURIComponent(refererUrl)}; path=/; secure`;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('解析来源参数时出错:', error);
|
console.error('解析来源参数时出错:', error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 2. 如果 URL 参数未提供来源信息,尝试使用 document.referrer 作为备选
|
// 2. 如果 URL 参数未提供来源信息,尝试从 Cookie 获取
|
||||||
|
if (!refererUrl) {
|
||||||
|
const cookies = document.cookie.split('; ').reduce((acc, cookie) => {
|
||||||
|
const [key, value] = cookie.split('=');
|
||||||
|
acc[key] = value;
|
||||||
|
return acc;
|
||||||
|
}, {});
|
||||||
|
refererUrl = cookies.referer ? decodeURIComponent(cookies.referer) : null;
|
||||||
|
if (refererUrl) {
|
||||||
|
console.log('从 Cookie 中获取来源:', refererUrl);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 3. 如果仍然没有来源信息,尝试使用 document.referrer 作为备选
|
||||||
if (!refererUrl) {
|
if (!refererUrl) {
|
||||||
refererUrl = document.referrer || null;
|
refererUrl = document.referrer || null;
|
||||||
console.log('通过 document.referrer 获取来源:', refererUrl);
|
console.log('通过 document.referrer 获取来源:', refererUrl);
|
||||||
}
|
}
|
||||||
// 3. 如果仍然没有来源信息,处理开发环境的默认值
|
|
||||||
|
// 4. 如果仍然没有来源信息,处理开发环境的默认值
|
||||||
if (!refererUrl) {
|
if (!refererUrl) {
|
||||||
if (process.env.NODE_ENV === 'development') {
|
if (process.env.NODE_ENV === 'development') {
|
||||||
refererUrl = 'https://www.ycymedu.com'; // 开发环境默认值
|
refererUrl = 'https://www.ycymedu.com'; // 开发环境默认值
|
||||||
|
|
@ -157,10 +175,10 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 4. 返回最终的来源 URL
|
// 5. 返回最终的来源 URL,并赋值给响应式变量 referer.value
|
||||||
referer.value= refererUrl;
|
referer.value = refererUrl;
|
||||||
|
//return refererUrl;
|
||||||
};
|
};
|
||||||
|
|
||||||
const initsignalRConnection = () => {
|
const initsignalRConnection = () => {
|
||||||
|
|
||||||
// 3. Initialize SignalR client
|
// 3. Initialize SignalR client
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue