1234567891011121314151617181920212223242526272829303132333435363738 |
- /**
- * Pinia Persist Plugin
- * Pinia 持久化插件
- * @link https://prazdevs.github.io/pinia-plugin-persistedstate/zh/guide/
- *
- */
- import type { Pinia } from 'pinia';
- import { createPersistedState } from 'pinia-plugin-persistedstate';
- import type { PersistedStateFactoryOptions } from 'pinia-plugin-persistedstate';
- import { getCommonStoragePrefix } from '@/utils/env';
- export const PERSIST_KEY_PREFIX = getCommonStoragePrefix();
- // TODO customSerializer
- /**
- * Register Pinia Persist Plugin
- * 注册 Pinia 持久化插件
- *
- * @param pinia Pinia instance Pinia 实例
- */
- export function registerPiniaPersistPlugin(pinia: Pinia) {
- pinia.use(createPersistedState(createPersistedStateOptions(PERSIST_KEY_PREFIX)));
- }
- /**
- * Create Persisted State Options
- * 创建持久化状态选项
- *
- * @param keyPrefix prefix for storage key 储存键前缀
- * @returns persisted state factory options
- */
- export function createPersistedStateOptions(keyPrefix: string): PersistedStateFactoryOptions {
- return {
- storage: localStorage,
- key: (id) => `${keyPrefix}__${id}`,
- };
- }
|