Files
AIclinicalresearch/docs/01-平台基础层/06-前端架构/02-导航结构设计.md
HaHafeng 1b53ab9d52 feat(aia): Complete AIA V2.0 with universal streaming capabilities
Major Changes:
- Add StreamingService with OpenAI Compatible format
- Upgrade Chat component V2 with Ant Design X integration
- Implement AIA module with 12 intelligent agents
- Update API routes to unified /api/v1 prefix
- Update system documentation

Backend (~1300 lines):
- common/streaming: OpenAI Compatible adapter
- modules/aia: 12 agents, conversation service, streaming integration
- Update route versions (RVW, PKB to v1)

Frontend (~3500 lines):
- modules/aia: AgentHub + ChatWorkspace (100% prototype restoration)
- shared/Chat: AIStreamChat, ThinkingBlock, useAIStream Hook
- Update API endpoints to v1

Documentation:
- AIA module status guide
- Universal capabilities catalog
- System overview updates
- All module documentation sync

Tested: Stream response verified, authentication working
Status: AIA V2.0 core completed (85%)
2026-01-14 19:15:01 +08:00

11 KiB
Raw Blame History

蟇シ闊ェ扈捺桷隶セ隶。譁<EFBFBD>。」

*<EFBFBD>。」迚域悽<EFBFBD>? v1.0
*蛻帛サコ譌・譛滂シ? 2025-10-29
扈エ謚、閠<EFBFBD><EFBFBD> 蜑咲ォッ蠑€蜿大屬髦? €蜷取峩譁ー<EFBFBD><EFBFBD> 2025-10-29


<EFBFBD>搭 譁<>。」隸エ譏<EFBDB4>

譛ャ譁<EFBFBD>。」隸ヲ扈<EFBFBD>ッエ譏拶I遘醍<EFBFBD>泌ケウ蜿ー逧<EFBFBD>ッシ闊ェ扈捺桷隶セ隶。<EFBFBD>悟桁諡ャ鬘カ驛ィ蟇シ闊ェ蜥悟キヲ萓ァ蟇シ闊ェ逧<EFBFBD>ョセ隶。隗<EFBFBD>激縲?

驥崎ヲ∵署遉コ<EFBFBD>? 譛ャ譁<EFBDAC>。」荳ュ豸牙所逧<E68980>ィ。蝮礼沿譛ャ隕∵アゑシ<E38291>requiredVersion`<60>牙插荳?蛻晏ァ矩<EFBFBD>鄂ョ<EFBFBD>悟庄莉・譬ケ謐ョ荳壼苅髴€豎る囂譌カ隹<EFBFBD>紛縲ら沿譛ャ譚<EFBFBD>剞蛻<EFBFBD><EFBFBD>螳悟<EFBFBD>蜿ッ驟咲スョ<EFBFBD>梧裏髴€謾ケ蜉ィ莉」遐<EFBFBD>€サ霎代€?


<EFBFBD>ァュ 鬘カ驛ィ蟇シ闊ェ隶セ隶。

蟇シ闊ェ鬘ケ驟咲ス?

// navigationConfig.ts
export interface NavigationItem {
  id: string;                    // 蜚ッ荳€<C280><EFBFBD>
  label: string;                 // 譏セ遉コ蜷咲ァー
  route: string;                 // 霍ッ逕ア霍ッ蠕<EFBDAF>
  icon?: ReactNode;              // 蝗セ譬<EFBDBE>シ亥庄騾会シ<E4BC9A>
  requiredVersion?: UserVersion;  // 譛€菴守沿譛ャ隕∵アゑシ亥庄驟咲スョ<EFBDBD>梧髪謖∝錘譛溯ー<E6BAAF><EFBFBD>?
  standalone?: boolean;          // 譏ッ蜷ヲ謾ッ謖∫峡遶玖ソ占。<E58DA0>
}

/**
 * 鬘カ驛ィ蟇シ闊ェ驟咲スョ
 * 
 * 笞<><E7AC9E><EFBFBD> 驥崎ヲ∬ッエ譏趣シ?
 * - requiredVersion 蟄玲ョオ荳コ蛻晏ァ矩<EFBDA7>鄂ョ<E98482>悟庄譬ケ謐ョ荳壼苅髴€豎る囂譌カ隹<EFBDB6><E99AB9>?
 * - 謗ィ闕宣€夊ソ<E5A48A>錘遶ッAPI蜉ィ諤∬執蜿也沿譛ャ驟咲スョ<EFBDBD>梧髪謖∝ョ樊慮隹<E685AE> * - 菫ョ謾ケ迚域悽隕∵アよ裏髴€謾ケ蜉ィ莉」遐<EFBDA3>€サ霎托シ悟宵髴€譖エ譁ー驟咲スョ蜊ウ蜿ッ
 */
export const TOP_NAVIGATION_ITEMS: NavigationItem[] = [
  {
    id: 'ai-qa',
    label: 'AI髣ョ遲<EFBDAE>',
    route: '/ai-qa',
    requiredVersion: 'basic', // 蛻晏ァ矩<EFBDA7>鄂ョ<E98482>壼渕遑€迚亥庄逕ィ<E98095>亥庄隹<E5BA84><EFBFBD><E7B49B>
  },
  {
    id: 'literature-platform',
    label: 'AI譎コ閭ス譁<EFBDBD>鍵',
    route: '/literature',
    requiredVersion: 'advanced', // 蛻晏ァ矩<EFBDA7>鄂ョ<E98482>夐ォ倡コァ迚亥庄逕ィ<E98095>亥庄隹<E5BA84><EFBFBD>?
    standalone: true,
  },
  {
    id: 'knowledge-base',
    label: '遏・隸<EFBDA5>コ?,
    route: '/knowledge-base',
    requiredVersion: 'basic', // 蛻晏ァ矩<EFBDA7>鄂ョ<E98482>壼渕遑€迚亥庄逕ィ<E98095>亥庄隹<E5BA84><EFBFBD><E7B49B>
  },
  {
    id: 'data-cleaning',
    label: '譎コ閭ス謨ー謐ョ貂<EFBFBD><EFBFBD>',
    route: '/data-cleaning',
    requiredVersion: 'advanced', // 蛻晏ァ矩<EFBDA7>鄂ョ<E98482>夐ォ倡コァ迚亥庄逕ィ<E98095>亥庄隹<E5BA84><EFBFBD>?
    placeholder: true, // 蜊<>菴搾シ梧仞遉?蠑€蜿台クュ"
  },
  {
    id: 'statistical-analysis',
    label: '譎コ閭ス扈溯ョ。蛻<EFBFBD>',
    route: '/intelligent-analysis',
    requiredVersion: 'premium', // 蛻晏ァ矩<EFBDA7>鄂ョ<E98482>壽覧闊ー迚亥庄逕ィ<E98095>亥庄隹<E5BA84><EFBFBD>?
    external: true, // 逕アJava蝗「髦溷シ€蜿托シ悟宵蛛夐。カ驛ィ蟇シ闊ェ髮<EFBDAA><E9ABAE>
  },
  {
    id: 'statistical-tools',
    label: '扈溯ョ。蛻<EFBFBD>梵蟾・蜈キ',
    route: '/statistical-tools',
    requiredVersion: 'premium', // 蛻晏ァ矩<EFBDA7>鄂ョ<E98482>壽覧闊ー迚亥庄逕ィ<E98095>亥庄隹<E5BA84><EFBFBD>?
    external: true, // 逕アJava蝗「髦溷シ€蜿托シ悟宵蛛夐。カ驛ィ蟇シ闊ェ髮<EFBDAA><E9ABAE>
  },
];

鬘カ驛ィ蟇シ闊ェ蟶<EFBFBD>€

笏娯楳笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏?
笏? [Logo]  [AI髣ョ遲脳 [AI譎コ閭ス譁<EFBDBD>鍵] [遏・隸<EFBDA5>コ転 [譎コ閭ス謨ー謐ョ貂<EFBDAE>エ余 [譎コ閭ス扈溯ョ。蛻<EFBDA1>梵] [扈溯ョ。蛻<EFBDA1>梵蟾・蜈キ]  [逕ィ謌キ蜷江 [逕ィ謌キ闖懷黒笆シ] 笏?
笏披楳笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏?
  160px     閾ェ騾ょコ泌ョス蠎ヲ                                                   200px

<EFBFBD>ァ芽ョセ隶。隗<EFBFBD>

蟇シ闊ェ鬘ケ譬キ蠑?

  • **豁」蟶ク迥カ諤?*<2A>啻color: #4b5563, font-weight: 500`
  • **謔ャ蛛懃憾諤?*<2A>啻color: #0ea5e9, background: rgba(14, 165, 233, 0.1)`
  • **豼€豢サ迥カ諤?*<2A>啻color: #0ea5e9, font-weight: 600, border-bottom: 2px solid #0ea5e9`
  • **遖∫畑迥カ諤?*<2A>域裏譚<E8A38F><EFBFBD>会シ啻color: #9ca3af, cursor: not-allowed`

