# vue3 + pinia + unocss
## 统一使用pnpm来install
## pinia
pinia配置persist,会使用持久化保存(uniStorage)
```ts
import { defineStore } from 'pinia'
function store() {
const username = ref('')
const token = ref('')
function setToken(value: string) {
token.value = value
}
return {
username,
token,
setToken,
}
}
export const useUserStore = defineStore('user', store, {
persist: {
enabled: true,
},
})
```
## unocss
[类名查询](https://unocss.dev/interactive/?s=background)
[icon方案](https://antfu.me/posts/icons-in-pure-css-zh)
默认使用[mdi](https://icones.js.org/collection/mdi)图标
```ts
// 图标大小由font-size决定
// mdi图标使用
// 自定义图标使用
```
## 自动导入
基于auto-imports插件自动导入了vue、uni、uni-mini-router的相关方法,组件内无需再次引入
## 提交规范
```JSON
feat:新增功能
fix:bug 修复
docs:文档更新
style:不影响程序逻辑的代码修改(修改空白字符,格式缩进,补全缺失的分号等,没有改变代码逻辑)
refactor:重构代码(既没有新增功能,也没有修复 bug)
perf:性能, 体验优化
test:新增测试用例或是更新现有测试
build:主要目的是修改项目构建系统(例如 glup,webpack,rollup 的配置等)的提交
ci:主要目的是修改项目继续集成流程(例如 Travis,Jenkins,GitLab CI,Circle等)的提交
chore:不属于以上类型的其他类,比如构建流程, 依赖管理构建过程或辅助工具的变动
revert:回滚某个更早之前的提交
```
## eslint
.vscode里的配置文件不要删,结合eslint-config + eslint-format + simple-git-hook 自动修复eslint问题和样式问题
## 一键发布
```mjs
npm run mini
? 请选择以下小程序 (Use arrow keys)
❯ 测试
版本号为:1.0.1 (1.0.1)
...
上传成功
```