AppRegistry.menu.add
TSXindex.tsx
1import type { AppRegistryState, PluginModule } from "@quan-erp/shared-types";
2import { MenuTab } from "@quan-erp/shared-ui";
3import metadata from "../module.metadata.json" with { type: "json" };
4
5export const Plugin: PluginModule = {
6 register(AppRegistry: AppRegistryState) {
7 AppRegistry.menu.add({
8 name: <MenuTab icon={...} labelKey="reward" fallbackLabel="Reward" />,
9 pluginName: metadata.name,
10 children: [{
11 name: <MenuTab labelKey="ledger" fallbackLabel="Ledger" />,
12 path: `/${metadata.name}/ledger`,
13 requiredApis: [{ url: "/reward-point/ledger", method: "GET" }],
14 }],
15 });
16 },
17};规则
- 菜单 path 必须与已注册路由 path 一致
- requiredApis 会隐藏用户无权调用的项
- 使用本地化 key,不要在 JSX 中硬编码可见文案