髣エ霍晁ァ<EFBFBD>

  • 蟇シ闊ェ鬘ケ荵矩龍<EFBFBD>啻16px` 豌エ蟷ウ髣エ霍<EFBDB4>
  • 蟇シ闊ェ鬘ケ蜀<EFBFBD>セケ霍晢シ啻12px 16px`
  • 謨エ荳ェ蟇シ闊ェ譬城ォ伜コヲ<EFBFBD>啻64px`

荳ェ莠コ荳ュ蠢<EFBFBD>ョセ隶。

菴咲スョ<EFBFBD>夐。カ驛ィ蟇シ闊ェ譛€蜿ウ萓ァ

譏セ遉コ蜀<EFBFBD>ョケ<EFBFBD>?

  • 逕ィ謌キ蜷搾シ域焔譛コ蜿キ閼ア謨乗仞遉コ<EFBFBD>悟ヲゑシ啻186****8738`<60>?
  • 逕ィ謌キ螟エ蜒<EFBFBD>/蝗セ譬<EFBDBE>シ育せ蜃サ隗ヲ蜿台ク区級闖懷黒<E687B7><E9BB92>

荳区級闖懷黒騾蛾。ケ<EFBFBD>?

笏娯楳笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏?
笏?荳ェ莠コ荳ュ蠢<EFBDAD>            笏?
笏?蜴<>彰隶ー蠖<EFBDB0>            笏?
笏?笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€    笏?
笏?隶「髦<EFBDA2>ョ。逅<EFBDA1>            笏?
笏?騾€蜃コ雍ヲ蜿?           笏?
笏披楳笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏?

霍ッ逕ア霍ウ霓ャ<EFBFBD>?

  • 荳ェ莠コ荳ュ蠢<EFBFBD> 竊?/user/profile
  • <EFBFBD>彰隶ー蠖<EFBFBD> 竊?/user/history
  • 隶「髦<EFBFBD>ョ。逅<EFBFBD> 竊?/user/subscription
  • 騾€蜃コ雍ヲ蜿?竊?逋サ蜃コ謫堺ス<E5A0BA>

<EFBFBD>唐 蟾ヲ萓ァ蟇シ闊ェ隶セ隶。

隶セ隶。蜴溷<EFBFBD>

  1. 謖蛾怙譏セ遉コ<EFBFBD>壼宵譛芽ソ帛<EFBFBD>蜈キ菴捺ィ。蝮怜錘謇肴仞遉コ蟾ヲ萓ァ蟇シ闊?
  2. 讓。蝮礼峡遶<EFBFBD><EFBFBD>壽ッ丈クェ讓。蝮玲怏閾ェ蟾ア迢ャ遶狗噪蟾ヲ萓ァ蟇シ闊ェ驟咲ス?
  3. 螻らコァ貂<EFBFBD><EFBFBD>壽髪謖∽ク€郤ァ蜥御コ檎コァ闖懷黒

AI髣ョ遲疲ィ。蝮怜キヲ萓ァ蟇シ闊ェ

<EFBFBD>€譁ケ蠑<EFBFBD><EFBFBD>壼今迚<EFBFBD>シ丞ク<EFBFBD>€<EFBFBD>井ク堺スソ逕ィ蟾ヲ萓ァ蟇シ闊ェ<EFBFBD>?

笏娯楳笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏?
笏? AI髣ョ遲比クサ逡碁<E980A1>?                           笏?
笏? 笏娯楳笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏? 笏?
笏? 笏? 謳懃エ「譯?+ 謠宣琉謖蛾聴                 笏? 笏?
笏? 笏披楳笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏? 笏?
笏?                                        笏?
笏? 謌夜€画叫荳€荳ェ譎コ閭ス菴灘シ€蟋?                   笏?
笏? 笏娯楳笏€笏€笏€笏?笏娯楳笏€笏€笏€笏?笏娯楳笏€笏€笏€笏?笏娯楳笏€笏€笏€笏?         笏?
笏? 笏る€蛾「倪<EFBDA2>?笏ICO笏?笏ら<E7AC8F>皮ゥカ笏<EFBDB6> 笏よ婿豕補狽 ...       笏?
笏? 笏りッ<E3828A>サキ笏<EFBDB7> 笏よ「ウ逅<EFBDB3>狽 笏よ婿譯遺狽 笏ょュヲ   笏?         笏?
笏? 笏披楳笏€笏€笏€笏?笏披楳笏€笏€笏€笏?笏披楳笏€笏€笏€笏?笏披楳笏€笏€笏€笏?         笏?
笏披楳笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏?

