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);
});