Pinia是什么
为什么选择Pinia
与Vuex对比
核心概念
创建Vue3项目
安装Pinia
注册Pinia
项目结构规划
选项式 vs 组合式
创建counter Store
组件中使用Store
定义State
访问/重置State
$patch批量修改
响应式解构
定义/访问Getters
Getters传参
访问其他Getters
缓存特性
同步/异步Actions
调用其他Actions
返回结果
父传子/子传父
兄弟共享State
跨层级通信
Provide/Inject+Pinia
拆分Store文件
命名规范
模块间相互调用
大型项目组织策略
Pinia插件介绍
编写第一个插件
插件生命周期
持久化/日志
localStorage手动
pinia-plugin-persistedstate
加密存储
选择性持久化
为Store定义类型
State/Getters类型推导
Actions类型
组件类型安全
setup Store写法
ref/reactive
computed替代Getters
函数替代Actions
options Store
state/getters/actions
与Vuex迁移对比
StoreA调用StoreB
避免循环依赖
共享状态设计
事件总线替代
路由参数同步Store
路由守卫访问Store
页面权限控制
登录状态管理
Axios实例
请求/响应拦截器
Token管理
请求状态Store
用户信息Store
登录/登出逻辑
Token刷新
权限路由/持久化
商品列表Store
分页/搜索筛选
加载状态
缓存策略
购物车Store设计
添加/删除/修改数量
总价计算
本地同步
主题Store
CSS变量/暗黑模式
主题持久化
动态切换动画
i18n Store设计
语言切换
翻译文件管理
动态加载语言包
表单Store设计
验证/重置
多步骤表单
数据持久化
连接管理/消息Store
心跳检测/断线重连
实时数据更新
内存/locastorage/IndexedDB
缓存过期策略
与Store结合
全局错误捕获
错误状态Store
错误提示/日志
优雅降级
Store按需加载
组件级订阅
Shallow Ref
大型Store拆分
单元测试Store
模拟Pinia实例
测试Actions/Getters
组件与Store交互
Nuxt3集成Pinia
服务端渲染注意事项
状态水合/内存泄漏
SSR安全
微前端Store共享
qiankun集成
Module Federation
状态隔离/通信
电商后台管理系统
Store架构设计
API对接/部署上线
总结回顾