AI譎コ閭ス譁<EFBFBD>鍵讓。蝮怜キヲ萓ァ蟇シ闊ェ

const LITERATURE_SIDE_NAV = [
  {
    id: 'research-plan',
    label: '遐皮ゥカ譁ケ譯育函謌<E587BD>',
    route: '/literature/research-plan',
    icon: '<27>搭',
  },
  {
    id: 'search',
    label: '譎コ閭ス譁<EFBDBD>鍵譽€邏?,
    route: '/literature/search',
    icon: '<EFBFBD>',
  },
  {
    id: 'management',
    label: '<EFBFBD>鍵邂。逅<EFBFBD>',
    route: '/literature/management',
    icon: '<EFBFBD>',
  },
  {
    id: 'screening',
    label: '<EFBFBD>「俶遭隕∝<EFBFBD><EFBFBD>',
    route: '/literature/screening',
    icon: '?,
  },
  {
    id: 'full-text',
    label: '蜈ィ譁<EFBDA8>、咲ュ<E592B2>',
    route: '/literature/full-text',
    icon: '<27>塘',
  },
  {
    id: 'extraction',
    label: '蜈ィ譁<EFBDA8>ァ」譫蝉ク取焚謐ョ謠仙<E8ACA0>?,
    route: '/literature/extraction',
    icon: '<EFBFBD>',
  },
  {
    id: 'analysis',
    label: '謨ー謐ョ扈シ蜷亥<EFBFBD>譫蝉ク取冠蜻?,
    route: '/literature/analysis',
    icon: '<27>投',
  },
];

<EFBFBD>€譬キ蠑<EFBFBD><EFBFBD>?

  • 螳ス蠎ヲ<EFBFBD>啻200px`
  • 閭梧勹濶イ<EFBFBD>啻#f9fafb`
  • €豢サ鬘ケ<EFBFBD>啻background: #e0e7ff, border-left: 3px solid #4f46e5`

遏・隸<EFBFBD>コ捺ィ。蝮怜キヲ萓ァ蟇シ闊?

const KNOWLEDGE_BASE_SIDE_NAV = [
  {
    id: 'list',
    label: '遏・隸<EFBDA5>コ灘<EFBDBA>陦?,
    route: '/knowledge-base',
    icon: '<EFBFBD>',
  },
  {
    id: 'create',
    label: '+ 譁ー蟒コ遏・隸<EFBFBD>?,
    route: '/knowledge-base/create',
    icon: '+',
  },
];

譎コ閭ス扈溯ョ。蛻<EFBFBD>梵讓。蝮暦シ亥、夜Κ讓。蝮苓ッエ譏趣シ<EFBFBD>

隸エ譏趣シ? 譎コ閭ス扈溯ョ。蛻<EFBDA1>梵讓。蝮礼<E89DAE>?*Java蝗「髦<EFBDA2>蠑€蜿托シ碁㊦逕ィJava蜷守ォッ*謚€譛ッ譬医€? 謌台サャ逧<EFBFBD>雍」<EFBFBD><EFBFBD><>惠鬘カ驛ィ蟇シ闊ェ荳ュ髮<EFBDAD><E9ABAE>隸・讓。蝮礼噪蜈・蜿」<E89CBF>檎せ蜃サ蜷手キウ霓ャ蛻ーJava蝗「髦溷シ€蜿醍噪鬘オ髱「縲? *隶セ隶。隗<EFBFBD><EFBFBD>? 荳埼怙隕∵<E99A95>莉ャ隶セ隶。蟾ヲ萓ァ蟇シ闊ェ<E9978A>繰ava蝗「髦溷キイ譛芽<E8AD9B>蟾ア逧<EFBDB1>。オ髱「蟶<EFBDA2>€隶セ隶。縲?

