123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- import { defineStore } from "pinia";
- const USER_INFO_KEY = "USER_INFO_KEY";
- const TOKEN_KEY = "TOKEN_KEY";
- export const useUserStore = defineStore("user", {
- state: () => ({
- userInfo: null,
- token: "",
- // lang: 'zh-CN',
- lang: "en-US",
- searchType: undefined,
- showLoginDialog: false,
- }),
- actions: {
- setUserInfo (userInfo: UserInfo | null) {
- this.userInfo = userInfo;
- let cookies = useCookie(USER_INFO_KEY);
- cookies.value = userInfo;
- setItem(USER_INFO_KEY, JSON.stringify(userInfo));
- },
- setToken (token: string) {
- this.token = token;
- let cookies = useCookie(TOKEN_KEY);
- cookies.value = token;
- setItem(TOKEN_KEY, token);
- },
- setLang (val: string) {
- this.lang = val;
- let cookies = useCookie("lang");
- cookies.value = val;
- setItem("lang", val);
- },
- resetState () {
- this.userInfo = null;
- this.token = "";
- removeItem(USER_INFO_KEY);
- removeItem(TOKEN_KEY);
- // removeItem("lang");
- removeItemCookie(USER_INFO_KEY);
- removeItemCookie(TOKEN_KEY);
- // removeItemCookie("lang");
- },
- setSearchType (val: string) {
- this.searchType = val;
- },
- setShowLoginDialog (bol: boolean) {
- this.showLoginDialog = bol;
- },
- },
- getters: {
- getUserInfo: (state) => {
- console.log('storage', getItem(USER_INFO_KEY))
- return state.userInfo || getItem(USER_INFO_KEY) || null
- },
- getToken: (state) => getItemCookie(TOKEN_KEY) || state.token || "",
- getLang: (state) => getItemCookie("lang") || state.lang || "",
- getSearchType: (state) => state.searchType || "",
- getShowLoginDialog: (state) => state.showLoginDialog || false,
- },
- // persist: {
- // storage: {
- // getItem: (key) => {
- // // if (process.client) {
- // // return localStorage.getItem(key)
- // // }
- // return useCookie(key).value;
- // },
- // setItem: (key, value) => {
- // // if (process.client) {
- // // localStorage.setItem(key, value)
- // // }
- // let cookies = useCookie(key);
- // cookies.value = value;
- // },
- // removeItem: (key) => {
- // let cookies = useCookie(key);
- // cookies.value = undefined || null;
- // },
- // },
- // },
- });
- const getItem = (key: string) => {
- return useCookie(key).value;
- };
- const setItem = (key: string, value: any) => {
- let cookies = useCookie(key);
- cookies.value = value;
- };
- const removeItem = (key: string) => {
- let cookies = useCookie(key);
- cookies.value = null;
- };
- const removeItemCookie = (key: string) => {
- let cookies = useCookie(key);
- cookies.value = null;
- };
- const getItemCookie = (key: string) => {
- let cookies = useCookie(key);
- return cookies.value;
- };
|