111
This commit is contained in:
@@ -91,9 +91,6 @@ src/
|
||||
│ ├── im.ts # IM相关类型(IMessage、ISession等)
|
||||
│ ├── api.ts # API服务相关类型(请求参数、响应体等)
|
||||
│ └── common.ts # 通用类型(分页、响应体等)
|
||||
├── utils/ # 底层基础工具函数(无业务逻辑,纯原子方法)
|
||||
│ ├── base64.ts # 基础Base64工具(备用,优先用EXTEND工具)
|
||||
│ └── regex.ts # 正则校验工具(备用,优先用EXTEND工具)
|
||||
└── server/ # Nuxt服务端逻辑(SSR接口、中间件等)
|
||||
├── api/ # 服务端接口
|
||||
└── middleware/ # 服务端中间件(权限校验等)
|
||||
@@ -145,10 +142,7 @@ src/
|
||||
|
||||
```bash
|
||||
# 安装Pinia及Nuxt适配模块
|
||||
npm install pinia @pinia/nuxt
|
||||
|
||||
# 安装持久化插件(用于登录态等核心状态兜底)
|
||||
npm install @pinia-plugin-persistedstate/nuxt
|
||||
npm install pinia @pinia/nuxt pinia-plugin-persistedstate
|
||||
```
|
||||
|
||||
在`nuxt.config.ts`中配置,启用Pinia、自动导入Stores、Composables、EXTEND工具、API服务:
|
||||
@@ -158,7 +152,7 @@ export default defineNuxtConfig({
|
||||
srcDir: 'src/', // 指定源码目录
|
||||
modules: [
|
||||
'@pinia/nuxt', // Pinia Nuxt适配模块
|
||||
'@pinia-plugin-persistedstate/nuxt' // 持久化插件
|
||||
'pinia-plugin-persistedstate/nuxt' // 持久化插件
|
||||
],
|
||||
imports: {
|
||||
dirs: [
|
||||
@@ -217,16 +211,11 @@ export const useUserStore = defineStore('user', {
|
||||
}
|
||||
},
|
||||
|
||||
// 4. 本地持久化配置:仅缓存核心状态,刷新页面不丢失,避免大量数据存储
|
||||
// 4. 本地持久化配置:使用 pinia-plugin-persistedstate 插件
|
||||
// 仅缓存核心状态,刷新页面不丢失,避免大量数据存储
|
||||
persist: {
|
||||
enabled: true, // 开启持久化
|
||||
strategies: [
|
||||
{
|
||||
key: 'user-auth-store', // 本地存储key,避免与其他存储冲突
|
||||
storage: localStorage, // 存储介质(localStorage,前端本地持久化)
|
||||
paths: ['token', 'userInfo'] // 仅持久化指定字段,减少存储开销
|
||||
}
|
||||
]
|
||||
storage: piniaPluginPersistedstate.localStorage(),
|
||||
pick: ['token', 'userInfo'] // 仅持久化指定字段,减少存储开销
|
||||
}
|
||||
})
|
||||
```
|
||||
@@ -665,7 +654,7 @@ npm run preview
|
||||
|---|---|
|
||||
|pinia|全局状态管理核心库|
|
||||
|@pinia/nuxt|Pinia适配Nuxt4的模块,支持自动导入|
|
||||
|@pinia-plugin-persistedstate/nuxt|Pinia持久化插件,实现状态本地备份|
|
||||
|pinia-plugin-persistedstate|Pinia持久化插件,支持Nuxt模块化集成,SSR友好|
|
||||
|ofetch|网络请求工具,统一封装请求逻辑(RequestEXTEND基础)|
|
||||
|axios|备选网络请求工具,可根据需求替换ofetch|
|
||||
|scss|样式预处理器,支持模块化样式|
|
||||
|
||||
Reference in New Issue
Block a user