Skip to content

ant design pro vue根据不同路径加载对应路径下的页面请教解决思路 #1293

@labike

Description

@labike

Question (问题描述)
有这么个问题, 后台解决方案采用的是ant design pro vue, 后台根据角色不同目前分为三个分别为总后台admin, 商户后台users, 员工后台members。
现在想改一下模式,想法是这样的:
admin
只要一个后台然后三个文件夹分别放users, admin, members各自的页面组件, 然后根据输入的url加载对应的页面组件, 比如
localhost:8000/users跳转到users/user/login;
localhost:8000/admin跳转到admin/user/login

微信截图_20211220155732

由于不用做动态菜单路由等相关的,所以我直接在config/route.config.js下写了根据admin或者users加载对应的路由:
微信截图_20211220160427

最后在生成路由的时候根据url路径判断该加载那个路由

const genRoutes = () => {
  const routes = window.location.pathname.split('/')[1] === 'admin' ? constantRouterMap.concat(asyncRouterMap) : constantRouterMap2.concat(asyncRouterMap2)
  console.log(routes)
  return routes
}

export default new Router({
  mode: 'history',
  base: process.env.BASE_URL,
  scrollBehavior: () => ({ y: 0 }),
  routes: genRoutes()
})

在访问的时候发现访问localhost:8000/admin的时候没跳到localhost:8000/admin/user/login, 而是直接跳到了404
Video_2021-12-20_161148

访问lcoalhost:8000/users跳到了users/user/login但没有加载login页面的内容
Video_2021-12-20_161253

Describe the solution you'd like (你期待的是什么?)
请教一下各位同行首先将多个之前多个后台放到一个后台里根据url加载对应文件夹下的页面组件可行性如何, 另外我上面采用的这种方法为什么没有加载出对应的内容.

谢谢各位!!!

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions