- Login page: tenantId mandatory, ruby logo (木羽清風), brand rename to 木羽清風 - Tenant session: localStorage tenantId + X-Tenant-Id header on all requests - CRM Relations page: "我的供应商" / "我的客户" tabs with Chinese relation type mapping - CRM Graph page: Terminal CLI aesthetic force-directed supply chain visualization (admin only) - Menu filtering: empty menuPaths hides all menus (security fix) - Error handler: 403 no longer triggers logout (security fix) - API layer: added CRM endpoints (upstream/downstream/relations/history/full graph) - Route config: added /crm/relations and /crm/graph routes - app.ts renamed to app.tsx for JSX support in layout config Made-with: Cursor
83 lines
2.4 KiB
TypeScript
83 lines
2.4 KiB
TypeScript
import { defineConfig } from '@umijs/max';
|
|
|
|
export default defineConfig({
|
|
antd: {},
|
|
access: {},
|
|
model: {},
|
|
initialState: {},
|
|
request: {},
|
|
layout: {
|
|
title: '木羽清风仓储系统',
|
|
locale: false,
|
|
},
|
|
headScripts: [
|
|
'https://fonts.googleapis.com/css2?family=Calistoga&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap',
|
|
],
|
|
proxy: {
|
|
'/api': {
|
|
target: 'http://localhost:8888',
|
|
changeOrigin: true,
|
|
},
|
|
},
|
|
routes: [
|
|
{
|
|
path: '/login',
|
|
layout: false,
|
|
component: './Login',
|
|
},
|
|
{
|
|
path: '/',
|
|
redirect: '/dashboard',
|
|
},
|
|
{
|
|
name: '首页',
|
|
path: '/dashboard',
|
|
component: './Dashboard',
|
|
icon: 'DashboardOutlined',
|
|
},
|
|
{
|
|
name: '客户关系',
|
|
path: '/crm',
|
|
icon: 'NodeIndexOutlined',
|
|
routes: [
|
|
{
|
|
name: '供应商与客户',
|
|
path: '/crm/relations',
|
|
component: './CRM/Relations',
|
|
},
|
|
{
|
|
name: '关系全景图',
|
|
path: '/crm/graph',
|
|
component: './CRM/Graph',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: '库存管理',
|
|
path: '/inventory',
|
|
icon: 'DatabaseOutlined',
|
|
routes: [
|
|
{ name: '产品档案', path: '/inventory/products', component: './Inventory/Products' },
|
|
{ name: '库存查询', path: '/inventory/stocks', component: './Inventory/Stocks' },
|
|
{ name: '库存统计', path: '/inventory/stats', component: './Inventory/Stats' },
|
|
{ name: '库存盘点', path: '/inventory/checks', component: './Inventory/Checks' },
|
|
{ name: '库存调整', path: '/inventory/adjusts', component: './Inventory/Adjusts' },
|
|
{ name: 'Excel导入', path: '/inventory/import', component: './Inventory/Import' },
|
|
],
|
|
},
|
|
{
|
|
name: '系统管理',
|
|
path: '/system',
|
|
icon: 'SettingOutlined',
|
|
routes: [
|
|
{ name: '用户管理', path: '/system/users', component: './System/Users' },
|
|
{ name: '角色管理', path: '/system/roles', component: './System/Roles' },
|
|
{ name: '菜单管理', path: '/system/menus', component: './System/Menus' },
|
|
{ name: '操作日志', path: '/system/logs', component: './System/Logs' },
|
|
{ name: '系统配置', path: '/system/configs', component: './System/Configs' },
|
|
],
|
|
},
|
|
],
|
|
npmClient: 'pnpm',
|
|
});
|