useStore 数据缓存
集合了 app、user、dict 三种数据
import { useStore } from "/@/cool";
const { app, user, dict } = useStore();
app
| 名称 | 说明 | 类型 |
|---|---|---|
| info | 应用信息 | object |
| version | 版本信息 | object |
| checkVersion | 检测版本(APP) | function() |
| getVersion | 获取版本号(APP) | function() |
user
| 名称 | 说明 | 类型 |
|---|---|---|
| token | 标识 | string |
| setToken | 设置标识 | function({ accessToken, accessTokenExpires, refreshToken, refreshTokenExpires }) |
| refreshToken | 刷新标识 | function() |
| info | 用户信息 | User |
| get | 获取用户信息 | function() |
| set | 设置用户信息 | function(data: User) |
| update | 更新用户信息 | function(data: User) |
| clear | 清空用户、token | function() |
| logout | 退出登陆 | function() |
dict
| 名称 | 说明 | 类型 |
|---|---|---|
| data | 字典数据 | object |
| get | 获取指定类型的数据 | function(name: string, value?: any) |
| getSync | 同步获取指定类型的数据 | function(name: string, value?: any) |
| refresh | 获取数据列表 | function(types: string[] / string) |
示例
返回指定类型的数据列表
const { dict } = useStore();
console.log(dict.get("brand"));
// 返回值为一个数组
[
{
label: "COOL",
value: 1
},
{
label: "闪酷",
value: 2
}
];
返回指定类型的数据文本 label
const { dict } = useStore();
console.log(dict.get("brand", 1));
// 返回值为一个字符串
COOL;
WARNING
程序进入的时候会调用 dict.refresh() 获取所有字典数据。因为是异步的获取,受请求快慢的影响,所以部分场景下使用 getSync 来解决
const { dict } = useStore();
onMounted(async () => {
const brand = await dict.getSync("brand", 1);
});

