Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
Springboot Plus
Commits
a2fa772b
Commit
a2fa772b
authored
Nov 29, 2021
by
trumansdo
Browse files
解释动态路由的原理
parent
143d37ee
Changes
3
Hide whitespace changes
Inline
Side-by-side
ve-admin/admin-web/src/permission.js
View file @
a2fa772b
/*
/*
* @Author: 一日看尽长安花
* @Author: 一日看尽长安花
* @since: 2019-09-04 20:55:14
* @since: 2019-09-04 20:55:14
* @LastEditTime: 202
0-06-07 14:12:42
* @LastEditTime: 202
1-11-28 22:34:16
* @LastEditors: 一日看尽长安花
* @LastEditors: 一日看尽长安花
* @Description:
* @Description:
*/
*/
...
@@ -39,6 +39,7 @@ router.beforeEach(async (to, from, next) => {
...
@@ -39,6 +39,7 @@ router.beforeEach(async (to, from, next) => {
next
();
next
();
}
else
{
}
else
{
try
{
try
{
// todo 其实不应该这样写的。
// get user info
// get user info
// note: roles must be a object array! such as: ['admin'] or ,['developer','editor']
// note: roles must be a object array! such as: ['admin'] or ,['developer','editor']
const
{
roles
}
=
await
store
.
dispatch
(
'
user/getInfo
'
);
const
{
roles
}
=
await
store
.
dispatch
(
'
user/getInfo
'
);
...
...
ve-admin/admin-web/src/store/modules/permission.js
View file @
a2fa772b
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* @Description: In User Settings Edit
* @Description: In User Settings Edit
* @Author: your name
* @Author: your name
* @Date: 2019-09-09 12:16:28
* @Date: 2019-09-09 12:16:28
* @LastEditTime: 202
0-05-07 15:14:43
* @LastEditTime: 202
1-11-28 23:50:11
* @LastEditors: 一日看尽长安花
* @LastEditors: 一日看尽长安花
*/
*/
import
{
constantRoutes
}
from
'
@/router
'
;
import
{
constantRoutes
}
from
'
@/router
'
;
...
@@ -90,8 +90,14 @@ export function handleComponent(routes) {
...
@@ -90,8 +90,14 @@ export function handleComponent(routes) {
* component = resolve => require([`@/views/modules/${URL}`], resolve);
* component = resolve => require([`@/views/modules/${URL}`], resolve);
* component = () => import(`@/${_route.component}`);
* component = () => import(`@/${_route.component}`);
*/
*/
//这一步多余的赋值遍历必须存在,import的bug
// 这一步多余的赋值遍历必须存在,import的bug
//无法直接使用模板字符
// 无法直接使用模板字符,同时必须使用模板字符的形式才行,
// 因为只有模板字符才会被静态解析。
// 两种写法的本质是一样的,因为import 目前来说都被转成require了。
// 原理:懒加载是在编译时期的静态分析生成的一个匿名的map 名称映射表
// 例如:`@/views/${sub_path}` 这个模板字符表示把 ./views 目录下的所有文件生成一个搜索方法:
// function ./src lazy recursive ^\.\/views.*$ ();
// 内部就是views目录下的文件映射表
const
name
=
_route
.
component
;
const
name
=
_route
.
component
;
_route
.
component
=
()
=>
import
(
`@/
${
name
}
`
);
_route
.
component
=
()
=>
import
(
`@/
${
name
}
`
);
}
}
...
...
ve-admin/admin-web/src/utils/request.js
View file @
a2fa772b
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* @Description: In User Settings Edit
* @Description: In User Settings Edit
* @Author: your name
* @Author: your name
* @Date: 2019-09-09 12:16:28
* @Date: 2019-09-09 12:16:28
* @LastEditTime: 202
0-03-27 20:23:38
* @LastEditTime: 202
1-11-27 11:04:49
* @LastEditors: 一日看尽长安花
* @LastEditors: 一日看尽长安花
*/
*/
import
axios
from
'
axios
'
;
import
axios
from
'
axios
'
;
...
@@ -153,12 +153,21 @@ service.interceptors.response.use(
...
@@ -153,12 +153,21 @@ service.interceptors.response.use(
}
}
},
},
error
=>
{
error
=>
{
console
.
log
(
'
response err ==>
'
+
error
);
// for debug
console
.
log
(
'
response err ==>
'
+
error
);
Message
({
if
(
error
.
response
.
status
===
401
)
{
message
:
error
.
message
,
Message
({
type
:
'
error
'
,
message
:
'
请重新登陆
'
,
duration
:
5
*
1000
type
:
'
error
'
,
});
duration
:
5
*
1000
});
}
else
{
Message
({
message
:
error
.
message
,
type
:
'
error
'
,
duration
:
5
*
1000
});
}
return
Promise
.
reject
(
error
);
return
Promise
.
reject
(
error
);
}
}
);
);
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment