Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
有来技术
vue3-element-admin
提交
fe494855
V
vue3-element-admin
项目概览
有来技术
/
vue3-element-admin
通知
2
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vue3-element-admin
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
fe494855
编写于
12月 18, 2022
作者:
H
haoxr
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
refactor: pinia setup store组合式函数写法
Former-commit-id:
03faa489
上级
4c674fab
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
16 addition
and
14 deletion
+16
-14
src/api/dict/index.ts
src/api/dict/index.ts
+1
-3
src/permission.ts
src/permission.ts
+15
-11
未找到文件。
src/api/dict/index.ts
浏览文件 @
fe494855
...
...
@@ -78,9 +78,7 @@ export function deleteDictTypes(ids: string) {
*
* @param typeCode 字典类型编码
*/
export
function
listDictItemsByTypeCode
(
typeCode
:
string
):
AxiosPromise
<
OptionType
[]
>
{
export
function
getDictionaries
(
typeCode
:
string
):
AxiosPromise
<
OptionType
[]
>
{
return
request
({
url
:
'
/api/v1/dict/types/
'
+
typeCode
+
'
/items
'
,
method
:
'
get
'
...
...
src/permission.ts
浏览文件 @
fe494855
import
router
from
'
@/router
'
;
import
useStore
from
'
@/store
'
;
import
{
RouteRecordRaw
}
from
'
vue-router
'
;
import
{
useUserStoreHook
}
from
'
@/store/modules/user
'
;
import
{
usePermissionStoreHook
}
from
'
@/store/modules/permission
'
;
import
NProgress
from
'
nprogress
'
;
import
'
nprogress/nprogress.css
'
;
NProgress
.
configure
({
showSpinner
:
false
});
// 进度环显示/隐藏
NProgress
.
configure
({
showSpinner
:
false
});
// 进度条
const
permissionStore
=
usePermissionStoreHook
();
// 白名单路由
const
whiteList
=
[
'
/login
'
];
router
.
beforeEach
(
async
(
to
,
from
,
next
)
=>
{
NProgress
.
start
();
const
{
user
,
permission
}
=
useStore
();
const
hasToken
=
user
.
token
;
if
(
hasToken
)
{
const
userStore
=
useUserStoreHook
();
if
(
userStore
.
token
)
{
// 登录成功,跳转到首页
if
(
to
.
path
===
'
/login
'
)
{
next
({
path
:
'
/
'
});
NProgress
.
done
();
}
else
{
const
hasGetUserInfo
=
user
.
roles
.
length
>
0
;
const
hasGetUserInfo
=
user
Store
.
roles
.
length
>
0
;
if
(
hasGetUserInfo
)
{
if
(
to
.
matched
.
length
===
0
)
{
from
.
name
?
next
({
name
:
from
.
name
as
any
})
:
next
(
'
/401
'
);
...
...
@@ -26,23 +30,23 @@ router.beforeEach(async (to, from, next) => {
}
}
else
{
try
{
await
user
.
getUser
Info
();
const
roles
=
user
.
roles
;
const
accessRoutes
:
any
=
await
permission
.
generateRoutes
(
roles
);
const
{
roles
}
=
await
userStore
.
get
Info
();
const
accessRoutes
:
RouteRecordRaw
[]
=
await
permissionStore
.
generateRoutes
(
roles
);
accessRoutes
.
forEach
((
route
:
any
)
=>
{
router
.
addRoute
(
route
);
});
next
({
...
to
,
replace
:
true
});
}
catch
(
error
)
{
// 移除 token 并跳转登录页
await
user
.
resetToken
();
await
user
Store
.
resetToken
();
next
(
`/login?redirect=
${
to
.
path
}
`
);
NProgress
.
done
();
}
}
}
}
else
{
// 未登录可以访问白名单页面
(登录页面)
// 未登录可以访问白名单页面
if
(
whiteList
.
indexOf
(
to
.
path
)
!==
-
1
)
{
next
();
}
else
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录