*<EFBFBD><EFBFBD>譁ケ蠑擾シ?

  • 鬘カ驛ィ蟇シ闊ェ轤ケ蜃サ蜷趣シ檎峩謗・霍ウ霓ャ蛻?/intelligent-analysis 霍ッ逕ア
  • 隸・霍ッ逕ア蜿ッ閭ス謖<EFBFBD>髄迢ャ遶狗噪Java蠎皮畑謌吠frame蠏悟<EFBFBD>
  • 蜈キ菴馴寔謌先婿蠑城怙荳捌ava蝗「髦溷刻蝠<EFBFBD>。ョ螳<EFBFBD>

扈溯ョ。蛻<EFBFBD>梵蟾・蜈キ讓。蝮暦シ亥、夜Κ讓。蝮苓ッエ譏趣シ<EFBFBD>

隸エ譏趣シ? 扈溯ョ。蛻<EFBDA1>梵蟾・蜈キ讓。蝮礼<E89DAE>?*Java蝗「髦<EFBDA2>蠑€蜿托シ碁㊦逕ィJava蜷守ォッ謚€譛ッ譬医€? 謌台サャ逧<EFBFBD>雍」<EFBFBD><EFBFBD><>惠鬘カ驛ィ蟇シ闊ェ荳ュ髮<EFBDAD><E9ABAE>隸・讓。蝮礼噪蜈・蜿」<E89CBF>檎せ蜃サ蜷手キウ霓ャ蛻ーJava蝗「髦溷シ€蜿醍噪鬘オ髱「縲? 隶セ隶。隗<EFBFBD><EFBFBD>? 隸・讓。蝮?*荳肴弍蟾ヲ萓ァ蟇シ闊ェ隶セ隶。<EFBFBD>繰ava蝗「髦滓怏閾ェ蟾ア逧<EFBFBD>。オ髱「蟶<EFBFBD>€<EFBFBD>亥ヲる。カ驛ィTab蟇シ闊ェ遲会シ峨€?

*<EFBFBD><EFBFBD>譁ケ蠑擾シ?

  • 鬘カ驛ィ蟇シ闊ェ轤ケ蜃サ蜷趣シ檎峩謗・霍ウ霓ャ蛻?/statistical-tools 霍ッ逕ア
  • 隸・霍ッ逕ア蜿ッ閭ス謖<EFBFBD>髄迢ャ遶狗噪Java蠎皮畑謌吠frame蠏悟<EFBFBD>
  • 蜈キ菴馴寔謌先婿蠑城怙荳捌ava蝗「髦溷刻蝠<EFBFBD>。ョ螳<EFBFBD>

<EFBFBD>売 蟇シ闊ェ莠、莠帝€サ霎<EFBDBB>

鬘カ驛ィ蟇シ闊ェ蛻<EFBFBD>

// 轤ケ蜃サ鬘カ驛ィ蟇シ闊ェ鬘?
const handleNavClick = (item: NavigationItem) => {
  // 1. 譽€譟・譚<EFBDA5><E8AD9A>?
  if (!hasPermission(item.requiredVersion)) {
    showUpgradePrompt(item);
    return;
  }
  
  // 2. 譽€譟・譏ッ蜷ヲ荳コ蜊<EFBDBA>菴肴ィ。蝮<EFBDA1>
  if (item.placeholder) {
    showComingSoon(item);
    return;
  }
  
  // 3. 蟇シ闊ェ蛻ー逶ョ譬<EFBDAE>キッ逕?
  navigate(item.route);
  
  // 4. 譖エ譁ー豼€豢サ迥カ諤?
  setActiveNavItem(item.id);
};

蟾ヲ萓ァ蟇シ闊ェ蛻<EFBFBD>

// 轤ケ蜃サ蟾ヲ萓ァ蟇シ闊ェ鬘?
const handleSideNavClick = (item: SideNavItem) => {
  // 蟇シ闊ェ蛻ー逶ョ譬<EFBDAE>キッ逕ア<E98095>域ィ。蝮怜<E89DAE>驛ィ霍ッ逕ア<E98095>?
  navigate(item.route);
  
  // 譖エ譁ー豼€豢サ迥カ諤?
  setActiveSideNavItem(item.id);
};

髱「蛹<EFBFBD>ア大ッシ闊ェ<EFBFBD>亥庄騾会シ<EFBFBD>

