• qd01's avatar
    1 · 8c588b34
    qd01 authored
    8c588b34
prose.ts 1.09 KB
import { defineStore } from 'pinia';

export const useProseStore = defineStore(
  'prose',
  () => {
    const prose = ref<string>('');

    function initProse(val: string) {
      prose.value = val; // 初始化用户数据
      if (process.client) {
        localStorage.setItem('userData', val); // 存储到 localStorage
      }
    }

    function clearProse() {
      prose.value = '';
      if (process.client) {
        localStorage.removeItem('userData'); // 清空 localStorage
      }
    }

    function getProseData() {
      if (process.client) {
        return prose.value || JSON.parse(localStorage.getItem('userData') || '{}'); // 从 localStorage 获取用户数据
      }
      return {}; // 服务器端返回空对象
    }

    const loadProseFromStorage = () => {
      if (process.client) {
        const storedData = localStorage.getItem('userData');
        if (storedData) {
          prose.value = storedData; // 初始化
        }
      }
    };

    loadProseFromStorage(); // 加载数据

    return {
      prose,
      initProse,
      clearProse,
      getProseData,
    };
  },
);