移除antd pro中的 路由的国际化

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了移除antd pro中的 路由的国际化相关的知识,希望对你有一定的参考价值。

参考技术A 对于大部分不需要国际化的ant pro来说。
移除locale会减轻很多开发工作。

import formatMessage from 'umi/locale';

替换


const pageName = currRouterData.cnname;

import formatMessage from 'umi/locale';
替换formatter

Antd Pro V5 登录后重新远程请求菜单

因为路由是存在 initialState 这个 Hooks 中,如下:

const { initialState, setInitialState } = useModel(\'@@initialState\');

所以只需要在登录的逻辑中利用这段代码即可:

// 自己写的远程请求接口
import { R_Menu } from \'@/services/builder\';
// 导入系统默认的菜单
import SystemRoutes from \'@/../config/routes\';
// 改写登录页的逻辑
const fetchUserInfo = async () => {
  const userInfo = await initialState?.fetchUserInfo?.();
  // 这里是成功返回用户信息之后的逻辑
  if (userInfo) {
    // 调用自己写的请求菜单
    const menu = await R_Menu();
    // 合并系统路由 & 业务菜单
    const freshMenu = SystemRoutes.concat(menu);
    // 覆盖系统当前的路由
    setInitialState({
      ...initialState,
      menuData: freshMenu,
      currentUser: userInfo,
    });
  }
};

以上是关于移除antd pro中的 路由的国际化的主要内容,如果未能解决你的问题,请参考以下文章

antd pro 动态菜单与动态路由

前端国际化的另类方式

【antd-pro】路由配置、select组件层级

pro.antd.design

Vue 开发实战实战篇 # 26:Ant Design Pro介绍

vue-cli之路由独立成JS文件之后,如何在路由中获取vuex属性或者设置国际化i18n的当前使用语言