Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
V
vipSupplier
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
王淑敏
vipSupplier
Commits
05d1d9dc
Commit
05d1d9dc
authored
Sep 30, 2020
by
chuzhixin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
🔥
🔥
🔥
完善路由后端渲染方案,弃用之前写法
parent
dc02bb01
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
11 additions
and
24 deletions
+11
-24
mock/controller/router.js
+0
-0
src/store/modules/routes.js
+2
-2
src/utils/handleRoutes.js
+9
-22
No files found.
mock/controller/router.js
View file @
05d1d9dc
This diff is collapsed.
Click to expand it.
src/store/modules/routes.js
View file @
05d1d9dc
...
...
@@ -4,7 +4,7 @@
*/
import
{
asyncRoutes
,
constantRoutes
}
from
"@/router"
;
import
{
getRouterList
}
from
"@/api/router"
;
import
{
filterAllRoutes
,
filterAsyncRoutes
}
from
"@/utils/handleRoutes"
;
import
{
convertRouter
,
filterAsyncRoutes
}
from
"@/utils/handleRoutes"
;
const
state
=
{
routes
:
[],
partialRoutes
:
[]
};
const
getters
=
{
...
...
@@ -35,7 +35,7 @@ const actions = {
async
setAllRoutes
({
commit
})
{
let
{
data
}
=
await
getRouterList
();
data
.
push
({
path
:
"*"
,
redirect
:
"/404"
,
hidden
:
true
});
let
accessRoutes
=
filterAllRoutes
(
data
);
let
accessRoutes
=
convertRouter
(
data
);
commit
(
"setAllRoutes"
,
accessRoutes
);
return
accessRoutes
;
},
...
...
src/utils/handleRoutes.js
View file @
05d1d9dc
...
...
@@ -4,8 +4,8 @@
* @param constantRoutes
* @returns {*}
*/
export
function
filterAllRoutes
(
constant
Routes
)
{
return
constantRoutes
.
filter
((
route
)
=>
{
export
function
convertRouter
(
async
Routes
)
{
return
asyncRoutes
.
map
((
route
)
=>
{
if
(
route
.
component
)
{
if
(
route
.
component
===
"Layout"
)
{
route
.
component
=
(
resolve
)
=>
require
([
"@/layouts"
],
resolve
);
...
...
@@ -13,29 +13,16 @@ export function filterAllRoutes(constantRoutes) {
route
.
component
=
(
resolve
)
=>
require
([
"@/layouts/EmptyLayout"
],
resolve
);
}
else
{
let
path
=
"views/"
+
route
.
component
;
if
(
new
RegExp
(
"^/views/.*$"
).
test
(
route
.
component
)
||
new
RegExp
(
"^views/.*$"
).
test
(
route
.
component
)
)
{
path
=
route
.
component
;
}
else
if
(
new
RegExp
(
"^/.*$"
).
test
(
route
.
component
))
{
path
=
"views"
+
route
.
component
;
}
else
if
(
new
RegExp
(
"^@views/.*$"
).
test
(
route
.
component
))
{
path
=
route
.
component
.
slice
(
1
);
}
else
{
path
=
"views/"
+
route
.
component
;
}
const
index
=
route
.
component
.
indexOf
(
"views"
);
const
path
=
index
>
0
?
route
.
component
.
slice
(
index
)
:
`views/
${
route
.
component
}
`
;
route
.
component
=
(
resolve
)
=>
require
([
`@/
${
path
}
`
],
resolve
);
}
}
if
(
route
.
children
&&
route
.
children
.
length
)
{
route
.
children
=
filterAllRoutes
(
route
.
children
);
}
if
(
route
.
children
&&
route
.
children
.
length
===
0
)
{
delete
route
.
children
;
}
return
true
;
if
(
route
.
children
&&
route
.
children
.
length
)
route
.
children
=
convertRouter
(
route
.
children
);
if
(
route
.
children
&&
route
.
children
.
length
===
0
)
delete
route
.
children
;
return
route
;
});
}
...
...
Write
Preview
Markdown
is supported
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