YesPlayMusic/src/utils/auth.js

62 lines
1.6 KiB
JavaScript

import Cookies from "js-cookie";
import { logout } from "@/api/auth";
import store from "@/store";
export function doLogout() {
logout();
// 网易云的接口会自动移除该 cookies
// Cookies.remove("MUSIC_U");
// 更新状态仓库中的用户信息
store.commit("updateData", { key: "user", value: {} });
// 更新状态仓库中的登录状态
store.commit("updateData", { key: "loginMode", value: null });
// 更新状态仓库中的喜欢列表
store.commit("updateData", { key: "likedSongPlaylistID", value: undefined });
}
// MUSIC_U 只有在账户登录的情况下才有
export function isLoggedIn() {
return Cookies.get("MUSIC_U") !== undefined ? true : false;
}
// 账号登录
export function isAccountLoggedIn() {
return (
Cookies.get("MUSIC_U") !== undefined &&
store.state.data.loginMode === "account"
);
}
// 用户名搜索(用户数据为只读)
export function isUsernameLoggedIn() {
return store.state.data.loginMode === "username";
}
// 账户登录或者用户名搜索都判断为登录,宽松检查
export function isLooseLoggedIn() {
return isAccountLoggedIn() || isUsernameLoggedIn();
}
export function getMusicU(string) {
const temp = string.split(";");
if (!temp.length) {
return undefined;
}
const MUSIC_U = temp.find((item) => item.includes("MUSIC_U"));
if (MUSIC_U) {
return MUSIC_U.split("=")[1];
}
return "";
}
export function setMusicU(key, value) {
return Cookies.set(key, value);
}
export function setCookies(string) {
const cookies = string.split(";;");
cookies.map((cookie) => {
document.cookie = cookie;
console.log(cookie);
});
}