- API 路由统一: 移除 /api/h5/,统一 /api/pms/ 入口 - 二进制改名: api-server -> pms-api(与服务名一致) - nginx: 合并 /api/ + /pms/api/ 为 /api/pms/ - 新增 docs/API.md 接口文档 - 后端: CabinetDetail 增加 rssi/pow_fail/address/soc 等字段 - Redis 管道批量读取仓体实时数据(SOC/电压/电流/功率) - DB: 所有 TIMESTAMP 列改为 DATETIME(修复类型不匹配) - 用户管理: 新增创建时间/修改时间列,状态改用 Switch - 角色管理/用户管理: 操作按钮改为图标 - PC 设备详情: 基本信息补全 RSSI/ICCID/电源/地址 - PC 卡片: 通道统计改用 Lucide 图标,颜色统一 - PC 二维码: canvas 渲染,含编号文字,支持右键下载 - H5: 按 uni-app 规范修正导航(navigateTo 替代 reLaunch) - H5: 详情页加返回导航条 - H5: 扫码支持摄像头(jsQR)+ ?id= 参数 - H5: 底部 tabBar 在所有页面常显 - H5: 首页统计改为 6 项(设备/通道/空闲/充电/充满/故障) - H5: 下拉刷新 / 上拉加载 - 产品首页: 添加业务联系 - 文档: 清理过时文件,补充缺失规范章节
55 lines
2.6 KiB
Markdown
55 lines
2.6 KiB
Markdown
---
|
|
description: "Pinia official Vue state management library, type-safe and extensible. Use when defining stores, working with state/getters/actions, or implementing store patterns in Vue apps."
|
|
metadata: {"author":"Anthony Fu","version":"2026.1.28","source":"Generated from https://github.com/vuejs/pinia, scripts located at https://github.com/antfu/skills"}
|
|
---
|
|
# Pinia
|
|
|
|
Pinia is the official state management library for Vue, designed to be intuitive and type-safe. It supports both Options API and Composition API styles, with first-class TypeScript support and devtools integration.
|
|
|
|
> The skill is based on Pinia v3.0.4, generated at 2026-01-28.
|
|
|
|
## Core References
|
|
|
|
| Topic | Description | Reference |
|
|
|-------|-------------|-----------|
|
|
| Stores | Defining stores, state, getters, actions, storeToRefs, subscriptions | [core-stores](references/core-stores.md) |
|
|
|
|
## Features
|
|
|
|
### Extensibility
|
|
|
|
| Topic | Description | Reference |
|
|
|-------|-------------|-----------|
|
|
| Plugins | Extend stores with custom properties, state, and behavior | [features-plugins](references/features-plugins.md) |
|
|
|
|
### Composability
|
|
|
|
| Topic | Description | Reference |
|
|
|-------|-------------|-----------|
|
|
| Composables | Using Vue composables within stores (VueUse, etc.) | [features-composables](references/features-composables.md) |
|
|
| Composing Stores | Store-to-store communication, avoiding circular dependencies | [features-composing-stores](references/features-composing-stores.md) |
|
|
|
|
## Best Practices
|
|
|
|
| Topic | Description | Reference |
|
|
|-------|-------------|-----------|
|
|
| Testing | Unit testing with @pinia/testing, mocking, stubbing | [best-practices-testing](references/best-practices-testing.md) |
|
|
| Outside Components | Using stores in navigation guards, plugins, middlewares | [best-practices-outside-component](references/best-practices-outside-component.md) |
|
|
|
|
## Advanced
|
|
|
|
| Topic | Description | Reference |
|
|
|-------|-------------|-----------|
|
|
| SSR | Server-side rendering, state hydration | [advanced-ssr](references/advanced-ssr.md) |
|
|
| Nuxt | Nuxt integration, auto-imports, SSR best practices | [advanced-nuxt](references/advanced-nuxt.md) |
|
|
| HMR | Hot module replacement for development | [advanced-hmr](references/advanced-hmr.md) |
|
|
|
|
## Key Recommendations
|
|
|
|
- **Prefer Setup Stores** for complex logic, composables, and watchers
|
|
- **Use `storeToRefs()`** when destructuring state/getters to preserve reactivity
|
|
- **Actions can be destructured directly** - they're bound to the store
|
|
- **Call stores inside functions** not at module scope, especially for SSR
|
|
- **Add HMR support** to each store for better development experience
|
|
- **Use `@pinia/testing`** for component tests with mocked stores
|