通用方法
大约 3 分钟
通用方法
注意
以下示例代码 this.$xxx
方法在 Vue3
中对应 proxy.$xxx
方法,其中 proxy 需要在script
标签中定义
const { proxy } = getCurrentInstance()
$tab 对象
$tab
对象用于做页签操作、刷新页签、关闭页签、打开页签、修改页签等,它定义在 plugins/tab.js 文件中,它有如下方法
- 打开页签
this.$tab.openPage("用户管理", "/system/user");
this.$tab.openPage("用户管理", "/system/user").then(() => {
// 执行结束的逻辑
});
- 修改页签
const obj = Object.assign({}, this.$route, { title: "自定义标题" });
this.$tab.updatePage(obj);
this.$tab.updatePage(obj).then(() => {
// 执行结束的逻辑
});
- 关闭页签
// 关闭当前tab页签,打开新页签
const obj = { path: "/system/user" };
this.$tab.closeOpenPage(obj);
// 关闭当前页签,回到首页
this.$tab.closePage();
// 关闭指定页签
const obj = { path: "/system/user", name: "User" };
this.$tab.closePage(obj);
this.$tab.closePage(obj).then(() => {
// 执行结束的逻辑
});
- 刷新页签
// 刷新当前页签
this.$tab.refreshPage();
// 刷新指定页签
const obj = { path: "/system/user", name: "User" };
this.$tab.refreshPage(obj);
this.$tab.refreshPage(obj).then(() => {
// 执行结束的逻辑
});
- 关闭所有页签
this.$tab.closeAllPage();
this.$tab.closeAllPage().then(() => {
// 执行结束的逻辑
});
- 关闭左侧页签
this.$tab.closeLeftPage();
const obj = { path: "/system/user", name: "User" };
this.$tab.closeLeftPage(obj);
this.$tab.closeLeftPage(obj).then(() => {
// 执行结束的逻辑
});
- 关闭右侧页签
this.$tab.closeRightPage();
const obj = { path: "/system/user", name: "User" };
this.$tab.closeRightPage(obj);
this.$tab.closeRightPage(obj).then(() => {
// 执行结束的逻辑
});
- 关闭其他 tab 页签
this.$tab.closeOtherPage();
const obj = { path: "/system/user", name: "User" };
this.$tab.closeOtherPage(obj);
this.$tab.closeOtherPage(obj).then(() => {
// 执行结束的逻辑
});
$modal 对象
$modal
对象用于做消息提示、通知提示、对话框提醒、二次确认、遮罩等,它定义在 plugins/modal.js
文件中,它有如下方法
- 提供成功、警告和错误等反馈信息
this.$modal.msg("默认反馈");
this.$modal.msgError("错误反馈");
this.$modal.msgSuccess("成功反馈");
this.$modal.msgWarning("警告反馈");
提示
其他使用看文件 plugins/modal.js
$auth 对象
$auth
对象用于验证用户是否拥有某(些)权限或角色,它定义在 plugins/auth.js 文件中,它有如下方法
- 验证用户权限
// 验证用户是否具备某权限
this.$auth.hasPermi("system:user:add");
// 验证用户是否含有指定权限,只需包含其中一个
this.$auth.hasPermiOr(["system:user:add", "system:user:update"]);
// 验证用户是否含有指定权限,必须全部拥有
this.$auth.hasPermiAnd(["system:user:add", "system:user:update"]);
$cache 对象
$cache
对象用于处理缓存。我们并不建议您直接使用sessionStorage
或localStorage
,因为项目的缓存策略可能发生变化,通过$cache
对象做一层调用代理则是一个不错的选择。$cache
提供 session
和 local
两种级别的缓存,如下:
对象名称 | 缓存对象 |
---|---|
session | 会话级缓存,通过 sessionStorage 实现 |
local | 本地级缓存,通过 localStorage 实现 |
- 示例
// local 普通值
this.$cache.local.set("key", "local value");
console.log(this.$cache.local.get("key")); // 输出'local value'
// session 普通值
this.$cache.session.set("key", "session value");
console.log(this.$cache.session.get("key")); // 输出'session value'
// local JSON值
this.$cache.local.setJSON("jsonKey", { localProp: 1 });
console.log(this.$cache.local.getJSON("jsonKey")); // 输出'{localProp: 1}'
// session JSON值
this.$cache.session.setJSON("jsonKey", { sessionProp: 1 });
console.log(this.$cache.session.getJSON("jsonKey")); // 输出'{sessionProp: 1}'
// 删除值
this.$cache.local.remove("key");
this.$cache.session.remove("key");
$download 对象
TODO 敬请期待