蟇ケ莠取キア螻らコァ鬘オ髱「<EFBFBD>悟サコ隶ョ豺サ蜉<EFBFBD>髱「蛹<EFBFBD>ア大ッシ闊ェ<EFBFBD><EFBFBD>

鬥夜。オ > AI譎コ閭ス譁<EFBDBD>鍵 > 譬<>「俶遭隕∝<E99A95><EFBFBD> > 螳。譬ク蟾・菴懷<E88FB4>?

<EFBFBD>導 蜩榊コ泌シ剰ョセ隶?

譯碁擇遶?(>1024px)

  • 螳梧紛譏セ遉コ謇€譛蛾。カ驛ィ蟇シ闊ェ鬘ケ
  • 譏セ遉コ螳梧紛逧<EFBFBD>キヲ萓ァ蟇シ闊?

蟷ウ譚ソ遶?(768-1024px)

  • 譏セ遉コ蜑?荳ェ鬘カ驛ィ蟇シ闊ェ鬘ケ
  • 蜈カ菴吝ッシ闊ェ鬘ケ謚伜匠蛻ー"譖エ螟<EFBDB4>"闖懷黒
  • 蟾ヲ萓ァ蟇シ闊ェ蜿ッ謚伜匠荳コ謚ス螻牙シ?

遘サ蜉ィ遶?(<768px)

  • 鬘カ驛ィ蟇シ闊ェ驥<EFBFBD>畑豎牙<EFBFBD>。闖懷黒<EFBFBD>遺于<EFBFBD>?
  • 蟾ヲ萓ァ蟇シ闊ェ謾ケ荳コ蠎暮ΚTab蟇シ闊ェ謌匁歓螻牙シ<EFBFBD>

<EFBFBD>耳 譬キ蠑剰ァ<E589B0>

CSS蜿倬㍼螳壻ケ<EFBFBD>

:root {
  /* 蟇シ闊ェ鬚懆牡 */
  --nav-bg-color: #ffffff;
  --nav-border-color: #e5e7eb;
  --nav-text-color: #4b5563;
  --nav-text-hover: #0ea5e9;
  --nav-text-active: #0ea5e9;
  --nav-active-border: #0ea5e9;
  
  /* 萓ァ霎ケ譬城「懆<EFBDA2>?*/
  --sidebar-bg: #f9fafb;
  --sidebar-active-bg: #e0e7ff;
  --sidebar-active-border: #4f46e5;
  --sidebar-text-color: #4338ca;
  
  /* 蟆コ蟇ク */
  --nav-height: 64px;
  --sidebar-width: 200px;
  --nav-item-padding: 12px 16px;
  --nav-item-spacing: 16px;
}

<EFBFBD>統 螳樊命貂<E591BD>

<EFBFBD>サカ蠑€蜿?

  • TopNavigation.tsx - 鬘カ驛ィ蟇シ闊ェ扈<EFBDAA>サカ
  • SideNavigation.tsx - 蟾ヲ萓ァ蟇シ闊ェ扈<EFBDAA>サカ
  • UserMenu.tsx - 逕ィ謌キ闖懷黒扈<E9BB92>サカ
  • NavigationGuard.tsx - 蟇シ闊ェ譚<EFBDAA>剞螳亥梱
  • ComingSoon.tsx - 蠑€蜿台クュ蜊<EFBDAD>菴咲サ<E592B2>サカ

驟咲スョ譁<EFBFBD>サカ

  • navigationConfig.ts - 蟇シ闊ェ驟咲スョ
  • moduleNavConfig.ts - 讓。蝮怜ッシ闊ェ驟咲スョ
  • versionConfig.ts - 迚域悽驟咲スョ<EFBDBD>域悽蝨ー驟咲スョ<EFBDBD>御ス應クコ蜈懷コ包シ?
  • useVersionConfig.ts - 迚域悽驟咲スョHook<6F>井サ拶PI蜉ィ諤∬執蜿厄シ<E58E84>

<EFBFBD>。」

  • 譖エ譁ー譛ャ譁<EFBFBD>。?
  • 郛門<EFBFBD>蟇シ闊ェ扈<EFBFBD>サカ菴ソ逕ィ譁<EFBFBD>。」

*<EFBFBD>。」迚域悽<EFBFBD>? v1.0
€蜷取峩譁ー<EFBFBD><EFBFBD> 2025-10-29