fix: 扫码登录问题

master
qier222 3 years ago
parent cc914d4799
commit eb94aae801
No known key found for this signature in database
GPG Key ID: 9C85007ED905F14D

@ -2,27 +2,33 @@ import Cookies from 'js-cookie';
import { logout } from '@/api/auth'; import { logout } from '@/api/auth';
import store from '@/store'; import store from '@/store';
export function doLogout() { export function setCookies(string) {
logout(); const cookies = string.split(';;');
// 网易云的接口会自动移除该 cookies cookies.map(cookie => {
Cookies.remove('MUSIC_U'); document.cookie = cookie;
// 更新状态仓库中的用户信息 const cookieKeyValue = cookie.split(';')[0].split('=');
store.commit('updateData', { key: 'user', value: {} }); localStorage.setItem(`cookie-${cookieKeyValue[0]}`, cookieKeyValue[1]);
// 更新状态仓库中的登录状态 });
store.commit('updateData', { key: 'loginMode', value: null }); }
// 更新状态仓库中的喜欢列表
store.commit('updateData', { key: 'likedSongPlaylistID', value: undefined }); export function getCookie(key) {
return Cookies.get(key) ?? localStorage.getItem(`cookie-${key}`);
}
export function removeCookie(key) {
Cookies.remove(key);
localStorage.removeItem(`cookie-${key}`);
} }
// MUSIC_U 只有在账户登录的情况下才有 // MUSIC_U 只有在账户登录的情况下才有
export function isLoggedIn() { export function isLoggedIn() {
return Cookies.get('MUSIC_U') !== undefined ? true : false; return getCookie('MUSIC_U') !== undefined;
} }
// 账号登录 // 账号登录
export function isAccountLoggedIn() { export function isAccountLoggedIn() {
return ( return (
Cookies.get('MUSIC_U') !== undefined && getCookie('MUSIC_U') !== undefined &&
store.state.data.loginMode === 'account' store.state.data.loginMode === 'account'
); );
} }
@ -37,25 +43,14 @@ export function isLooseLoggedIn() {
return isAccountLoggedIn() || isUsernameLoggedIn(); return isAccountLoggedIn() || isUsernameLoggedIn();
} }
export function getMusicU(string) { export function doLogout() {
const temp = string.split(';'); logout();
if (!temp.length) { removeCookie('MUSIC_U');
return undefined; removeCookie('__csrf');
} // 更新状态仓库中的用户信息
const MUSIC_U = temp.find(item => item.includes('MUSIC_U')); store.commit('updateData', { key: 'user', value: {} });
if (MUSIC_U) { // 更新状态仓库中的登录状态
return MUSIC_U.split('=')[1]; store.commit('updateData', { key: 'loginMode', value: null });
} // 更新状态仓库中的喜欢列表
return ''; store.commit('updateData', { key: 'likedSongPlaylistID', value: undefined });
}
export function setMusicU(key, value) {
return Cookies.set(key, value);
}
export function setCookies(string) {
const cookies = string.split(';;');
cookies.map(cookie => {
document.cookie = cookie;
});
} }

@ -1,5 +1,5 @@
import axios from 'axios'; import axios from 'axios';
import Cookies from 'js-cookie'; import { getCookie } from '@/utils/auth';
let baseURL = ''; let baseURL = '';
// Web 和 Electron 跑在不同端口避免同时启动时冲突 // Web 和 Electron 跑在不同端口避免同时启动时冲突
@ -22,10 +22,10 @@ const service = axios.create({
service.interceptors.request.use(function (config) { service.interceptors.request.use(function (config) {
if (!config.params) config.params = {}; if (!config.params) config.params = {};
if (baseURL[0] !== '/' && !process.env.IS_ELECTRON) { if (baseURL[0] !== '/' && !process.env.IS_ELECTRON) {
config.params.cookie = `MUSIC_U=${Cookies.get('MUSIC_U')};`; config.params.cookie = `MUSIC_U=${getCookie('MUSIC_U')};`;
} }
if (!process.env.IS_ELECTRON) { if (!process.env.IS_ELECTRON && !config.url.includes('/login')) {
config.params.realIP = '211.161.244.70'; config.params.realIP = '211.161.244.70';
} }

@ -271,7 +271,7 @@ export default {
clearInterval(this.qrCodeCheckInterval); clearInterval(this.qrCodeCheckInterval);
this.qrCodeInformation = '登录成功,请稍等...'; this.qrCodeInformation = '登录成功,请稍等...';
result.code = 200; result.code = 200;
result.cookie = result.cookie.replace('HTTPOnly;', ''); result.cookie = result.cookie.replace('HTTPOnly', '');
this.handleLoginResponse(result); this.handleLoginResponse(result);
} }
}); });

Loading…
Cancel
Save