Files
rxthinkcmf-wiki/RXThinkCMF_Laravel13_NaiveVue/.vitepress/dist/zh/api-spec/dict-api.html
T
2026-10-11 19:06:33 +08:00

105 lines
148 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="zh-CN" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>8.5 字典数据接口 | 小蚂蚁云</title>
<meta name="description" content="RXThinkCMF 企业级前后端分离后台管理系统 - Laravel 13 + Vue3 + NaiveUI">
<meta name="generator" content="VitePress v1.3.4">
<link rel="preload stylesheet" href="/assets/style.bvRZWfHW.css" as="style">
<script type="module" src="/assets/app.Ccv6ul3o.js"></script>
<link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
<link rel="modulepreload" href="/assets/chunks/theme.BAYk2F26.js">
<link rel="modulepreload" href="/assets/chunks/framework.BbmSSMjL.js">
<link rel="modulepreload" href="/assets/zh_api-spec_dict-api.md.DDWerLVj.lean.js">
<link rel="icon" type="image/svg+xml" href="/logo.svg">
<link rel="icon" type="image/png" href="/logo.png">
<meta property="og:type" content="website">
<meta property="twitter:card" content="summary_large_image">
<meta property="twitter:image" content="/social.png">
<script src="/banner.js" async type="text/javascript"></script>
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"light",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
<meta property="og:url" content="https://www.rxthink.cn">
<meta property="og:description" content="RXThinkCMF 企业级前后端分离后台管理系统 - Laravel 13 + Vue3 + NaiveUI">
<meta property="twitter:url" content="https://www.rxthink.cn">
<meta property="twitter:title" content="RXThinkCMF Laravel13+NaiveUI 开发文档">
<meta property="twitter:description" content="RXThinkCMF 企业级前后端分离后台管理系统 - Laravel 13 + Vue3 + NaiveUI">
<script>var _hmt=_hmt||[];(function(){var e=document.createElement("script");e.src="https://hm.baidu.com/hm.js?4f06f01017cdd5c1a95a58a6787f4d10";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})();</script>
</head>
<body>
<div id="app"><div class="Layout" data-v-4dae6186><!--[--><!--]--><!--[--><span tabindex="-1" data-v-b1d023f7></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-b1d023f7> Skip to content </a><!--]--><!----><header class="VPNav" data-v-4dae6186 data-v-6677dd63><div class="VPNavBar" data-v-6677dd63 data-v-9ee283ce><div class="wrapper" data-v-9ee283ce><div class="container" data-v-9ee283ce><div class="title" data-v-9ee283ce><div class="VPNavBarTitle has-sidebar" data-v-9ee283ce data-v-a535d338><a class="title" href="/" data-v-a535d338><!--[--><!--]--><!--[--><img class="VPImage logo" src="/logo.svg" alt data-v-6214f9fb><!--]--><span data-v-a535d338>小蚂蚁云</span><!--[--><!--]--></a></div></div><div class="content" data-v-9ee283ce><div class="content-body" data-v-9ee283ce><!--[--><!--]--><div class="VPNavBarSearch search" data-v-9ee283ce><!--[--><!----><div id="local-search"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-9ee283ce data-v-b192e9c1><span id="main-nav-aria-label" class="visually-hidden" data-v-b192e9c1> Main Navigation </span><!--[--><!--[--><a class="VPLink link vp-external-link-icon VPNavBarMenuLink" href="https://www.rxthink.cn" target="_blank" rel="noreferrer" tabindex="0" data-v-b192e9c1 data-v-5fb253b1><!--[--><span data-v-5fb253b1>官网</span><!--]--></a><!--]--><!--[--><a class="VPLink link vp-external-link-icon VPNavBarMenuLink" href="https://www.rxthink.cn/goods/detail/2" target="_blank" rel="noreferrer" tabindex="0" data-v-b192e9c1 data-v-5fb253b1><!--[--><span data-v-5fb253b1>授权</span><!--]--></a><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup" data-v-b192e9c1 data-v-223824a4><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-223824a4><span class="text" data-v-223824a4><!----><span data-v-223824a4>部署文档</span><span class="vpi-chevron-down text-icon" data-v-223824a4></span></span></button><div class="menu" data-v-223824a4><div class="VPMenu" data-v-223824a4 data-v-b6be4b39><div class="items" data-v-b6be4b39><!--[--><!--[--><div class="VPMenuLink" data-v-b6be4b39 data-v-f956f3ad><a class="VPLink link vp-external-link-icon" href="http://docs.thinkphp6.layui.rxthink.cn" target="_blank" rel="noreferrer" data-v-f956f3ad><!--[-->RXThinkCMF混编版ThinkPHP6+Layui版本<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b6be4b39 data-v-f956f3ad><a class="VPLink link vp-external-link-icon" href="http://docs.thinkphp6.elevue.rxthink.cn" target="_blank" rel="noreferrer" data-v-f956f3ad><!--[-->RXThinkCMF前后端分离ThinkPHP6+ElementPlus版本<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b6be4b39 data-v-f956f3ad><a class="VPLink link vp-external-link-icon" href="http://docs.thinkphp6.antdvue.rxthink.cn" target="_blank" rel="noreferrer" data-v-f956f3ad><!--[-->RXThinkCMF前后端分离ThinkPHP6+AntDesign版本<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b6be4b39 data-v-f956f3ad><a class="VPLink link vp-external-link-icon" href="http://docs.thinkphp6.naivevue.rxthink.cn" target="_blank" rel="noreferrer" data-v-f956f3ad><!--[-->RXThinkCMF前后端分离ThinkPHP6+NaiveUI版本<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b6be4b39 data-v-f956f3ad><a class="VPLink link vp-external-link-icon" href="http://docs.thinkphp8.layui.rxthink.cn" target="_blank" rel="noreferrer" data-v-f956f3ad><!--[-->RXThinkCMF混编版ThinkPHP8+Layui版本<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b6be4b39 data-v-f956f3ad><a class="VPLink link vp-external-link-icon" href="http://docs.thinkphp8.elevue.rxthink.cn" target="_blank" rel="noreferrer" data-v-f956f3ad><!--[-->RXThinkCMF前后端分离ThinkPHP8+ElementPlus版本<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b6be4b39 data-v-f956f3ad><a class="VPLink link vp-external-link-icon" href="http://docs.thinkphp8.antdvue.rxthink.cn" target="_blank" rel="noreferrer" data-v-f956f3ad><!--[-->RXThinkCMF前后端分离ThinkPHP8+AntDesign版本<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b6be4b39 data-v-f956f3ad><a class="VPLink link vp-external-link-icon" href="http://docs.thinkphp8.naivevue.rxthink.cn" target="_blank" rel="noreferrer" data-v-f956f3ad><!--[-->RXThinkCMF前后端分离ThinkPHP8+NaiveUI版本<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b6be4b39 data-v-f956f3ad><a class="VPLink link vp-external-link-icon" href="http://docs.laravel13.layui.rxthink.cn" target="_blank" rel="noreferrer" data-v-f956f3ad><!--[-->RXThinkCMF混编版Laravel13+Layui版本<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b6be4b39 data-v-f956f3ad><a class="VPLink link vp-external-link-icon" href="http://docs.laravel13.elevue.rxthink.cn" target="_blank" rel="noreferrer" data-v-f956f3ad><!--[-->RXThinkCMF前后端分离Laravel13+ElementPlus版本<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b6be4b39 data-v-f956f3ad><a class="VPLink link vp-external-link-icon" href="http://docs.laravel13.antdvue.rxthink.cn" target="_blank" rel="noreferrer" data-v-f956f3ad><!--[-->RXThinkCMF前后端分离Laravel13+AntDesign版本<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b6be4b39 data-v-f956f3ad><a class="VPLink link vp-external-link-icon" href="http://docs.laravel13.naivevue.rxthink.cn" target="_blank" rel="noreferrer" data-v-f956f3ad><!--[-->RXThinkCMF前后端分离Laravel13+NaiveUI版本<!--]--></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup" data-v-b192e9c1 data-v-223824a4><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-223824a4><span class="text" data-v-223824a4><!----><span data-v-223824a4>在线演示</span><span class="vpi-chevron-down text-icon" data-v-223824a4></span></span></button><div class="menu" data-v-223824a4><div class="VPMenu" data-v-223824a4 data-v-b6be4b39><div class="items" data-v-b6be4b39><!--[--><!--[--><div class="VPMenuLink" data-v-b6be4b39 data-v-f956f3ad><a class="VPLink link vp-external-link-icon" href="http://manage.thinkphp6.layui.rxthink.cn" target="_blank" rel="noreferrer" data-v-f956f3ad><!--[-->RXThinkCMF混编版ThinkPHP6+Layui版本<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b6be4b39 data-v-f956f3ad><a class="VPLink link vp-external-link-icon" href="http://manage.thinkphp6.elevue.rxthink.cn" target="_blank" rel="noreferrer" data-v-f956f3ad><!--[-->RXThinkCMF前后端分离ThinkPHP6+ElementPlus版本<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b6be4b39 data-v-f956f3ad><a class="VPLink link vp-external-link-icon" href="http://manage.thinkphp6.antdvue.rxthink.cn" target="_blank" rel="noreferrer" data-v-f956f3ad><!--[-->RXThinkCMF前后端分离ThinkPHP6+AntDesign版本<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b6be4b39 data-v-f956f3ad><a class="VPLink link vp-external-link-icon" href="http://manage.thinkphp6.naivevue.rxthink.cn" target="_blank" rel="noreferrer" data-v-f956f3ad><!--[-->RXThinkCMF前后端分离ThinkPHP6+NaiveUI版本<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b6be4b39 data-v-f956f3ad><a class="VPLink link vp-external-link-icon" href="http://manage.thinkphp8.layui.rxthink.cn" target="_blank" rel="noreferrer" data-v-f956f3ad><!--[-->RXThinkCMF混编版ThinkPHP8+Layui版本<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b6be4b39 data-v-f956f3ad><a class="VPLink link vp-external-link-icon" href="http://manage.thinkphp8.elevue.rxthink.cn" target="_blank" rel="noreferrer" data-v-f956f3ad><!--[-->RXThinkCMF前后端分离ThinkPHP8+ElementPlus版本<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b6be4b39 data-v-f956f3ad><a class="VPLink link vp-external-link-icon" href="http://manage.thinkphp8.antdvue.rxthink.cn" target="_blank" rel="noreferrer" data-v-f956f3ad><!--[-->RXThinkCMF前后端分离ThinkPHP8+AntDesign版本<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b6be4b39 data-v-f956f3ad><a class="VPLink link vp-external-link-icon" href="http://manage.thinkphp8.naivevue.rxthink.cn" target="_blank" rel="noreferrer" data-v-f956f3ad><!--[-->RXThinkCMF前后端分离ThinkPHP8+NaiveUI版本<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b6be4b39 data-v-f956f3ad><a class="VPLink link vp-external-link-icon" href="http://manage.laravel13.layui.rxthink.cn" target="_blank" rel="noreferrer" data-v-f956f3ad><!--[-->RXThinkCMF混编版Laravel13+Layui版本<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b6be4b39 data-v-f956f3ad><a class="VPLink link vp-external-link-icon" href="http://manage.laravel13.elevue.rxthink.cn" target="_blank" rel="noreferrer" data-v-f956f3ad><!--[-->RXThinkCMF前后端分离Laravel13+ElementPlus版本<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b6be4b39 data-v-f956f3ad><a class="VPLink link vp-external-link-icon" href="http://manage.laravel13.antdvue.rxthink.cn" target="_blank" rel="noreferrer" data-v-f956f3ad><!--[-->RXThinkCMF前后端分离Laravel13+AntDesign版本<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b6be4b39 data-v-f956f3ad><a class="VPLink link vp-external-link-icon" href="http://manage.laravel13.naivevue.rxthink.cn" target="_blank" rel="noreferrer" data-v-f956f3ad><!--[-->RXThinkCMF前后端分离Laravel13+NaiveUI版本<!--]--></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/zh/other/sponsor.html" tabindex="0" data-v-b192e9c1 data-v-5fb253b1><!--[--><span data-v-5fb253b1>广告赞助</span><!--]--></a><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup" data-v-b192e9c1 data-v-223824a4><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-223824a4><span class="text" data-v-223824a4><!----><span data-v-223824a4>相关链接</span><span class="vpi-chevron-down text-icon" data-v-223824a4></span></span></button><div class="menu" data-v-223824a4><div class="VPMenu" data-v-223824a4 data-v-b6be4b39><div class="items" data-v-b6be4b39><!--[--><!--[--><div class="VPMenuLink" data-v-b6be4b39 data-v-f956f3ad><a class="VPLink link vp-external-link-icon" href="https://www.rxthink.cn" target="_blank" rel="noreferrer" data-v-f956f3ad><!--[-->官方网站<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b6be4b39 data-v-f956f3ad><a class="VPLink link vp-external-link-icon" href="https://gitee.com/rxthinkcmf/RXThinkCMF_Laravel13_NaiveVue" target="_blank" rel="noreferrer" data-v-f956f3ad><!--[-->Gitee 仓库<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b6be4b39 data-v-f956f3ad><a class="VPLink link vp-external-link-icon" href="https://laravel.com/" target="_blank" rel="noreferrer" data-v-f956f3ad><!--[-->Laravel 官网<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b6be4b39 data-v-f956f3ad><a class="VPLink link vp-external-link-icon" href="https://cn.vuejs.org/" target="_blank" rel="noreferrer" data-v-f956f3ad><!--[-->Vue3 文档<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b6be4b39 data-v-f956f3ad><a class="VPLink link vp-external-link-icon" href="https://www.naiveui.com/" target="_blank" rel="noreferrer" data-v-f956f3ad><!--[-->NaiveUI<!--]--></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-9ee283ce data-v-0b7bb029><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-0b7bb029 data-v-fef60102 data-v-3a5bff6c><span class="check" data-v-3a5bff6c><span class="icon" data-v-3a5bff6c><!--[--><span class="vpi-sun sun" data-v-fef60102></span><span class="vpi-moon moon" data-v-fef60102></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-9ee283ce data-v-929d9abf data-v-9e0f05cc><!--[--><a class="VPSocialLink no-icon" href="https://gitee.com/rxthinkcmf/RXThinkCMF_Laravel13_NaiveVue" aria-label="github" target="_blank" rel="noopener" data-v-9e0f05cc data-v-d8bc420f><span class="vpi-social-github" /></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-9ee283ce data-v-78391181 data-v-223824a4><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-223824a4><span class="vpi-more-horizontal icon" data-v-223824a4></span></button><div class="menu" data-v-223824a4><div class="VPMenu" data-v-223824a4 data-v-b6be4b39><!----><!--[--><!--[--><!----><div class="group" data-v-78391181><div class="item appearance" data-v-78391181><p class="label" data-v-78391181>Appearance</p><div class="appearance-action" data-v-78391181><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-78391181 data-v-fef60102 data-v-3a5bff6c><span class="check" data-v-3a5bff6c><span class="icon" data-v-3a5bff6c><!--[--><span class="vpi-sun sun" data-v-fef60102></span><span class="vpi-moon moon" data-v-fef60102></span><!--]--></span></span></button></div></div></div><div class="group" data-v-78391181><div class="item social-links" data-v-78391181><div class="VPSocialLinks social-links-list" data-v-78391181 data-v-9e0f05cc><!--[--><a class="VPSocialLink no-icon" href="https://gitee.com/rxthinkcmf/RXThinkCMF_Laravel13_NaiveVue" aria-label="github" target="_blank" rel="noopener" data-v-9e0f05cc data-v-d8bc420f><span class="vpi-social-github" /></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-9ee283ce data-v-9173bc9b><span class="container" data-v-9173bc9b><span class="top" data-v-9173bc9b></span><span class="middle" data-v-9173bc9b></span><span class="bottom" data-v-9173bc9b></span></span></button></div></div></div></div><div class="divider" data-v-9ee283ce><div class="divider-line" data-v-9ee283ce></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-4dae6186 data-v-b4df0add><div class="container" data-v-b4df0add><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-b4df0add><span class="vpi-align-left menu-icon" data-v-b4df0add></span><span class="menu-text" data-v-b4df0add>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-b4df0add data-v-3a3ce8d3><button data-v-3a3ce8d3>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-4dae6186 data-v-bf80c8a3><div class="curtain" data-v-bf80c8a3></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-bf80c8a3><span class="visually-hidden" id="sidebar-aria-label" data-v-bf80c8a3> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-f04be081><section class="VPSidebarItem level-0 collapsible" data-v-f04be081 data-v-e32f8976><div class="item" role="button" tabindex="0" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><h2 class="text" data-v-e32f8976>📖 1. 了解项目</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-e32f8976><span class="vpi-chevron-right caret-icon" data-v-e32f8976></span></div></div><div class="items" data-v-e32f8976><!--[--><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/introduction.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>1.1 项目介绍</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/why.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>1.2 为什么选择我们</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/directory.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>1.3 项目目录结构</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/course.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>1.4 新手入门指南</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/tech-stack.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>1.5 技术栈说明</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/changelog.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>1.6 更新日志</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-f04be081><section class="VPSidebarItem level-0 collapsible" data-v-f04be081 data-v-e32f8976><div class="item" role="button" tabindex="0" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><h2 class="text" data-v-e32f8976>🚀 2. 快速入门</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-e32f8976><span class="vpi-chevron-right caret-icon" data-v-e32f8976></span></div></div><div class="items" data-v-e32f8976><!--[--><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/quickstart/environment.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>2.1 开发环境准备</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/quickstart/laragon.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>2.2 Laragon 环境搭建</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/quickstart/backend-start.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>2.3 后端服务启动</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/quickstart/frontend-start.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>2.4 前端服务启动</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/quickstart/database-init.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>2.5 数据库初始化</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/quickstart/env-vars.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>2.6 环境变量配置</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/quickstart/first-api.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>2.7 第一个接口调试</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/quickstart/docker.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>2.8 Docker 快速体验</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/quickstart/faq.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>2.9 常见问题 FAQ</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-f04be081><section class="VPSidebarItem level-0 collapsible" data-v-f04be081 data-v-e32f8976><div class="item" role="button" tabindex="0" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><h2 class="text" data-v-e32f8976>🧪 3. 模块开发实战</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-e32f8976><span class="vpi-chevron-right caret-icon" data-v-e32f8976></span></div></div><div class="items" data-v-e32f8976><!--[--><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/guide/overview.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>3.1 概述与目标</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/guide/database.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>3.2 数据库建表</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/guide/model.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>3.3 模型层开发</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/guide/validator.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>3.4 FormRequest 验证器</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/guide/logic.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>3.5 Service 层开发</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/guide/controller.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>3.6 控制器开发</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/guide/route.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>3.7 路由注册</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/guide/permission.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>3.8 权限节点配置</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/guide/frontend-integration.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>3.9 前端联调指引</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/guide/code-list.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>3.10 完整代码清单</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/guide/faq.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>3.11 常见问题与排错</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-f04be081><section class="VPSidebarItem level-0 collapsible" data-v-f04be081 data-v-e32f8976><div class="item" role="button" tabindex="0" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><h2 class="text" data-v-e32f8976>🏛️ 4. 架构设计</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-e32f8976><span class="vpi-chevron-right caret-icon" data-v-e32f8976></span></div></div><div class="items" data-v-e32f8976><!--[--><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/architecture/overview.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>4.1 整体架构概览</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/architecture/request-flow.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>4.2 请求处理链路</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/architecture/backend-layer.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>4.3 后端分层架构</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/architecture/frontend-layer.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>4.4 前端分层架构</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/architecture/directory-design.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>4.5 目录结构设计</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/architecture/base-classes.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>4.6 核心基类体系</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/architecture/cross-cutting.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>4.7 横切机制</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/architecture/cache.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>4.8 缓存架构设计</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/architecture/database-design.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>4.9 数据库设计</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/architecture/security.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>4.10 安全架构设计</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/architecture/extensibility.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>4.11 扩展性设计</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-f04be081><section class="VPSidebarItem level-0 collapsible" data-v-f04be081 data-v-e32f8976><div class="item" role="button" tabindex="0" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><h2 class="text" data-v-e32f8976>🔐 5. 核心功能</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-e32f8976><span class="vpi-chevron-right caret-icon" data-v-e32f8976></span></div></div><div class="items" data-v-e32f8976><!--[--><section class="VPSidebarItem level-1 collapsible" data-v-e32f8976><div class="item" role="button" tabindex="0" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><h3 class="text" data-v-e32f8976>认证与安全</h3><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-e32f8976><span class="vpi-chevron-right caret-icon" data-v-e32f8976></span></div></div><div class="items" data-v-e32f8976><!--[--><div class="VPSidebarItem level-2 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/core/jwt.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>5.1 用户认证(JWT)</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/core/auth-flow.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>5.2 认证流程实战</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/core/captcha.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>5.3 验证码机制</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/core/rbac.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>5.4 权限管理(RBAC)</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/core/cors.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>5.5 跨域资源共享</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/core/password.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>5.6 密码加密服务</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/core/demo-mode.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>5.7 演示模式</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-1 collapsible" data-v-e32f8976><div class="item" role="button" tabindex="0" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><h3 class="text" data-v-e32f8976>数据与配置</h3><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-e32f8976><span class="vpi-chevron-right caret-icon" data-v-e32f8976></span></div></div><div class="items" data-v-e32f8976><!--[--><div class="VPSidebarItem level-2 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/core/tenant.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>5.8 多租户隔离</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/core/data-scope.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>5.9 数据权限</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/core/dict.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>5.10 字典模块</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/core/dict-guide.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>5.11 字典配置与使用</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/core/config.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>5.12 系统配置管理</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/core/param.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>5.13 系统参数管理</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-1 collapsible" data-v-e32f8976><div class="item" role="button" tabindex="0" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><h3 class="text" data-v-e32f8976>日志与监控</h3><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-e32f8976><span class="vpi-chevron-right caret-icon" data-v-e32f8976></span></div></div><div class="items" data-v-e32f8976><!--[--><div class="VPSidebarItem level-2 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/core/operation-log.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>5.14 操作日志</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/core/login-log.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>5.15 登录日志</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-1 collapsible" data-v-e32f8976><div class="item" role="button" tabindex="0" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><h3 class="text" data-v-e32f8976>响应与异常</h3><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-e32f8976><span class="vpi-chevron-right caret-icon" data-v-e32f8976></span></div></div><div class="items" data-v-e32f8976><!--[--><div class="VPSidebarItem level-2 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/core/exception.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>5.16 统一响应与异常抛出</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-1 collapsible" data-v-e32f8976><div class="item" role="button" tabindex="0" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><h3 class="text" data-v-e32f8976>注解系统</h3><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-e32f8976><span class="vpi-chevron-right caret-icon" data-v-e32f8976></span></div></div><div class="items" data-v-e32f8976><!--[--><div class="VPSidebarItem level-2 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/core/attributes.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>5.17 注解系统总览</p><!--]--></a><!----></div><!----></div><!--]--></div></section><!--]--></div></section></div><div class="no-transition group" data-v-f04be081><section class="VPSidebarItem level-0 collapsible" data-v-f04be081 data-v-e32f8976><div class="item" role="button" tabindex="0" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><h2 class="text" data-v-e32f8976>📦 6. 业务模块</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-e32f8976><span class="vpi-chevron-right caret-icon" data-v-e32f8976></span></div></div><div class="items" data-v-e32f8976><!--[--><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/modules/user.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>6.1 用户管理</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/modules/role.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>6.2 角色管理</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/modules/menu.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>6.3 菜单管理</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/modules/dept.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>6.4 部门管理</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/modules/level.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>6.5 职级管理</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/modules/position.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>6.6 岗位管理</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/modules/article.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>6.7 文章管理</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/modules/content.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>6.8 公告与链接管理</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/modules/city.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>6.9 行政区划管理</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/modules/category.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>6.10 分类管理</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/modules/job.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>6.11 定时任务</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/modules/param.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>6.12 参数管理</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/modules/tenant.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>6.13 租户管理</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/modules/filetemplate.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>6.14 文件模板管理</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/modules/index.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>6.15 首页与个人中心</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-f04be081><section class="VPSidebarItem level-0 collapsible" data-v-f04be081 data-v-e32f8976><div class="item" role="button" tabindex="0" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><h2 class="text" data-v-e32f8976>🧰 7. 文件处理</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-e32f8976><span class="vpi-chevron-right caret-icon" data-v-e32f8976></span></div></div><div class="items" data-v-e32f8976><!--[--><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/tools/upload.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>7.1 文件上传全流程</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/tools/upload-config.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>7.2 上传配置详解</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/tools/rich-text.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>7.3 富文本处理</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/tools/excel.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>7.4 数据导入导出</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/tools/file-components.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>7.5 前端文件组件</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/tools/db-migrate.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>7.6 数据库迁移工具</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-f04be081><section class="VPSidebarItem level-0 collapsible has-active" data-v-f04be081 data-v-e32f8976><div class="item" role="button" tabindex="0" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><h2 class="text" data-v-e32f8976>🔗 8. 接口规范与对接</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-e32f8976><span class="vpi-chevron-right caret-icon" data-v-e32f8976></span></div></div><div class="items" data-v-e32f8976><!--[--><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/api-spec/response.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>8.1 统一响应格式</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/api-spec/error-code.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>8.2 错误码对照表</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/api-spec/pagination.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>8.3 分页查询规范</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/api-spec/upload.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>8.4 文件上传接口</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/api-spec/dict-api.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>8.5 字典数据接口</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/api-spec/token.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>8.6 Token 使用说明</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/api-spec/overview.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>8.7 API 接口总览</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-f04be081><section class="VPSidebarItem level-0 collapsible" data-v-f04be081 data-v-e32f8976><div class="item" role="button" tabindex="0" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><h2 class="text" data-v-e32f8976>🖥️ 9. 前端开发</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-e32f8976><span class="vpi-chevron-right caret-icon" data-v-e32f8976></span></div></div><div class="items" data-v-e32f8976><!--[--><section class="VPSidebarItem level-1 collapsible" data-v-e32f8976><div class="item" role="button" tabindex="0" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><h3 class="text" data-v-e32f8976>工程基础</h3><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-e32f8976><span class="vpi-chevron-right caret-icon" data-v-e32f8976></span></div></div><div class="items" data-v-e32f8976><!--[--><div class="VPSidebarItem level-2 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/frontend/overview.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>9.1 前端工程概述</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/frontend/directory.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>9.2 目录结构详解</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/frontend/env-config.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>9.3 环境与构建配置</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-1 collapsible" data-v-e32f8976><div class="item" role="button" tabindex="0" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><h3 class="text" data-v-e32f8976>核心机制</h3><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-e32f8976><span class="vpi-chevron-right caret-icon" data-v-e32f8976></span></div></div><div class="items" data-v-e32f8976><!--[--><div class="VPSidebarItem level-2 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/frontend/http.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>9.4 HTTP 请求封装</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/frontend/router.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>9.5 路由与动态菜单</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/frontend/store.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>9.6 状态管理(Pinia)</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/frontend/permission.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>9.7 权限控制</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/frontend/login.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>9.8 登录流程</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-1 collapsible" data-v-e32f8976><div class="item" role="button" tabindex="0" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><h3 class="text" data-v-e32f8976>公共组件</h3><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-e32f8976><span class="vpi-chevron-right caret-icon" data-v-e32f8976></span></div></div><div class="items" data-v-e32f8976><!--[--><div class="VPSidebarItem level-2 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/frontend/display-components.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>9.9 数据展示组件</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/frontend/form-components.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>9.10 数据录入组件</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/frontend/excel-components.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>9.11 Excel 导入导出组件</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-1 collapsible" data-v-e32f8976><div class="item" role="button" tabindex="0" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><h3 class="text" data-v-e32f8976>开发实践</h3><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-e32f8976><span class="vpi-chevron-right caret-icon" data-v-e32f8976></span></div></div><div class="items" data-v-e32f8976><!--[--><div class="VPSidebarItem level-2 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/frontend/new-page.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>9.12 新增页面开发步骤</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/frontend/api-module.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>9.13 API 模块编写规范</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/frontend/style.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>9.14 样式与主题定制</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/frontend/layout.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>9.15 布局系统</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/frontend/utils.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>9.16 工具函数</p><!--]--></a><!----></div><!----></div><!--]--></div></section><!--]--></div></section></div><div class="no-transition group" data-v-f04be081><section class="VPSidebarItem level-0 collapsible" data-v-f04be081 data-v-e32f8976><div class="item" role="button" tabindex="0" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><h2 class="text" data-v-e32f8976>🔧 10. 代码生成器</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-e32f8976><span class="vpi-chevron-right caret-icon" data-v-e32f8976></span></div></div><div class="items" data-v-e32f8976><!--[--><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/generator/overview.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>10.1 概述与架构</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/generator/cli.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>10.2 CLI 命令行使用</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/generator/web-ui.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>10.3 Web 管理界面</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/generator/parser.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>10.4 表结构解析引擎</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/generator/code-engine.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>10.5 代码生成引擎</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/generator/templates.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>10.6 自定义模板开发</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/generator/config.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>10.7 配置文件详解</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/generator/demo.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>10.8 实战案例</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/generator/faq.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>10.9 常见问题</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-f04be081><section class="VPSidebarItem level-0 collapsible" data-v-f04be081 data-v-e32f8976><div class="item" role="button" tabindex="0" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><h2 class="text" data-v-e32f8976>⚙️ 11. 运维部署</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-e32f8976><span class="vpi-chevron-right caret-icon" data-v-e32f8976></span></div></div><div class="items" data-v-e32f8976><!--[--><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/deploy/checklist.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>11.1 部署 Checklist</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/deploy/env-plan.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>11.2 环境规划</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/deploy/db-migrate.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>11.3 数据库迁移</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/deploy/backend.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>11.4 后端部署</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/deploy/frontend.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>11.5 前端部署</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/deploy/docker.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>11.6 Docker 生产部署</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/deploy/performance.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>11.7 性能调优</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/deploy/security.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>11.8 安全加固清单</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/deploy/backup.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>11.9 备份与恢复</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/deploy/troubleshooting.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>11.10 故障排查手册</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/deploy/ci-cd.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>11.11 CI/CD 流水线</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-f04be081><section class="VPSidebarItem level-0 collapsible" data-v-f04be081 data-v-e32f8976><div class="item" role="button" tabindex="0" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><h2 class="text" data-v-e32f8976>📋 12. 规范标准</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-e32f8976><span class="vpi-chevron-right caret-icon" data-v-e32f8976></span></div></div><div class="items" data-v-e32f8976><!--[--><section class="VPSidebarItem level-1 collapsible" data-v-e32f8976><div class="item" role="button" tabindex="0" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><h3 class="text" data-v-e32f8976>⭐ 必须遵守</h3><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-e32f8976><span class="vpi-chevron-right caret-icon" data-v-e32f8976></span></div></div><div class="items" data-v-e32f8976><!--[--><div class="VPSidebarItem level-2 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/standards/api-response.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>12.1 API 响应规范</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/standards/pagination.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>12.2 分页查询规范</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/standards/git.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>12.3 Git 提交规范</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-1 collapsible" data-v-e32f8976><div class="item" role="button" tabindex="0" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><h3 class="text" data-v-e32f8976>📌 建议遵守</h3><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-e32f8976><span class="vpi-chevron-right caret-icon" data-v-e32f8976></span></div></div><div class="items" data-v-e32f8976><!--[--><div class="VPSidebarItem level-2 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/standards/deletion.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>12.4 数据删除规范</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/standards/code-review.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>12.5 代码审查清单</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/standards/backend-code.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>12.6 后端编码规范</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/standards/frontend-code.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>12.7 前端编码规范</p><!--]--></a><!----></div><!----></div><!--]--></div></section><!--]--></div></section></div><div class="no-transition group" data-v-f04be081><section class="VPSidebarItem level-0 collapsible" data-v-f04be081 data-v-e32f8976><div class="item" role="button" tabindex="0" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><h2 class="text" data-v-e32f8976>📄 附录</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-e32f8976><span class="vpi-chevron-right caret-icon" data-v-e32f8976></span></div></div><div class="items" data-v-e32f8976><!--[--><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/appendix/faq.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>A. 常见问题汇总</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/appendix/database-tables.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>B. 数据库表结构速查</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/appendix/config-reference.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>C. 配置项速查</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/appendix/functions.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>D. 公共函数速查</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/appendix/api-cheatsheet.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>E. API 接口速查表</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/appendix/middleware.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>F. 中间件执行顺序</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/appendix/components.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>G. 前端组件速查</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/appendix/stores.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>H. 前端 Store 速查</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/appendix/enums.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>I. 前端 Enums 速查</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/appendix/glossary.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>J. 术语表</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/appendix/commands.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>K. Artisan 命令速查</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/other/contributing.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>L. 贡献指南</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/other/declare.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>M. 免责声明</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link link" href="/zh/other/sponsor.html" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>N. 广告赞助</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e32f8976><div class="item" data-v-e32f8976><div class="indicator" data-v-e32f8976></div><a class="VPLink link vp-external-link-icon link" href="https://gitee.com/rxthinkcmf/RXThinkCMF_Laravel13_NaiveVue" target="_blank" rel="noreferrer" data-v-e32f8976><!--[--><p class="text" data-v-e32f8976>O. 开源协议</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-4dae6186 data-v-e52db3a1><div class="VPDoc has-sidebar has-aside" data-v-e52db3a1 data-v-b97a2373><!--[--><!--]--><div class="container" data-v-b97a2373><div class="aside" data-v-b97a2373><div class="aside-curtain" data-v-b97a2373></div><div class="aside-container" data-v-b97a2373><div class="aside-content" data-v-b97a2373><div class="VPDocAside" data-v-b97a2373 data-v-c23100fe><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-c23100fe data-v-b5a1c08a><div class="content" data-v-b5a1c08a><div class="outline-marker" data-v-b5a1c08a></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-b5a1c08a>本页内容</div><ul class="VPDocOutlineItem root" data-v-b5a1c08a data-v-67a5fa10><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-c23100fe></div><!--[--><!--[--><!--[--><!--[--><!--[--><div class="VPDocAsideSponsors" data-v-46d2db61><div class="VPSponsors vp-sponsor aside"><!--[--><section class="vp-sponsor-section"><!----><div class="VPSponsorsGrid vp-sponsor-grid mini"><!--[--><div class="vp-sponsor-grid-item"><a class="vp-sponsor-grid-link" href="https://www.rxthink.cn" target="_blank" rel="sponsored noopener"><article class="vp-sponsor-grid-box"><h4 class="visually-hidden">Become a sponsor</h4><img class="vp-sponsor-grid-image" src="/sponsor/rxthinkcmf.png" alt="Become a sponsor"></article></a></div><!--]--></div></section><section class="vp-sponsor-section"><!----><div class="VPSponsorsGrid vp-sponsor-grid xmini"><!--[--><div class="vp-sponsor-grid-item"><a class="vp-sponsor-grid-link" href="https://www.rxthink.cn" target="_blank" rel="sponsored noopener"><article class="vp-sponsor-grid-box"><h4 class="visually-hidden">企业级中台解决方案</h4><img class="vp-sponsor-grid-image" src="/sponsor/rxthinkcmf.png" alt="企业级中台解决方案"></article></a></div><div class="vp-sponsor-grid-item"><a class="vp-sponsor-grid-link" href="https://www.rxthink.cn" target="_blank" rel="sponsored noopener"><article class="vp-sponsor-grid-box"><h4 class="visually-hidden">企业级中台解决方案</h4><img class="vp-sponsor-grid-image" src="/sponsor/rxthinkcmf.png" alt="企业级中台解决方案"></article></a></div><!--]--></div></section><!--]--></div></div><a class="banner mp" href="https://www.rxthink.cn" target="_blank" data-v-46d2db61><img width="22" height="22" src="/sponsor/rxthinkcmf.png" data-v-46d2db61><span data-v-46d2db61><p class="extra-info" data-v-46d2db61>赋能开发者</p><p class="heading" data-v-46d2db61>企业级中台解决方案</p><p class="extra-info" data-v-46d2db61>助力企业发展</p></span></a><a class="banner cert" href="https://www.rxthink.cn" target="_blank" data-v-46d2db61><img width="22" height="22" src="/sponsor/rxthinkcmf.png" data-v-46d2db61><span data-v-46d2db61><p class="extra-info" data-v-46d2db61>赋能开发者</p><p class="heading" data-v-46d2db61>企业级中台解决方案</p><p class="extra-info" data-v-46d2db61>助力企业发展</p></span></a><!--]--><!--]--><!--]--><!--]--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-b97a2373><div class="content-container" data-v-b97a2373><!--[--><!--]--><main class="main" data-v-b97a2373><div style="position:relative;" class="vp-doc _zh_api-spec_dict-api" data-v-b97a2373><div><h1 id="_8-5-字典数据接口" tabindex="-1">8.5 字典数据接口 <a class="header-anchor" href="#_8-5-字典数据接口" aria-label="Permalink to &quot;8.5 字典数据接口&quot;">​</a></h1><div class="tip custom-block"><p class="custom-block-title">概述</p><p>字典数据接口分为两组:字典管理(DictController)和字典项管理(DictItemController)。前端通过字典编码获取字典项列表用于下拉框,后台通过管理接口维护字典数据。字典项变更时 <code>DictItemObserver</code> <strong>自动失效缓存</strong>。</p></div><h2 id="接口总览" tabindex="-1">接口总览 <a class="header-anchor" href="#接口总览" aria-label="Permalink to &quot;接口总览&quot;">​</a></h2><h3 id="字典管理-DictController-" tabindex="-1">字典管理(DictController) <a class="header-anchor" href="#字典管理-DictController-" aria-label="Permalink to &quot;字典管理(DictController)&quot;">​</a></h3><table tabindex="0"><thead><tr><th>方法</th><th>URL</th><th>权限码</th><th>说明</th></tr></thead><tbody><tr><td>GET</td><td><code>/api/dict/page</code></td><td>sys:dict:page</td><td>字典分页列表</td></tr><tr><td>GET</td><td><code>/api/dict/detail/{id}</code></td><td>sys:dict:detail</td><td>字典详情</td></tr><tr><td>POST</td><td><code>/api/dict/add</code></td><td>sys:dict:add</td><td>添加字典</td></tr><tr><td>PUT</td><td><code>/api/dict/update</code></td><td>sys:dict:update</td><td>修改字典</td></tr><tr><td>DELETE</td><td><code>/api/dict/delete/{id}</code></td><td>sys:dict:delete</td><td>删除字典</td></tr><tr><td>DELETE</td><td><code>/api/dict/batchDelete</code></td><td>sys:dict:batchDelete</td><td>批量删除字典</td></tr><tr><td>GET</td><td><code>/api/dict/refreshCache</code></td><td>sys:dict:update</td><td>刷新字典缓存(<code>#[DemoAllow]</code> 演示环境放行)</td></tr></tbody></table><h3 id="字典项管理-DictItemController-" tabindex="-1">字典项管理(DictItemController) <a class="header-anchor" href="#字典项管理-DictItemController-" aria-label="Permalink to &quot;字典项管理(DictItemController)&quot;">​</a></h3><table tabindex="0"><thead><tr><th>方法</th><th>URL</th><th>权限码</th><th>说明</th></tr></thead><tbody><tr><td>GET</td><td><code>/api/dict/item/page</code></td><td>sys:dict:page</td><td>字典项分页列表</td></tr><tr><td>GET</td><td><code>/api/dict/item/detail/{id}</code></td><td>sys:dict:detail</td><td>字典项详情</td></tr><tr><td>POST</td><td><code>/api/dict/item/add</code></td><td>sys:dict:add</td><td>添加字典项</td></tr><tr><td>PUT</td><td><code>/api/dict/item/update</code></td><td>sys:dict:update</td><td>修改字典项</td></tr><tr><td>DELETE</td><td><code>/api/dict/item/delete/{id}</code></td><td>sys:dict:delete</td><td>删除字典项</td></tr><tr><td>DELETE</td><td><code>/api/dict/item/batchDelete</code></td><td>sys:dict:batchDelete</td><td>批量删除字典项</td></tr><tr><td>GET</td><td><code>/api/dict/item/getDictItemList/{code}</code></td><td>—</td><td>按编码获取字典项列表</td></tr></tbody></table><div class="tip custom-block"><p class="custom-block-title">批量删除为 DELETE</p><p>本项目 <code>batchDelete</code> 系列接口统一为 <strong>DELETE</strong> 方法(请求体传 <code>ids</code> 数组——DELETE 方法携带 body)。</p></div><h2 id="按编码获取字典项-最常用-" tabindex="-1">按编码获取字典项(最常用) <a class="header-anchor" href="#按编码获取字典项-最常用-" aria-label="Permalink to &quot;按编码获取字典项(最常用)&quot;">​</a></h2><h3 id="接口信息" tabindex="-1">接口信息 <a class="header-anchor" href="#接口信息" aria-label="Permalink to &quot;接口信息&quot;">​</a></h3><table tabindex="0"><thead><tr><th>项目</th><th>说明</th></tr></thead><tbody><tr><td>URL</td><td><code>GET /api/dict/item/getDictItemList/{code}</code></td></tr><tr><td>权限</td><td>无需额外权限注解(已登录即可,位于 <code>auth.jwt</code> 组内)</td></tr><tr><td>用途</td><td>前端下拉框数据源</td></tr></tbody></table><h3 id="请求示例" tabindex="-1">请求示例 <a class="header-anchor" href="#请求示例" aria-label="Permalink to &quot;请求示例&quot;">​</a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes dracula-soft vitesse-light vp-code" tabindex="0"><code><span class="line"><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">GET</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> /api/dict/item/getDictItemList/gender</span></span>
<span class="line"><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">Authorization:</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> Bearer</span><span style="--shiki-dark:#F286C4;--shiki-light:#AB5959;"> &lt;</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">toke</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;">n</span><span style="--shiki-dark:#F286C4;--shiki-light:#AB5959;">&gt;</span></span></code></pre></div><h3 id="成功响应" tabindex="-1">成功响应 <a class="header-anchor" href="#成功响应" aria-label="Permalink to &quot;成功响应&quot;">​</a></h3><div class="language-json vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes dracula-soft vitesse-light vp-code" tabindex="0"><code><span class="line"><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">{</span></span>
<span class="line"><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;"> &quot;</span><span style="--shiki-dark:#97E1F1;--shiki-light:#998418;">code</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;">&quot;</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">:</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#2F798A;"> 0</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">,</span></span>
<span class="line"><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;"> &quot;</span><span style="--shiki-dark:#97E1F1;--shiki-light:#998418;">ok</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;">&quot;</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">:</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#1E754F;"> true</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">,</span></span>
<span class="line"><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;"> &quot;</span><span style="--shiki-dark:#97E1F1;--shiki-light:#998418;">msg</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;">&quot;</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">:</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;"> &quot;</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">操作成功</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">&quot;</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">,</span></span>
<span class="line"><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;"> &quot;</span><span style="--shiki-dark:#97E1F1;--shiki-light:#998418;">data</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;">&quot;</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">:</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;"> [</span></span>
<span class="line"><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;"> {</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;"> &quot;</span><span style="--shiki-dark:#97E1F1;--shiki-light:#998418;">id</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;">&quot;</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">:</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#2F798A;"> 1</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">,</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;"> &quot;</span><span style="--shiki-dark:#97E1F1;--shiki-light:#998418;">name</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;">&quot;</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">:</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;"> &quot;</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">男</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">&quot;</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">,</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;"> &quot;</span><span style="--shiki-dark:#97E1F1;--shiki-light:#998418;">value</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;">&quot;</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">:</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;"> &quot;</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">1</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">&quot;</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">,</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;"> &quot;</span><span style="--shiki-dark:#97E1F1;--shiki-light:#998418;">sort</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;">&quot;</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">:</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#2F798A;"> 1</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">,</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;"> &quot;</span><span style="--shiki-dark:#97E1F1;--shiki-light:#998418;">note</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;">&quot;</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">:</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;"> &quot;&quot;</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;"> },</span></span>
<span class="line"><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;"> {</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;"> &quot;</span><span style="--shiki-dark:#97E1F1;--shiki-light:#998418;">id</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;">&quot;</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">:</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#2F798A;"> 2</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">,</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;"> &quot;</span><span style="--shiki-dark:#97E1F1;--shiki-light:#998418;">name</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;">&quot;</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">:</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;"> &quot;</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">女</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">&quot;</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">,</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;"> &quot;</span><span style="--shiki-dark:#97E1F1;--shiki-light:#998418;">value</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;">&quot;</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">:</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;"> &quot;</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">2</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">&quot;</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">,</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;"> &quot;</span><span style="--shiki-dark:#97E1F1;--shiki-light:#998418;">sort</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;">&quot;</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">:</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#2F798A;"> 2</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">,</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;"> &quot;</span><span style="--shiki-dark:#97E1F1;--shiki-light:#998418;">note</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;">&quot;</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">:</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;"> &quot;&quot;</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;"> },</span></span>
<span class="line"><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;"> {</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;"> &quot;</span><span style="--shiki-dark:#97E1F1;--shiki-light:#998418;">id</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;">&quot;</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">:</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#2F798A;"> 3</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">,</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;"> &quot;</span><span style="--shiki-dark:#97E1F1;--shiki-light:#998418;">name</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;">&quot;</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">:</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;"> &quot;</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">保密</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">&quot;</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">,</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;"> &quot;</span><span style="--shiki-dark:#97E1F1;--shiki-light:#998418;">value</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;">&quot;</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">:</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;"> &quot;</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">3</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">&quot;</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">,</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;"> &quot;</span><span style="--shiki-dark:#97E1F1;--shiki-light:#998418;">sort</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;">&quot;</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">:</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#2F798A;"> 3</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">,</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;"> &quot;</span><span style="--shiki-dark:#97E1F1;--shiki-light:#998418;">note</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;">&quot;</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">:</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;"> &quot;&quot;</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;"> }</span></span>
<span class="line"><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;"> ]</span></span>
<span class="line"><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">}</span></span></code></pre></div><h3 id="响应字段" tabindex="-1">响应字段 <a class="header-anchor" href="#响应字段" aria-label="Permalink to &quot;响应字段&quot;">​</a></h3><table tabindex="0"><thead><tr><th>字段</th><th>类型</th><th>说明</th></tr></thead><tbody><tr><td><code>id</code></td><td>number</td><td>字典项 ID</td></tr><tr><td><code>name</code></td><td>string</td><td>字典项名称(显示标签)</td></tr><tr><td><code>value</code></td><td>string</td><td>字典项值(存储值)</td></tr><tr><td><code>sort</code></td><td>number</td><td>排序</td></tr><tr><td><code>note</code></td><td>string</td><td>备注</td></tr></tbody></table><h3 id="常用字典编码-以初始化脚本为准-" tabindex="-1">常用字典编码(以初始化脚本为准) <a class="header-anchor" href="#常用字典编码-以初始化脚本为准-" aria-label="Permalink to &quot;常用字典编码(以初始化脚本为准)&quot;">​</a></h3><table tabindex="0"><thead><tr><th>编码</th><th>说明</th><th>字典项</th></tr></thead><tbody><tr><td><code>gender</code></td><td>性别</td><td>1=男, 2=女, 3=保密</td></tr><tr><td><code>user_status</code></td><td>用户状态</td><td>1=正常, 2=禁用</td></tr><tr><td><code>tenant_status</code></td><td>租户状态</td><td>1=启用, 0=禁用</td></tr><tr><td><code>example_type</code></td><td>案例类型</td><td>1=类型1, 2=类型2, 3=类型3, 4=类型4</td></tr><tr><td><code>example_status</code></td><td>案例状态</td><td>1=在用, 2=停用</td></tr></tbody></table><p>(完整字典可在「数据管理 → 字典管理」中查看。)</p><h2 id="刷新字典缓存" tabindex="-1">刷新字典缓存 <a class="header-anchor" href="#刷新字典缓存" aria-label="Permalink to &quot;刷新字典缓存&quot;">​</a></h2><table tabindex="0"><thead><tr><th>项目</th><th>说明</th></tr></thead><tbody><tr><td>URL</td><td><code>GET /api/dict/refreshCache</code></td></tr><tr><td>权限</td><td><code>sys:dict:update</code></td></tr><tr><td>演示环境</td><td>允许执行(标注 <code>#[DemoAllow]</code>)</td></tr></tbody></table><div class="tip custom-block"><p class="custom-block-title">正常情况无需手动刷新</p><p>字典项通过后台接口增删改时,<code>DictItemObserver</code> <strong>自动清除</strong>对应字典缓存。本接口用于<strong>绕过模型直接改库</strong>后的手动兜底,或运维批量刷新。</p></div><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes dracula-soft vitesse-light vp-code" tabindex="0"><code><span class="line"><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">GET</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> /api/dict/refreshCache</span></span>
<span class="line"><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">Authorization:</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> Bearer</span><span style="--shiki-dark:#F286C4;--shiki-light:#AB5959;"> &lt;</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">toke</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;">n</span><span style="--shiki-dark:#F286C4;--shiki-light:#AB5959;">&gt;</span></span></code></pre></div><p>响应:</p><div class="language-json vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes dracula-soft vitesse-light vp-code" tabindex="0"><code><span class="line"><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">{</span></span>
<span class="line"><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;"> &quot;</span><span style="--shiki-dark:#97E1F1;--shiki-light:#998418;">code</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;">&quot;</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">:</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#2F798A;"> 0</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">,</span></span>
<span class="line"><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;"> &quot;</span><span style="--shiki-dark:#97E1F1;--shiki-light:#998418;">ok</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;">&quot;</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">:</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#1E754F;"> true</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">,</span></span>
<span class="line"><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;"> &quot;</span><span style="--shiki-dark:#97E1F1;--shiki-light:#998418;">msg</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;">&quot;</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">:</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;"> &quot;</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">缓存刷新成功</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">&quot;</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">,</span></span>
<span class="line"><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;"> &quot;</span><span style="--shiki-dark:#97E1F1;--shiki-light:#998418;">data</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;">&quot;</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">:</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#1E754F;"> null</span></span>
<span class="line"><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">}</span></span></code></pre></div><p>命令行兜底:<code>php artisan dict:clear-cache</code>。</p><h2 id="前端使用" tabindex="-1">前端使用 <a class="header-anchor" href="#前端使用" aria-label="Permalink to &quot;前端使用&quot;">​</a></h2><h3 id="获取字典项" tabindex="-1">获取字典项 <a class="header-anchor" href="#获取字典项" aria-label="Permalink to &quot;获取字典项&quot;">​</a></h3><div class="language-typescript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes dracula-soft vitesse-light vp-code" tabindex="0"><code><span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">// ui/src/api/common/index.ts(实际代码)</span></span>
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">/**</span></span>
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"> * 根据字典编码查询字典项数据</span></span>
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"> * </span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">@</span><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">param</span><span style="--shiki-dark:#FFB86C;--shiki-dark-font-style:italic;--shiki-light:#B07D48;--shiki-light-font-style:inherit;"> code</span><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"> 字典编码</span></span>
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"> * </span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">@</span><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">returns</span><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"> 返回结果</span></span>
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"> */</span></span>
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">export</span><span style="--shiki-dark:#F286C4;--shiki-light:#AB5959;"> function</span><span style="--shiki-dark:#62E884;--shiki-light:#59873A;"> getDictItemByCode</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">(</span><span style="--shiki-dark:#FFB86C;--shiki-dark-font-style:italic;--shiki-light:#B07D48;--shiki-light-font-style:inherit;">code</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">)</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;"> {</span></span>
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;"> return</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#B07D48;"> http</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">.</span><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">request</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">({</span></span>
<span class="line"><span style="--shiki-dark:#F6F6F4;--shiki-light:#998418;"> url</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">:</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;"> &#39;</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">/dict/item/getDictItemList/</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">&#39;</span><span style="--shiki-dark:#F286C4;--shiki-light:#AB5959;"> +</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#B07D48;"> code</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">,</span></span>
<span class="line"><span style="--shiki-dark:#F6F6F4;--shiki-light:#998418;"> method</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">:</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;"> &#39;</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">GET</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">&#39;</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">,</span></span>
<span class="line"><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;"> });</span></span>
<span class="line"><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">}</span></span></code></pre></div><h3 id="下拉框使用" tabindex="-1">下拉框使用 <a class="header-anchor" href="#下拉框使用" aria-label="Permalink to &quot;下拉框使用&quot;">​</a></h3><div class="language-vue vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes dracula-soft vitesse-light vp-code" tabindex="0"><code><span class="line"><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">&lt;</span><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">template</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">&gt;</span></span>
<span class="line"><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;"> &lt;</span><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">n-select</span></span>
<span class="line"><span style="--shiki-dark:#62E884;--shiki-dark-font-style:italic;--shiki-light:#B07D48;--shiki-light-font-style:inherit;"> v-model:value</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">=</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">&quot;</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">formData.status</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">&quot;</span></span>
<span class="line"><span style="--shiki-dark:#62E884;--shiki-dark-font-style:italic;--shiki-light:#B07D48;--shiki-light-font-style:inherit;"> :options</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">=</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">&quot;</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">statusOptions</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">&quot;</span></span>
<span class="line"><span style="--shiki-dark:#62E884;--shiki-dark-font-style:italic;--shiki-light:#B07D48;--shiki-light-font-style:inherit;"> placeholder</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">=</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">&quot;</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">请选择状态</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">&quot;</span></span>
<span class="line"><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;"> /&gt;</span></span>
<span class="line"><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">&lt;/</span><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">template</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">&gt;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">&lt;</span><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">script</span><span style="--shiki-dark:#62E884;--shiki-dark-font-style:italic;--shiki-light:#B07D48;--shiki-light-font-style:inherit;"> setup</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">&gt;</span></span>
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">import</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;"> {</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#B07D48;"> ref</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">,</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#B07D48;"> onMounted</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;"> }</span><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;"> from</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;"> &#39;</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">vue</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">&#39;</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">;</span></span>
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">import</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;"> {</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#B07D48;"> getDictItemByCode</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;"> }</span><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;"> from</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;"> &#39;</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">@/api/common/index</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">&#39;</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#AB5959;">const</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#B07D48;"> statusOptions</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =</span><span style="--shiki-dark:#62E884;--shiki-light:#59873A;"> ref</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">([]);</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">onMounted</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">(</span><span style="--shiki-dark:#F286C4;--shiki-light:#AB5959;">async</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;"> ()</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =&gt;</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;"> {</span></span>
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#AB5959;"> const</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#B07D48;"> list</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =</span><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;"> await</span><span style="--shiki-dark:#62E884;--shiki-light:#59873A;"> getDictItemByCode</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">(</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">&#39;</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">example_status</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">&#39;</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">);</span></span>
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"> // n-select 的 options 需要 { label, value } 结构</span></span>
<span class="line"><span style="--shiki-dark:#F6F6F4;--shiki-light:#B07D48;"> statusOptions</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">.</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#B07D48;">value</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#B07D48;"> list</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">.</span><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">map</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">((</span><span style="--shiki-dark:#FFB86C;--shiki-dark-font-style:italic;--shiki-light:#B07D48;--shiki-light-font-style:inherit;">item</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">)</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =&gt;</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;"> ({</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#998418;"> label</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">:</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#B07D48;"> item</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">.</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#B07D48;">name</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">,</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#998418;"> value</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">:</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#B07D48;"> item</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">.</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#B07D48;">value</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;"> }));</span></span>
<span class="line"><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">});</span></span>
<span class="line"><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">&lt;/</span><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">script</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">&gt;</span></span></code></pre></div><h3 id="多个字典批量获取" tabindex="-1">多个字典批量获取 <a class="header-anchor" href="#多个字典批量获取" aria-label="Permalink to &quot;多个字典批量获取&quot;">​</a></h3><div class="language-typescript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes dracula-soft vitesse-light vp-code" tabindex="0"><code><span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#AB5959;">const</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;"> [</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#B07D48;">genderOptions</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">,</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#B07D48;"> statusOptions</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">]</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =</span><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;"> await</span><span style="--shiki-dark:#97E1F1;--shiki-dark-font-style:italic;--shiki-light:#998418;--shiki-light-font-style:inherit;"> Promise</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">.</span><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">all</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">([</span></span>
<span class="line"><span style="--shiki-dark:#62E884;--shiki-light:#59873A;"> getDictItemByCode</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">(</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">&#39;</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">gender</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">&#39;</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">),</span></span>
<span class="line"><span style="--shiki-dark:#62E884;--shiki-light:#59873A;"> getDictItemByCode</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">(</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">&#39;</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">user_status</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">&#39;</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">),</span></span>
<span class="line"><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">]);</span></span></code></pre></div><h3 id="枚举显示名自动翻译" tabindex="-1">枚举显示名自动翻译 <a class="header-anchor" href="#枚举显示名自动翻译" aria-label="Permalink to &quot;枚举显示名自动翻译&quot;">​</a></h3><p>Service 中配置 <code>serializeMaps</code>(需 <code>use HasSerializeMaps</code>)后,查询数据自动补全 <code>{字段名}Text</code>:</p><div class="language-php vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">php</span><pre class="shiki shiki-themes dracula-soft vitesse-light vp-code" tabindex="0"><code><span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#AB5959;">protected</span><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;"> array</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;"> $</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#B07D48;">serializeMaps</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;"> [</span></span>
<span class="line"><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;"> &#39;</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">status</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">&#39;</span><span style="--shiki-dark:#F286C4;--shiki-light:#AB5959;"> =&gt;</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;"> &#39;</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">example_status</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">&#39;</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">,</span></span>
<span class="line"><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">];</span></span></code></pre></div><div class="language-json vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes dracula-soft vitesse-light vp-code" tabindex="0"><code><span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">// API 响应自动包含 statusText</span></span>
<span class="line"><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">{</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;"> &quot;</span><span style="--shiki-dark:#97E1F1;--shiki-light:#998418;">id</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;">&quot;</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">:</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#2F798A;"> 1</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">,</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;"> &quot;</span><span style="--shiki-dark:#97E1F1;--shiki-light:#998418;">name</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;">&quot;</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">:</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;"> &quot;</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">测试</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">&quot;</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">,</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;"> &quot;</span><span style="--shiki-dark:#97E1F1;--shiki-light:#998418;">status</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;">&quot;</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">:</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#2F798A;"> 1</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">,</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;"> &quot;</span><span style="--shiki-dark:#97E1F1;--shiki-light:#998418;">statusText</span><span style="--shiki-dark:#97E2F2;--shiki-light:#99841877;">&quot;</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">:</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;"> &quot;</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">在用</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">&quot;</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;"> }</span></span></code></pre></div><div class="tip custom-block"><p class="custom-block-title">缓存机制</p><p><code>DictCacheService</code> 采用两级缓存(请求级 + Redis 持久缓存)。变更一致性由 Observer 保证;详见 <a href="/zh/architecture/cache.html">4.8 缓存架构设计</a> 与 <a href="/zh/core/dict.html">5.10 字典模块</a>。</p></div><h2 id="后端-DictCacheService-调用" tabindex="-1">后端 DictCacheService 调用 <a class="header-anchor" href="#后端-DictCacheService-调用" aria-label="Permalink to &quot;后端 DictCacheService 调用&quot;">​</a></h2><div class="language-php vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">php</span><pre class="shiki shiki-themes dracula-soft vitesse-light vp-code" tabindex="0"><code><span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">use</span><span style="--shiki-dark:#97E1F1;--shiki-dark-font-style:italic;--shiki-light:#998418;--shiki-light-font-style:inherit;"> App</span><span style="--shiki-dark:#F286C4;--shiki-dark-font-style:italic;--shiki-light:#999999;--shiki-light-font-style:inherit;">\</span><span style="--shiki-dark:#97E1F1;--shiki-dark-font-style:italic;--shiki-light:#998418;--shiki-light-font-style:inherit;">Services</span><span style="--shiki-dark:#F286C4;--shiki-dark-font-style:italic;--shiki-light:#999999;--shiki-light-font-style:inherit;">\</span><span style="--shiki-dark:#97E1F1;--shiki-dark-font-style:italic;--shiki-light:#998418;--shiki-light-font-style:inherit;">DictCacheService</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">// 根据值获取名称</span></span>
<span class="line"><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">$</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#B07D48;">text</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =</span><span style="--shiki-dark:#97E1F1;--shiki-dark-font-style:italic;--shiki-light:#998418;--shiki-light-font-style:inherit;"> DictCacheService</span><span style="--shiki-dark:#F286C4;--shiki-light:#AB5959;">::</span><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">getText</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">(</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">&#39;</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">gender</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">&#39;</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">,</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#2F798A;"> 1</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">);</span><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"> // &#39;男&#39;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">// 根据名称反向获取值</span></span>
<span class="line"><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">$</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#B07D48;">value</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =</span><span style="--shiki-dark:#97E1F1;--shiki-dark-font-style:italic;--shiki-light:#998418;--shiki-light-font-style:inherit;"> DictCacheService</span><span style="--shiki-dark:#F286C4;--shiki-light:#AB5959;">::</span><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">getValue</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">(</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">&#39;</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">gender</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">&#39;</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">,</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;"> &#39;</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">男</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">&#39;</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">);</span><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"> // &#39;1&#39;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">// 获取下拉框选项</span></span>
<span class="line"><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">$</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#B07D48;">options</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =</span><span style="--shiki-dark:#97E1F1;--shiki-dark-font-style:italic;--shiki-light:#998418;--shiki-light-font-style:inherit;"> DictCacheService</span><span style="--shiki-dark:#F286C4;--shiki-light:#AB5959;">::</span><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">getOptions</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">(</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">&#39;</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">gender</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">&#39;</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">);</span></span>
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">// [[&#39;label&#39;=&gt;&#39;男&#39;,&#39;value&#39;=&gt;&#39;1&#39;], [&#39;label&#39;=&gt;&#39;女&#39;,&#39;value&#39;=&gt;&#39;2&#39;], ...]</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">// 批量获取多个字典映射(列表翻译一次取词)</span></span>
<span class="line"><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">$</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#B07D48;">maps</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =</span><span style="--shiki-dark:#97E1F1;--shiki-dark-font-style:italic;--shiki-light:#998418;--shiki-light-font-style:inherit;"> DictCacheService</span><span style="--shiki-dark:#F286C4;--shiki-light:#AB5959;">::</span><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">getBatchTextMaps</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">([</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">&#39;</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">gender</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">&#39;</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">,</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;"> &#39;</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">user_status</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">&#39;</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">]);</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">// 清除缓存</span></span>
<span class="line"><span style="--shiki-dark:#97E1F1;--shiki-dark-font-style:italic;--shiki-light:#998418;--shiki-light-font-style:inherit;">DictCacheService</span><span style="--shiki-dark:#F286C4;--shiki-light:#AB5959;">::</span><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">clearCache</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">(</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">&#39;</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">gender</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">&#39;</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">);</span><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"> // 清除指定字典</span></span>
<span class="line"><span style="--shiki-dark:#97E1F1;--shiki-dark-font-style:italic;--shiki-light:#998418;--shiki-light-font-style:inherit;">DictCacheService</span><span style="--shiki-dark:#F286C4;--shiki-light:#AB5959;">::</span><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">clearAllCache</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">();</span><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"> // 清除所有字典</span></span></code></pre></div></div></div></main><footer class="VPDocFooter" data-v-b97a2373 data-v-11181de8><!--[--><!--]--><div class="edit-info" data-v-11181de8><div class="edit-link" data-v-11181de8><a class="VPLink link vp-external-link-icon no-icon edit-link-button" href="https://gitee.com/rxthinkcmf/RXThinkCMF_Laravel13_NaiveVue" target="_blank" rel="noreferrer" data-v-11181de8><!--[--><span class="vpi-square-pen edit-link-icon" data-v-11181de8></span> 对本页提出修改建议<!--]--></a></div><!----></div><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-11181de8><span class="visually-hidden" id="doc-footer-aria-label" data-v-11181de8>Pager</span><div class="pager" data-v-11181de8><a class="VPLink link pager-link prev" href="/zh/api-spec/upload.html" data-v-11181de8><!--[--><span class="desc" data-v-11181de8>上一页</span><span class="title" data-v-11181de8>8.4 文件上传接口</span><!--]--></a></div><div class="pager" data-v-11181de8><a class="VPLink link pager-link next" href="/zh/api-spec/token.html" data-v-11181de8><!--[--><span class="desc" data-v-11181de8>下一页</span><span class="title" data-v-11181de8>8.6 Token 使用说明</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><footer class="VPFooter has-sidebar" data-v-4dae6186 data-v-04f60575><div class="container" data-v-04f60575><p class="message" data-v-04f60575>小蚂蚁云团队 · 提供技术支持</p><p class="copyright" data-v-04f60575>Copyright © 2018~2026 www.rxthink.cn. All rights reserved.</p></div></footer><!--[--><!--]--></div></div>
<script>window.__VP_HASH_MAP__=JSON.parse("{\"claude.md\":\"CmwsTUDV\",\"index.md\":\"BfVev3oF\",\"readme.md\":\"C09rhUuk\",\"zh_api-spec_dict-api.md\":\"DDWerLVj\",\"zh_api-spec_error-code.md\":\"BaMdlFcG\",\"zh_api-spec_overview.md\":\"CJmp0iBV\",\"zh_api-spec_pagination.md\":\"CD3kk-p4\",\"zh_api-spec_response.md\":\"BR1SH64U\",\"zh_api-spec_token.md\":\"C8eA4flk\",\"zh_api-spec_upload.md\":\"tTgjlj7M\",\"zh_appendix_api-cheatsheet.md\":\"DCWbgKhm\",\"zh_appendix_commands.md\":\"BMuJZ489\",\"zh_appendix_components.md\":\"C4NOE5Ox\",\"zh_appendix_config-reference.md\":\"nnJb-uYE\",\"zh_appendix_database-tables.md\":\"DQRRHJAO\",\"zh_appendix_enums.md\":\"CHa54FfU\",\"zh_appendix_faq.md\":\"FINi6NjZ\",\"zh_appendix_functions.md\":\"DRlatkVI\",\"zh_appendix_glossary.md\":\"CYHL2mf_\",\"zh_appendix_middleware.md\":\"DaJw1rqi\",\"zh_appendix_stores.md\":\"WakVjBl-\",\"zh_architecture_backend-layer.md\":\"DL6NIOvW\",\"zh_architecture_base-classes.md\":\"BjZtEl_g\",\"zh_architecture_cache.md\":\"CeiGf4J5\",\"zh_architecture_cross-cutting.md\":\"DxOn90lE\",\"zh_architecture_database-design.md\":\"CvsADRAM\",\"zh_architecture_directory-design.md\":\"BdWF79zf\",\"zh_architecture_extensibility.md\":\"BdkIodwA\",\"zh_architecture_frontend-layer.md\":\"BTb5fo1h\",\"zh_architecture_overview.md\":\"DcE5KaMd\",\"zh_architecture_request-flow.md\":\"BCm7FLJF\",\"zh_architecture_security.md\":\"zD5PJKA2\",\"zh_changelog.md\":\"DStIxD4p\",\"zh_core_attributes.md\":\"Dxf-Lk5K\",\"zh_core_auth-flow.md\":\"CsyHMQGW\",\"zh_core_captcha.md\":\"QMW9xc-p\",\"zh_core_config.md\":\"B81O9WZO\",\"zh_core_cors.md\":\"ByOJcf5i\",\"zh_core_data-scope.md\":\"BqyY0NV-\",\"zh_core_demo-mode.md\":\"C0wamQs1\",\"zh_core_dict-guide.md\":\"CZXiT8Ag\",\"zh_core_dict.md\":\"BaqYSD1C\",\"zh_core_exception.md\":\"CrxM2cX-\",\"zh_core_jwt.md\":\"DgQb75oj\",\"zh_core_login-log.md\":\"DG154zhF\",\"zh_core_operation-log.md\":\"RQ85qwMA\",\"zh_core_param.md\":\"Bvhk-7TM\",\"zh_core_password.md\":\"BntXAdZB\",\"zh_core_rbac.md\":\"DijWsyoz\",\"zh_core_tenant.md\":\"K6ScUaAh\",\"zh_course.md\":\"CCEPzzlU\",\"zh_deploy_backend.md\":\"Cdzc4Bc1\",\"zh_deploy_backup.md\":\"DtITKH9r\",\"zh_deploy_checklist.md\":\"CQKt9KGj\",\"zh_deploy_ci-cd.md\":\"FFit-2qd\",\"zh_deploy_db-migrate.md\":\"D93GA9lH\",\"zh_deploy_docker.md\":\"D8Put12h\",\"zh_deploy_env-plan.md\":\"BNyeiZJf\",\"zh_deploy_frontend.md\":\"DKRH-5WD\",\"zh_deploy_performance.md\":\"Hn728dgB\",\"zh_deploy_security.md\":\"kihNF0uU\",\"zh_deploy_troubleshooting.md\":\"CJckLTaA\",\"zh_directory.md\":\"Dhamxx49\",\"zh_frontend_api-module.md\":\"CIo8WV2b\",\"zh_frontend_directory.md\":\"CDZ_NJnc\",\"zh_frontend_display-components.md\":\"6yamzql6\",\"zh_frontend_env-config.md\":\"Du5rmWen\",\"zh_frontend_excel-components.md\":\"s0ZizcdL\",\"zh_frontend_form-components.md\":\"CU5GmwCD\",\"zh_frontend_http.md\":\"DGhTiM86\",\"zh_frontend_layout.md\":\"C-xPG49T\",\"zh_frontend_login.md\":\"Cd03yqgJ\",\"zh_frontend_new-page.md\":\"Cmgik6NI\",\"zh_frontend_overview.md\":\"CsNqve6R\",\"zh_frontend_permission.md\":\"Dt7SbNpk\",\"zh_frontend_router.md\":\"Cb4WtU8g\",\"zh_frontend_store.md\":\"tGoYqIu8\",\"zh_frontend_style.md\":\"B0z_IP3L\",\"zh_frontend_utils.md\":\"COeAcmls\",\"zh_generator_cli.md\":\"BoDYsLF2\",\"zh_generator_code-engine.md\":\"DhDRl6aA\",\"zh_generator_config.md\":\"CW46mVW7\",\"zh_generator_demo.md\":\"BYHkGExa\",\"zh_generator_faq.md\":\"Bm5s34Ny\",\"zh_generator_overview.md\":\"BgPKwBEK\",\"zh_generator_parser.md\":\"UvQUB6Et\",\"zh_generator_templates.md\":\"AWt_lQ8w\",\"zh_generator_web-ui.md\":\"nMpjMNvK\",\"zh_guide_code-list.md\":\"CHhHtuIC\",\"zh_guide_controller.md\":\"BE9fZ12j\",\"zh_guide_database.md\":\"DAp8OT-x\",\"zh_guide_faq.md\":\"Bicj0pYB\",\"zh_guide_frontend-integration.md\":\"CBn2lKMC\",\"zh_guide_logic.md\":\"B76W2jcR\",\"zh_guide_model.md\":\"fgvcrXBy\",\"zh_guide_overview.md\":\"64HA48-e\",\"zh_guide_permission.md\":\"Bxxf1oIM\",\"zh_guide_route.md\":\"B9RFEXKZ\",\"zh_guide_validator.md\":\"C9bhgaRm\",\"zh_introduction.md\":\"eNRcdTBB\",\"zh_modules_article.md\":\"LPeUWzyJ\",\"zh_modules_category.md\":\"CNvSXO3h\",\"zh_modules_city.md\":\"CqNkAo1M\",\"zh_modules_content.md\":\"DsOkYZvD\",\"zh_modules_dept.md\":\"DjZqLPgi\",\"zh_modules_filetemplate.md\":\"DPH2nwER\",\"zh_modules_index.md\":\"aaATpoxP\",\"zh_modules_job.md\":\"DK6NCL1O\",\"zh_modules_level.md\":\"BZJvkqI9\",\"zh_modules_menu.md\":\"CBUBhsFY\",\"zh_modules_param.md\":\"Dg7bhSTv\",\"zh_modules_position.md\":\"D9rqZcZh\",\"zh_modules_role.md\":\"D2hQwyXY\",\"zh_modules_tenant.md\":\"CHKESGQX\",\"zh_modules_user.md\":\"CFLGMMZk\",\"zh_other_contributing.md\":\"4xlKv8BB\",\"zh_other_declare.md\":\"DHuZ7YkB\",\"zh_other_sponsor.md\":\"CMHRySP4\",\"zh_quickstart_backend-start.md\":\"CLJGSOAE\",\"zh_quickstart_database-init.md\":\"DAesTSl_\",\"zh_quickstart_docker.md\":\"DvE63qVu\",\"zh_quickstart_env-vars.md\":\"D2Miq5_X\",\"zh_quickstart_environment.md\":\"Ci1mzkEy\",\"zh_quickstart_faq.md\":\"CY12C6Ut\",\"zh_quickstart_first-api.md\":\"D8Q3WCqA\",\"zh_quickstart_frontend-start.md\":\"CmeeXuh1\",\"zh_quickstart_laragon.md\":\"jlt-NXUN\",\"zh_standards_api-response.md\":\"B0t-HsZ0\",\"zh_standards_backend-code.md\":\"CjaDe9TZ\",\"zh_standards_code-review.md\":\"DdUiyZfB\",\"zh_standards_deletion.md\":\"DL7wC1_i\",\"zh_standards_frontend-code.md\":\"Cffga4H9\",\"zh_standards_git.md\":\"a4ticXht\",\"zh_standards_pagination.md\":\"JDydSfsf\",\"zh_tech-stack.md\":\"CMuUu74U\",\"zh_tools_db-migrate.md\":\"BgZKYDUU\",\"zh_tools_excel.md\":\"pIKYeP9z\",\"zh_tools_file-components.md\":\"N8x8FmPa\",\"zh_tools_rich-text.md\":\"D12kT3xb\",\"zh_tools_upload-config.md\":\"CZsUkg1z\",\"zh_tools_upload.md\":\"CTM3IUUL\",\"zh_why.md\":\"CxzKxklC\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"小蚂蚁云\",\"description\":\"A VitePress site\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":\"light\",\"themeConfig\":{\"logo\":\"/logo.svg\",\"outline\":[2,3],\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://gitee.com/rxthinkcmf/RXThinkCMF_Laravel13_NaiveVue\"}],\"footer\":{\"copyright\":\"Copyright © 2018~2026 www.rxthink.cn. All rights reserved.\",\"message\":\"小蚂蚁云团队 · 提供技术支持\"},\"editLink\":{\"pattern\":\"https://gitee.com/rxthinkcmf/RXThinkCMF_Laravel13_NaiveVue\",\"text\":\"对本页提出修改建议\"},\"search\":{\"provider\":\"local\"}},\"locales\":{\"root\":{\"label\":\"简体中文\",\"lang\":\"zh-CN\",\"link\":\"/\",\"description\":\"RXThinkCMF 企业级前后端分离后台管理系统 - Laravel 13 + Vue3 + NaiveUI\",\"head\":[[\"meta\",{\"property\":\"og:url\",\"content\":\"https://www.rxthink.cn\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"RXThinkCMF 企业级前后端分离后台管理系统 - Laravel 13 + Vue3 + NaiveUI\"}],[\"meta\",{\"property\":\"twitter:url\",\"content\":\"https://www.rxthink.cn\"}],[\"meta\",{\"property\":\"twitter:title\",\"content\":\"RXThinkCMF Laravel13+NaiveUI 开发文档\"}],[\"meta\",{\"property\":\"twitter:description\",\"content\":\"RXThinkCMF 企业级前后端分离后台管理系统 - Laravel 13 + Vue3 + NaiveUI\"}],[\"script\",{},\"\\n var _hmt = _hmt || [];\\n (function() {\\n var hm = document.createElement(\\\"script\\\");\\n hm.src = \\\"https://hm.baidu.com/hm.js?4f06f01017cdd5c1a95a58a6787f4d10\\\";\\n var s = document.getElementsByTagName(\\\"script\\\")[0];\\n s.parentNode.insertBefore(hm, s);\\n })();\\n \"]],\"themeConfig\":{\"editLink\":{\"pattern\":\"https://gitee.com/rxthinkcmf/RXThinkCMF_Laravel13_NaiveVue\",\"text\":\"对本页提出修改建议\"},\"outline\":{\"label\":\"本页内容\"},\"docFooter\":{\"prev\":\"上一页\",\"next\":\"下一页\"},\"nav\":[{\"text\":\"官网\",\"link\":\"https://www.rxthink.cn\"},{\"text\":\"授权\",\"link\":\"https://www.rxthink.cn/goods/detail/2\"},{\"text\":\"部署文档\",\"items\":[{\"text\":\"RXThinkCMF混编版ThinkPHP6+Layui版本\",\"link\":\"http://docs.thinkphp6.layui.rxthink.cn\"},{\"text\":\"RXThinkCMF前后端分离ThinkPHP6+ElementPlus版本\",\"link\":\"http://docs.thinkphp6.elevue.rxthink.cn\"},{\"text\":\"RXThinkCMF前后端分离ThinkPHP6+AntDesign版本\",\"link\":\"http://docs.thinkphp6.antdvue.rxthink.cn\"},{\"text\":\"RXThinkCMF前后端分离ThinkPHP6+NaiveUI版本\",\"link\":\"http://docs.thinkphp6.naivevue.rxthink.cn\"},{\"text\":\"RXThinkCMF混编版ThinkPHP8+Layui版本\",\"link\":\"http://docs.thinkphp8.layui.rxthink.cn\"},{\"text\":\"RXThinkCMF前后端分离ThinkPHP8+ElementPlus版本\",\"link\":\"http://docs.thinkphp8.elevue.rxthink.cn\"},{\"text\":\"RXThinkCMF前后端分离ThinkPHP8+AntDesign版本\",\"link\":\"http://docs.thinkphp8.antdvue.rxthink.cn\"},{\"text\":\"RXThinkCMF前后端分离ThinkPHP8+NaiveUI版本\",\"link\":\"http://docs.thinkphp8.naivevue.rxthink.cn\"},{\"text\":\"RXThinkCMF混编版Laravel13+Layui版本\",\"link\":\"http://docs.laravel13.layui.rxthink.cn\"},{\"text\":\"RXThinkCMF前后端分离Laravel13+ElementPlus版本\",\"link\":\"http://docs.laravel13.elevue.rxthink.cn\"},{\"text\":\"RXThinkCMF前后端分离Laravel13+AntDesign版本\",\"link\":\"http://docs.laravel13.antdvue.rxthink.cn\"},{\"text\":\"RXThinkCMF前后端分离Laravel13+NaiveUI版本\",\"link\":\"http://docs.laravel13.naivevue.rxthink.cn\"}]},{\"text\":\"在线演示\",\"items\":[{\"text\":\"RXThinkCMF混编版ThinkPHP6+Layui版本\",\"link\":\"http://manage.thinkphp6.layui.rxthink.cn\"},{\"text\":\"RXThinkCMF前后端分离ThinkPHP6+ElementPlus版本\",\"link\":\"http://manage.thinkphp6.elevue.rxthink.cn\"},{\"text\":\"RXThinkCMF前后端分离ThinkPHP6+AntDesign版本\",\"link\":\"http://manage.thinkphp6.antdvue.rxthink.cn\"},{\"text\":\"RXThinkCMF前后端分离ThinkPHP6+NaiveUI版本\",\"link\":\"http://manage.thinkphp6.naivevue.rxthink.cn\"},{\"text\":\"RXThinkCMF混编版ThinkPHP8+Layui版本\",\"link\":\"http://manage.thinkphp8.layui.rxthink.cn\"},{\"text\":\"RXThinkCMF前后端分离ThinkPHP8+ElementPlus版本\",\"link\":\"http://manage.thinkphp8.elevue.rxthink.cn\"},{\"text\":\"RXThinkCMF前后端分离ThinkPHP8+AntDesign版本\",\"link\":\"http://manage.thinkphp8.antdvue.rxthink.cn\"},{\"text\":\"RXThinkCMF前后端分离ThinkPHP8+NaiveUI版本\",\"link\":\"http://manage.thinkphp8.naivevue.rxthink.cn\"},{\"text\":\"RXThinkCMF混编版Laravel13+Layui版本\",\"link\":\"http://manage.laravel13.layui.rxthink.cn\"},{\"text\":\"RXThinkCMF前后端分离Laravel13+ElementPlus版本\",\"link\":\"http://manage.laravel13.elevue.rxthink.cn\"},{\"text\":\"RXThinkCMF前后端分离Laravel13+AntDesign版本\",\"link\":\"http://manage.laravel13.antdvue.rxthink.cn\"},{\"text\":\"RXThinkCMF前后端分离Laravel13+NaiveUI版本\",\"link\":\"http://manage.laravel13.naivevue.rxthink.cn\"}]},{\"text\":\"广告赞助\",\"link\":\"/zh/other/sponsor.html\"},{\"text\":\"相关链接\",\"items\":[{\"text\":\"官方网站\",\"link\":\"https://www.rxthink.cn\"},{\"text\":\"Gitee 仓库\",\"link\":\"https://gitee.com/rxthinkcmf/RXThinkCMF_Laravel13_NaiveVue\"},{\"text\":\"Laravel 官网\",\"link\":\"https://laravel.com/\"},{\"text\":\"Vue3 文档\",\"link\":\"https://cn.vuejs.org/\"},{\"text\":\"NaiveUI\",\"link\":\"https://www.naiveui.com/\"}]}],\"sidebar\":{\"/zh/\":[{\"text\":\"📖 1. 了解项目\",\"collapsed\":false,\"items\":[{\"text\":\"1.1 项目介绍\",\"link\":\"/zh/introduction.html\"},{\"text\":\"1.2 为什么选择我们\",\"link\":\"/zh/why.html\"},{\"text\":\"1.3 项目目录结构\",\"link\":\"/zh/directory.html\"},{\"text\":\"1.4 新手入门指南\",\"link\":\"/zh/course.html\"},{\"text\":\"1.5 技术栈说明\",\"link\":\"/zh/tech-stack.html\"},{\"text\":\"1.6 更新日志\",\"link\":\"/zh/changelog.html\"}]},{\"text\":\"🚀 2. 快速入门\",\"collapsed\":false,\"items\":[{\"text\":\"2.1 开发环境准备\",\"link\":\"/zh/quickstart/environment.html\"},{\"text\":\"2.2 Laragon 环境搭建\",\"link\":\"/zh/quickstart/laragon.html\"},{\"text\":\"2.3 后端服务启动\",\"link\":\"/zh/quickstart/backend-start.html\"},{\"text\":\"2.4 前端服务启动\",\"link\":\"/zh/quickstart/frontend-start.html\"},{\"text\":\"2.5 数据库初始化\",\"link\":\"/zh/quickstart/database-init.html\"},{\"text\":\"2.6 环境变量配置\",\"link\":\"/zh/quickstart/env-vars.html\"},{\"text\":\"2.7 第一个接口调试\",\"link\":\"/zh/quickstart/first-api.html\"},{\"text\":\"2.8 Docker 快速体验\",\"link\":\"/zh/quickstart/docker.html\"},{\"text\":\"2.9 常见问题 FAQ\",\"link\":\"/zh/quickstart/faq.html\"}]},{\"text\":\"🧪 3. 模块开发实战\",\"collapsed\":false,\"items\":[{\"text\":\"3.1 概述与目标\",\"link\":\"/zh/guide/overview.html\"},{\"text\":\"3.2 数据库建表\",\"link\":\"/zh/guide/database.html\"},{\"text\":\"3.3 模型层开发\",\"link\":\"/zh/guide/model.html\"},{\"text\":\"3.4 FormRequest 验证器\",\"link\":\"/zh/guide/validator.html\"},{\"text\":\"3.5 Service 层开发\",\"link\":\"/zh/guide/logic.html\"},{\"text\":\"3.6 控制器开发\",\"link\":\"/zh/guide/controller.html\"},{\"text\":\"3.7 路由注册\",\"link\":\"/zh/guide/route.html\"},{\"text\":\"3.8 权限节点配置\",\"link\":\"/zh/guide/permission.html\"},{\"text\":\"3.9 前端联调指引\",\"link\":\"/zh/guide/frontend-integration.html\"},{\"text\":\"3.10 完整代码清单\",\"link\":\"/zh/guide/code-list.html\"},{\"text\":\"3.11 常见问题与排错\",\"link\":\"/zh/guide/faq.html\"}]},{\"text\":\"🏛️ 4. 架构设计\",\"collapsed\":false,\"items\":[{\"text\":\"4.1 整体架构概览\",\"link\":\"/zh/architecture/overview.html\"},{\"text\":\"4.2 请求处理链路\",\"link\":\"/zh/architecture/request-flow.html\"},{\"text\":\"4.3 后端分层架构\",\"link\":\"/zh/architecture/backend-layer.html\"},{\"text\":\"4.4 前端分层架构\",\"link\":\"/zh/architecture/frontend-layer.html\"},{\"text\":\"4.5 目录结构设计\",\"link\":\"/zh/architecture/directory-design.html\"},{\"text\":\"4.6 核心基类体系\",\"link\":\"/zh/architecture/base-classes.html\"},{\"text\":\"4.7 横切机制\",\"link\":\"/zh/architecture/cross-cutting.html\"},{\"text\":\"4.8 缓存架构设计\",\"link\":\"/zh/architecture/cache.html\"},{\"text\":\"4.9 数据库设计\",\"link\":\"/zh/architecture/database-design.html\"},{\"text\":\"4.10 安全架构设计\",\"link\":\"/zh/architecture/security.html\"},{\"text\":\"4.11 扩展性设计\",\"link\":\"/zh/architecture/extensibility.html\"}]},{\"text\":\"🔐 5. 核心功能\",\"collapsed\":false,\"items\":[{\"text\":\"认证与安全\",\"collapsed\":false,\"items\":[{\"text\":\"5.1 用户认证(JWT)\",\"link\":\"/zh/core/jwt.html\"},{\"text\":\"5.2 认证流程实战\",\"link\":\"/zh/core/auth-flow.html\"},{\"text\":\"5.3 验证码机制\",\"link\":\"/zh/core/captcha.html\"},{\"text\":\"5.4 权限管理(RBAC)\",\"link\":\"/zh/core/rbac.html\"},{\"text\":\"5.5 跨域资源共享\",\"link\":\"/zh/core/cors.html\"},{\"text\":\"5.6 密码加密服务\",\"link\":\"/zh/core/password.html\"},{\"text\":\"5.7 演示模式\",\"link\":\"/zh/core/demo-mode.html\"}]},{\"text\":\"数据与配置\",\"collapsed\":false,\"items\":[{\"text\":\"5.8 多租户隔离\",\"link\":\"/zh/core/tenant.html\"},{\"text\":\"5.9 数据权限\",\"link\":\"/zh/core/data-scope.html\"},{\"text\":\"5.10 字典模块\",\"link\":\"/zh/core/dict.html\"},{\"text\":\"5.11 字典配置与使用\",\"link\":\"/zh/core/dict-guide.html\"},{\"text\":\"5.12 系统配置管理\",\"link\":\"/zh/core/config.html\"},{\"text\":\"5.13 系统参数管理\",\"link\":\"/zh/core/param.html\"}]},{\"text\":\"日志与监控\",\"collapsed\":false,\"items\":[{\"text\":\"5.14 操作日志\",\"link\":\"/zh/core/operation-log.html\"},{\"text\":\"5.15 登录日志\",\"link\":\"/zh/core/login-log.html\"}]},{\"text\":\"响应与异常\",\"collapsed\":false,\"items\":[{\"text\":\"5.16 统一响应与异常抛出\",\"link\":\"/zh/core/exception.html\"}]},{\"text\":\"注解系统\",\"collapsed\":false,\"items\":[{\"text\":\"5.17 注解系统总览\",\"link\":\"/zh/core/attributes.html\"}]}]},{\"text\":\"📦 6. 业务模块\",\"collapsed\":false,\"items\":[{\"text\":\"6.1 用户管理\",\"link\":\"/zh/modules/user.html\"},{\"text\":\"6.2 角色管理\",\"link\":\"/zh/modules/role.html\"},{\"text\":\"6.3 菜单管理\",\"link\":\"/zh/modules/menu.html\"},{\"text\":\"6.4 部门管理\",\"link\":\"/zh/modules/dept.html\"},{\"text\":\"6.5 职级管理\",\"link\":\"/zh/modules/level.html\"},{\"text\":\"6.6 岗位管理\",\"link\":\"/zh/modules/position.html\"},{\"text\":\"6.7 文章管理\",\"link\":\"/zh/modules/article.html\"},{\"text\":\"6.8 公告与链接管理\",\"link\":\"/zh/modules/content.html\"},{\"text\":\"6.9 行政区划管理\",\"link\":\"/zh/modules/city.html\"},{\"text\":\"6.10 分类管理\",\"link\":\"/zh/modules/category.html\"},{\"text\":\"6.11 定时任务\",\"link\":\"/zh/modules/job.html\"},{\"text\":\"6.12 参数管理\",\"link\":\"/zh/modules/param.html\"},{\"text\":\"6.13 租户管理\",\"link\":\"/zh/modules/tenant.html\"},{\"text\":\"6.14 文件模板管理\",\"link\":\"/zh/modules/filetemplate.html\"},{\"text\":\"6.15 首页与个人中心\",\"link\":\"/zh/modules/index.html\"}]},{\"text\":\"🧰 7. 文件处理\",\"collapsed\":false,\"items\":[{\"text\":\"7.1 文件上传全流程\",\"link\":\"/zh/tools/upload.html\"},{\"text\":\"7.2 上传配置详解\",\"link\":\"/zh/tools/upload-config.html\"},{\"text\":\"7.3 富文本处理\",\"link\":\"/zh/tools/rich-text.html\"},{\"text\":\"7.4 数据导入导出\",\"link\":\"/zh/tools/excel.html\"},{\"text\":\"7.5 前端文件组件\",\"link\":\"/zh/tools/file-components.html\"},{\"text\":\"7.6 数据库迁移工具\",\"link\":\"/zh/tools/db-migrate.html\"}]},{\"text\":\"🔗 8. 接口规范与对接\",\"collapsed\":false,\"items\":[{\"text\":\"8.1 统一响应格式\",\"link\":\"/zh/api-spec/response.html\"},{\"text\":\"8.2 错误码对照表\",\"link\":\"/zh/api-spec/error-code.html\"},{\"text\":\"8.3 分页查询规范\",\"link\":\"/zh/api-spec/pagination.html\"},{\"text\":\"8.4 文件上传接口\",\"link\":\"/zh/api-spec/upload.html\"},{\"text\":\"8.5 字典数据接口\",\"link\":\"/zh/api-spec/dict-api.html\"},{\"text\":\"8.6 Token 使用说明\",\"link\":\"/zh/api-spec/token.html\"},{\"text\":\"8.7 API 接口总览\",\"link\":\"/zh/api-spec/overview.html\"}]},{\"text\":\"🖥️ 9. 前端开发\",\"collapsed\":false,\"items\":[{\"text\":\"工程基础\",\"collapsed\":false,\"items\":[{\"text\":\"9.1 前端工程概述\",\"link\":\"/zh/frontend/overview.html\"},{\"text\":\"9.2 目录结构详解\",\"link\":\"/zh/frontend/directory.html\"},{\"text\":\"9.3 环境与构建配置\",\"link\":\"/zh/frontend/env-config.html\"}]},{\"text\":\"核心机制\",\"collapsed\":false,\"items\":[{\"text\":\"9.4 HTTP 请求封装\",\"link\":\"/zh/frontend/http.html\"},{\"text\":\"9.5 路由与动态菜单\",\"link\":\"/zh/frontend/router.html\"},{\"text\":\"9.6 状态管理(Pinia)\",\"link\":\"/zh/frontend/store.html\"},{\"text\":\"9.7 权限控制\",\"link\":\"/zh/frontend/permission.html\"},{\"text\":\"9.8 登录流程\",\"link\":\"/zh/frontend/login.html\"}]},{\"text\":\"公共组件\",\"collapsed\":false,\"items\":[{\"text\":\"9.9 数据展示组件\",\"link\":\"/zh/frontend/display-components.html\"},{\"text\":\"9.10 数据录入组件\",\"link\":\"/zh/frontend/form-components.html\"},{\"text\":\"9.11 Excel 导入导出组件\",\"link\":\"/zh/frontend/excel-components.html\"}]},{\"text\":\"开发实践\",\"collapsed\":false,\"items\":[{\"text\":\"9.12 新增页面开发步骤\",\"link\":\"/zh/frontend/new-page.html\"},{\"text\":\"9.13 API 模块编写规范\",\"link\":\"/zh/frontend/api-module.html\"},{\"text\":\"9.14 样式与主题定制\",\"link\":\"/zh/frontend/style.html\"},{\"text\":\"9.15 布局系统\",\"link\":\"/zh/frontend/layout.html\"},{\"text\":\"9.16 工具函数\",\"link\":\"/zh/frontend/utils.html\"}]}]},{\"text\":\"🔧 10. 代码生成器\",\"collapsed\":false,\"items\":[{\"text\":\"10.1 概述与架构\",\"link\":\"/zh/generator/overview.html\"},{\"text\":\"10.2 CLI 命令行使用\",\"link\":\"/zh/generator/cli.html\"},{\"text\":\"10.3 Web 管理界面\",\"link\":\"/zh/generator/web-ui.html\"},{\"text\":\"10.4 表结构解析引擎\",\"link\":\"/zh/generator/parser.html\"},{\"text\":\"10.5 代码生成引擎\",\"link\":\"/zh/generator/code-engine.html\"},{\"text\":\"10.6 自定义模板开发\",\"link\":\"/zh/generator/templates.html\"},{\"text\":\"10.7 配置文件详解\",\"link\":\"/zh/generator/config.html\"},{\"text\":\"10.8 实战案例\",\"link\":\"/zh/generator/demo.html\"},{\"text\":\"10.9 常见问题\",\"link\":\"/zh/generator/faq.html\"}]},{\"text\":\"⚙️ 11. 运维部署\",\"collapsed\":false,\"items\":[{\"text\":\"11.1 部署 Checklist\",\"link\":\"/zh/deploy/checklist.html\"},{\"text\":\"11.2 环境规划\",\"link\":\"/zh/deploy/env-plan.html\"},{\"text\":\"11.3 数据库迁移\",\"link\":\"/zh/deploy/db-migrate.html\"},{\"text\":\"11.4 后端部署\",\"link\":\"/zh/deploy/backend.html\"},{\"text\":\"11.5 前端部署\",\"link\":\"/zh/deploy/frontend.html\"},{\"text\":\"11.6 Docker 生产部署\",\"link\":\"/zh/deploy/docker.html\"},{\"text\":\"11.7 性能调优\",\"link\":\"/zh/deploy/performance.html\"},{\"text\":\"11.8 安全加固清单\",\"link\":\"/zh/deploy/security.html\"},{\"text\":\"11.9 备份与恢复\",\"link\":\"/zh/deploy/backup.html\"},{\"text\":\"11.10 故障排查手册\",\"link\":\"/zh/deploy/troubleshooting.html\"},{\"text\":\"11.11 CI/CD 流水线\",\"link\":\"/zh/deploy/ci-cd.html\"}]},{\"text\":\"📋 12. 规范标准\",\"collapsed\":false,\"items\":[{\"text\":\"⭐ 必须遵守\",\"collapsed\":false,\"items\":[{\"text\":\"12.1 API 响应规范\",\"link\":\"/zh/standards/api-response.html\"},{\"text\":\"12.2 分页查询规范\",\"link\":\"/zh/standards/pagination.html\"},{\"text\":\"12.3 Git 提交规范\",\"link\":\"/zh/standards/git.html\"}]},{\"text\":\"📌 建议遵守\",\"collapsed\":false,\"items\":[{\"text\":\"12.4 数据删除规范\",\"link\":\"/zh/standards/deletion.html\"},{\"text\":\"12.5 代码审查清单\",\"link\":\"/zh/standards/code-review.html\"},{\"text\":\"12.6 后端编码规范\",\"link\":\"/zh/standards/backend-code.html\"},{\"text\":\"12.7 前端编码规范\",\"link\":\"/zh/standards/frontend-code.html\"}]}]},{\"text\":\"📄 附录\",\"collapsed\":false,\"items\":[{\"text\":\"A. 常见问题汇总\",\"link\":\"/zh/appendix/faq.html\"},{\"text\":\"B. 数据库表结构速查\",\"link\":\"/zh/appendix/database-tables.html\"},{\"text\":\"C. 配置项速查\",\"link\":\"/zh/appendix/config-reference.html\"},{\"text\":\"D. 公共函数速查\",\"link\":\"/zh/appendix/functions.html\"},{\"text\":\"E. API 接口速查表\",\"link\":\"/zh/appendix/api-cheatsheet.html\"},{\"text\":\"F. 中间件执行顺序\",\"link\":\"/zh/appendix/middleware.html\"},{\"text\":\"G. 前端组件速查\",\"link\":\"/zh/appendix/components.html\"},{\"text\":\"H. 前端 Store 速查\",\"link\":\"/zh/appendix/stores.html\"},{\"text\":\"I. 前端 Enums 速查\",\"link\":\"/zh/appendix/enums.html\"},{\"text\":\"J. 术语表\",\"link\":\"/zh/appendix/glossary.html\"},{\"text\":\"K. Artisan 命令速查\",\"link\":\"/zh/appendix/commands.html\"},{\"text\":\"L. 贡献指南\",\"link\":\"/zh/other/contributing.html\"},{\"text\":\"M. 免责声明\",\"link\":\"/zh/other/declare.html\"},{\"text\":\"N. 广告赞助\",\"link\":\"/zh/other/sponsor.html\"},{\"text\":\"O. 开源协议\",\"link\":\"https://gitee.com/rxthinkcmf/RXThinkCMF_Laravel13_NaiveVue\"}]}]}}}},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
</body>
</html>