Files
FastapiAdmin/frontend/public/site/index.html
T
2025-03-05 21:02:50 +08:00

1604 lines
39 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
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" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="description" content="这里是网站描述">
<meta name="author" content="948080782x@qq.com">
<link rel="canonical" href="http://127.0.0.1:8888/index.html">
<link rel="next" href="doc/backend.html">
<link rel="icon" href="assets/images/favicon.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.7">
<title>Fastapi_Vue_Admin在线文档</title>
<link rel="stylesheet" href="assets/stylesheets/main.8608ea7d.min.css">
<link rel="stylesheet" href="assets/stylesheets/palette.06af60db.min.css">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<script>__md_scope=new URL(".",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
</head>
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="indigo">
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
<a href="#_1" class="md-skip">
跳转至
</a>
</div>
<div data-md-component="announce">
</div>
<header class="md-header md-header--shadow md-header--lifted" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="页眉">
<a href="index.html" title="Fastapi_Vue_Admin在线文档" class="md-header__button md-logo" aria-label="Fastapi_Vue_Admin在线文档" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
Fastapi_Vue_Admin在线文档
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
项目概述
</span>
</div>
</div>
</div>
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" name="query" aria-label="搜索" placeholder="搜索" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
<label class="md-search__icon md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
</label>
<nav class="md-search__options" aria-label="查找">
<button type="reset" class="md-search__icon md-icon" title="清空当前内容" aria-label="清空当前内容" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
</button>
</nav>
<div class="md-search__suggest" data-md-component="search-suggest"></div>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
正在初始化搜索引擎
</div>
<ol class="md-search-result__list" role="presentation"></ol>
</div>
</div>
</div>
</div>
</div>
<div class="md-header__source">
<a href="https://gitee.com/tao__tao/fastapi_vue3_admin.git" title="前往仓库" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"/></svg>
</div>
<div class="md-source__repository">
fastapi_vue_admin
</div>
</a>
</div>
</nav>
<nav class="md-tabs" aria-label="标签" data-md-component="tabs">
<div class="md-grid">
<ul class="md-tabs__list">
<li class="md-tabs__item md-tabs__item--active">
<a href="index.html" class="md-tabs__link">
项目概述
</a>
</li>
<li class="md-tabs__item">
<a href="doc/backend.html" class="md-tabs__link">
开发指南
</a>
</li>
<li class="md-tabs__item">
<a href="doc/build.html" class="md-tabs__link">
部署指南
</a>
</li>
<li class="md-tabs__item">
<a href="doc/mkdocs.html" class="md-tabs__link">
文档指南
</a>
</li>
</ul>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary md-nav--lifted" aria-label="导航栏" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href="index.html" title="Fastapi_Vue_Admin在线文档" class="md-nav__button md-logo" aria-label="Fastapi_Vue_Admin在线文档" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
</a>
Fastapi_Vue_Admin在线文档
</label>
<div class="md-nav__source">
<a href="https://gitee.com/tao__tao/fastapi_vue3_admin.git" title="前往仓库" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"/></svg>
</div>
<div class="md-source__repository">
fastapi_vue_admin
</div>
</a>
</div>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
<label class="md-nav__link md-nav__link--active" for="__toc">
<span class="md-ellipsis">
项目概述
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<a href="index.html" class="md-nav__link md-nav__link--active">
<span class="md-ellipsis">
项目概述
</span>
</a>
<nav class="md-nav md-nav--secondary" aria-label="目录">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
目录
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#_1" class="md-nav__link">
<span class="md-ellipsis">
📚 项目介绍
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_2" class="md-nav__link">
<span class="md-ellipsis">
🍻 项目特点
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_3" class="md-nav__link">
<span class="md-ellipsis">
📌 内置模块
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_4" class="md-nav__link">
<span class="md-ellipsis">
🍪 账号信息
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_5" class="md-nav__link">
<span class="md-ellipsis">
👷 安装和使用
</span>
</a>
<nav class="md-nav" aria-label="👷 安装和使用">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#_6" class="md-nav__link">
<span class="md-ellipsis">
版本说明
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_7" class="md-nav__link">
<span class="md-ellipsis">
获取代码
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_8" class="md-nav__link">
<span class="md-ellipsis">
后端
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_9" class="md-nav__link">
<span class="md-ellipsis">
前端
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_10" class="md-nav__link">
<span class="md-ellipsis">
访问项目
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#_11" class="md-nav__link">
<span class="md-ellipsis">
🔧 模块展示
</span>
</a>
<nav class="md-nav" aria-label="🔧 模块展示">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#_12" class="md-nav__link">
<span class="md-ellipsis">
登陆
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_13" class="md-nav__link">
<span class="md-ellipsis">
仪表盘
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_14" class="md-nav__link">
<span class="md-ellipsis">
菜单管理
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_15" class="md-nav__link">
<span class="md-ellipsis">
部门管理
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_16" class="md-nav__link">
<span class="md-ellipsis">
岗位管理
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_17" class="md-nav__link">
<span class="md-ellipsis">
角色管理
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_18" class="md-nav__link">
<span class="md-ellipsis">
用户管理
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_19" class="md-nav__link">
<span class="md-ellipsis">
日志管理
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_20" class="md-nav__link">
<span class="md-ellipsis">
配置管理
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_21" class="md-nav__link">
<span class="md-ellipsis">
在线用户管理
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_22" class="md-nav__link">
<span class="md-ellipsis">
服务器监控
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_23" class="md-nav__link">
<span class="md-ellipsis">
缓存监控
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_24" class="md-nav__link">
<span class="md-ellipsis">
任务管理
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_25" class="md-nav__link">
<span class="md-ellipsis">
接口管理
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_26" class="md-nav__link">
<span class="md-ellipsis">
文档管理
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_27" class="md-nav__link">
<span class="md-ellipsis">
个人信息
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_28" class="md-nav__link">
<span class="md-ellipsis">
在线文档
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#_29" class="md-nav__link">
<span class="md-ellipsis">
✨ 特别鸣谢
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_30" class="md-nav__link">
<span class="md-ellipsis">
🎨 微信群
</span>
</a>
<nav class="md-nav" aria-label="🎨 微信群">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#_31" class="md-nav__link">
<span class="md-ellipsis">
群二维码
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" >
<label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="0">
<span class="md-ellipsis">
开发指南
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2">
<span class="md-nav__icon md-icon"></span>
开发指南
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="doc/backend.html" class="md-nav__link">
<span class="md-ellipsis">
后端开发
</span>
</a>
</li>
<li class="md-nav__item">
<a href="doc/frontend.html" class="md-nav__link">
<span class="md-ellipsis">
前端开发
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
<span class="md-ellipsis">
部署指南
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<span class="md-nav__icon md-icon"></span>
部署指南
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="doc/build.html" class="md-nav__link">
<span class="md-ellipsis">
本地部署
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
<span class="md-ellipsis">
文档指南
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
文档指南
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="doc/mkdocs.html" class="md-nav__link">
<span class="md-ellipsis">
文档开发
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary" aria-label="目录">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
目录
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#_1" class="md-nav__link">
<span class="md-ellipsis">
📚 项目介绍
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_2" class="md-nav__link">
<span class="md-ellipsis">
🍻 项目特点
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_3" class="md-nav__link">
<span class="md-ellipsis">
📌 内置模块
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_4" class="md-nav__link">
<span class="md-ellipsis">
🍪 账号信息
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_5" class="md-nav__link">
<span class="md-ellipsis">
👷 安装和使用
</span>
</a>
<nav class="md-nav" aria-label="👷 安装和使用">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#_6" class="md-nav__link">
<span class="md-ellipsis">
版本说明
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_7" class="md-nav__link">
<span class="md-ellipsis">
获取代码
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_8" class="md-nav__link">
<span class="md-ellipsis">
后端
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_9" class="md-nav__link">
<span class="md-ellipsis">
前端
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_10" class="md-nav__link">
<span class="md-ellipsis">
访问项目
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#_11" class="md-nav__link">
<span class="md-ellipsis">
🔧 模块展示
</span>
</a>
<nav class="md-nav" aria-label="🔧 模块展示">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#_12" class="md-nav__link">
<span class="md-ellipsis">
登陆
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_13" class="md-nav__link">
<span class="md-ellipsis">
仪表盘
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_14" class="md-nav__link">
<span class="md-ellipsis">
菜单管理
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_15" class="md-nav__link">
<span class="md-ellipsis">
部门管理
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_16" class="md-nav__link">
<span class="md-ellipsis">
岗位管理
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_17" class="md-nav__link">
<span class="md-ellipsis">
角色管理
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_18" class="md-nav__link">
<span class="md-ellipsis">
用户管理
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_19" class="md-nav__link">
<span class="md-ellipsis">
日志管理
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_20" class="md-nav__link">
<span class="md-ellipsis">
配置管理
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_21" class="md-nav__link">
<span class="md-ellipsis">
在线用户管理
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_22" class="md-nav__link">
<span class="md-ellipsis">
服务器监控
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_23" class="md-nav__link">
<span class="md-ellipsis">
缓存监控
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_24" class="md-nav__link">
<span class="md-ellipsis">
任务管理
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_25" class="md-nav__link">
<span class="md-ellipsis">
接口管理
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_26" class="md-nav__link">
<span class="md-ellipsis">
文档管理
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_27" class="md-nav__link">
<span class="md-ellipsis">
个人信息
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_28" class="md-nav__link">
<span class="md-ellipsis">
在线文档
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#_29" class="md-nav__link">
<span class="md-ellipsis">
✨ 特别鸣谢
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_30" class="md-nav__link">
<span class="md-ellipsis">
🎨 微信群
</span>
</a>
<nav class="md-nav" aria-label="🎨 微信群">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#_31" class="md-nav__link">
<span class="md-ellipsis">
群二维码
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<div align="center">
<p align="center">
<img src="./resources/images/logo.png" height="150" alt="logo"/>
</p>
<h1 align="center" style="margin: 30px 0 30px; font-weight: bold;">Fastapi-Vue3-Admin v1.0.0</h1>
<h4 align="center">基于Fastapi-Vue-Admi前后端分离的快速开发框架</h4>
<p align="center">
<a href="https://gitee.com/tao__tao/fastapi_vue3_admin.git">
<img src="https://gitee.com/tao__tao/fastapi_vue3_admin/badge/star.svg?theme=dark">
</a>
<a href="https://github.com/1014TaoTao/fastapi_vue3_admin.git">
<img src="https://img.shields.io/github/stars/1014TaoTao/fastapi_vue3_admin?style=social">
</a>
<a href="https://gitee.com/tao__tao/fastapi_vue3_admin/blob/master/LICENSE">
<img src="https://img.shields.io/badge/License-MIT-orange">
</a>
<img src="https://img.shields.io/badge/Python-≥3.10-blue">
<img src="https://img.shields.io/badge/NodeJS-≥20.0-blue">
<img src="https://img.shields.io/badge/MySQL-≥8.0-blue">
<img src="https://img.shields.io/badge/Redis-≥7.0-blue">
</p>
</div>
<h2 id="_1">📚 项目介绍</h2>
<p><strong>Fastapi-Vue3-Admin</strong> 是一套完全开源的快速开发平台,提供免费使用。它结合了现代、高性能的技术栈,旨在帮助开发者快速搭建高质量的中后台系统。项目目录结构如下:</p>
<pre><code class="language-sh">my_demo_project/fastapi_project
├─ backend # 后端工程
├─ frontend # 前端工程
├─ devops # 部署工程
├─ mkdocs # 文档工程
|─ README.en.md # 英文文档
└─ README.md # 中文文档
</code></pre>
<ul>
<li><strong>后端</strong></li>
<li><strong>FastAPI</strong>:现代、高性能的异步框架</li>
<li><strong>Swagger</strong>:自动生成交互式 API 文档</li>
<li><strong>Pydantic</strong>:强制类型约束</li>
<li>
<p><strong>SQLAlchemy 2.0</strong>:强大的 ORM 库</p>
</li>
<li>
<p><strong>前端</strong></p>
</li>
<li><strong>Vue3</strong>:现代前端框架</li>
<li><strong>Ant Design Vue</strong>:企业级 UI 组件库</li>
<li><strong>TypeScript</strong>:静态类型检查</li>
<li>
<p><strong>Vite</strong>:快速的构建工具</p>
</li>
<li>
<p><strong>权限认证</strong>:使用哈希密码和 JWT Bearer 令牌的 OAuth2</p>
</li>
<li><strong>权限架构</strong>:基于 RBAC 设计,支持动态权限菜单、按钮级别权限控制、数据级别权限控制</li>
<li><strong>开箱即用</strong>:适合新项目启动模板,也可用于学习参考</li>
</ul>
<p>如果觉得项目不错,欢迎 Star 支持!</p>
<h2 id="_2">🍻 项目特点</h2>
<ul>
<li>模块化、松耦合</li>
<li>模块丰富、开箱即用</li>
<li>简洁易用、快速接入</li>
<li>文档详尽、易于维护</li>
<li>自顶向下、体系化设计</li>
<li>统一框架、统一组件、降低选择成本</li>
<li>开发规范、设计模式、代码分层模型</li>
<li>强大便捷的开发工具链</li>
<li>完善的本地中文化支持</li>
<li>设计为团队及企业使用</li>
</ul>
<h2 id="_3">📌 内置模块</h2>
<ul>
<li>
<p><strong>仪表盘</strong>:仪表盘展示,常用功能入口。</p>
</li>
<li>
<p><strong>系统管理</strong></p>
</li>
<li><strong>菜单管理</strong>:配置系统菜单,操作权限,按钮权限标识等。</li>
<li><strong>部门管理</strong>:配置系统组织机构,树结构展现支持数据权限。</li>
<li><strong>岗位管理</strong>:主要管理用户担任岗位。</li>
<li><strong>角色管理</strong>:角色菜单管理与权限分配、设置角色所拥有的菜单权限。</li>
<li><strong>用户管理</strong>:用于维护管理系统的用户,常规信息的维护与账号设置。</li>
<li><strong>日志管理</strong>:对系统中常用的较为固定的数据进行统一维护。</li>
<li><strong>配置管理</strong>:主要是系统配置信息,如:系统名称、系统版本、系统描述等。</li>
<li>
<p><strong>公告管理</strong>:系统通知公告信息发布维护。</p>
</li>
<li>
<p><strong>监控管理</strong></p>
</li>
<li><strong>在线用户</strong>:查看当前系统中在线的用户。</li>
<li><strong>服务器监控</strong>:查看系统运行状态,包括内存、CPU、磁盘等。</li>
<li>
<p><strong>缓存监控</strong>:查看系统缓存信息,如:缓存命中率、缓存键值等。</p>
</li>
<li>
<p><strong>公共管理</strong></p>
</li>
<li><strong>接口管理</strong>:系统接口维护,如:接口地址、请求方式等。</li>
<li><strong>文档管理</strong>:系统接口文档维护,支持在线接口调用。</li>
</ul>
<h2 id="_4">🍪 账号信息</h2>
<table>
<thead>
<tr>
<th style="text-align: left;">账户类型</th>
<th style="text-align: left;">账号</th>
<th style="text-align: left;">密码</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;"><strong>管理员账户</strong></td>
<td style="text-align: left;">admin</td>
<td style="text-align: left;">123456</td>
</tr>
<tr>
<td style="text-align: left;"><strong>演示账户</strong></td>
<td style="text-align: left;">demo</td>
<td style="text-align: left;">123456</td>
</tr>
</tbody>
</table>
<h2 id="_5">👷 安装和使用</h2>
<h3 id="_6">版本说明</h3>
<table>
<thead>
<tr>
<th>类型</th>
<th>技术栈</th>
<th>版本</th>
</tr>
</thead>
<tbody>
<tr>
<td>后端</td>
<td>Python</td>
<td>3.10</td>
</tr>
<tr>
<td>后端</td>
<td>FastAPI</td>
<td>0.109</td>
</tr>
<tr>
<td>前端</td>
<td>Node.js</td>
<td>&gt;= 20.0(推荐使用最新版)</td>
</tr>
<tr>
<td>前端</td>
<td>npm</td>
<td>16.14</td>
</tr>
<tr>
<td>前端</td>
<td>Vue3</td>
<td>3.3</td>
</tr>
<tr>
<td>数据库</td>
<td>MySQL</td>
<td>8.0 (推荐使用最新版)</td>
</tr>
<tr>
<td>数据库</td>
<td>PostgreSQL</td>
<td>14(其他版本均未测试)</td>
</tr>
<tr>
<td>数据库</td>
<td>MongoDB</td>
<td>8.0(推荐使用最新版)</td>
</tr>
<tr>
<td>中间件</td>
<td>Redis</td>
<td>7.0 (推荐使用最新版)</td>
</tr>
</tbody>
</table>
<h3 id="_7">获取代码</h3>
<pre><code class="language-sh">git clone https://gitee.com/tao__tao/fastapi_vue3_admin.git
</code></pre>
<h3 id="_8">后端</h3>
<ol>
<li>安装依赖</li>
</ol>
<p><code>shell
cd backend
pip3 install -r requirements.txt</code></p>
<ol>
<li>
<p>修改项目数据库配置信息
<code>app/config/.env.dev(.env.test、.env.prod)</code>文件中的<code>DB_DRIVER</code>数据库驱动类型,以及对应的数据库的配置信息</p>
</li>
<li>
<p>创建名为<code>fastapi_vue_admin</code>的数据库</p>
</li>
<li>
<p>初始化数据库数据</p>
</li>
</ol>
<p><code>shell
# 进入后端根目录 backend 下运行
# 运行命令后会自动生成数据库内的表和数据
# 如已初始化数据库数据,此命令可不执行
python3 main.py init</code></p>
<ol>
<li>启动</li>
</ol>
<p><code>shell
# 进入后端根目录 backend 下运行
python3 main.py run
# 如果使用celery管理任务,需要另外启动celery
启动普通任务work: celery -A celery_app.celery_app worker --loglevel=info
启动定时任务work: celery -A celery_app.celery_app beat --loglevel=info</code></p>
<h3 id="_9">前端</h3>
<ol>
<li>安装依赖</li>
</ol>
<p><code>shell
cd frontend
npm install</code></p>
<ol>
<li>运行</li>
</ol>
<p><code>shell
npm run dev</code></p>
<ol>
<li>打包</li>
</ol>
<p><code>shell
npm run build</code></p>
<h3 id="_10">访问项目</h3>
<ul>
<li>前端地址:<a href="http://127.0.0.1:5180">http://127.0.0.1:5180</a></li>
<li>账号:<code>admin</code> 密码:<code>123456</code></li>
<li>接口地址:<a href="http://127.0.0.1:8000/api/v1/docs">http://127.0.0.1:8000/api/v1/docs</a></li>
</ul>
<h2 id="_11">🔧 模块展示</h2>
<h3 id="_12">登陆</h3>
<p><img alt="登陆" src="resources/images/login.png" /></p>
<h3 id="_13">仪表盘</h3>
<p><img alt="仪表盘" src="resources/images/dashboard.png" /></p>
<h3 id="_14">菜单管理</h3>
<p><img alt="菜单管理" src="resources/images/menu.png" /></p>
<h3 id="_15">部门管理</h3>
<p><img alt="部门管理" src="resources/images/dept.png" /></p>
<h3 id="_16">岗位管理</h3>
<p><img alt="岗位管理" src="resources/images/position.png" /></p>
<h3 id="_17">角色管理</h3>
<p><img alt="角色管理" src="resources/images/role.png" /></p>
<h3 id="_18">用户管理</h3>
<p><img alt="用户管理" src="resources/images/user.png" /></p>
<h3 id="_19">日志管理</h3>
<p><img alt="日志管理" src="resources/images/log.png" /></p>
<h3 id="_20">配置管理</h3>
<p><img alt="配置管理" src="resources/images/config.png" /></p>
<h3 id="_21">在线用户管理</h3>
<p><img alt="在线用户管理" src="resources/images/online.png" /></p>
<h3 id="_22">服务器监控</h3>
<p><img alt="服务器监控" src="resources/images/service.png" /></p>
<h3 id="_23">缓存监控</h3>
<p><img alt="缓存监控" src="resources/images/cache.png" /></p>
<h3 id="_24">任务管理</h3>
<p><img alt="任务管理" src="resources/images/task.jpeg" /></p>
<h3 id="_25">接口管理</h3>
<p><img alt="接口管理" src="resources/images/docs.png" /></p>
<h3 id="_26">文档管理</h3>
<p><img alt="文档管理" src="resources/images/redoc.png" /></p>
<h3 id="_27">个人信息</h3>
<p><img alt="个人信息" src="resources/images/info.png" /></p>
<h3 id="_28">在线文档</h3>
<p><img alt="在线文档" src="resources/images/help.png" /></p>
<h2 id="_29">✨ 特别鸣谢</h2>
<p>感谢以下项目的贡献和支持,使本项目得以顺利完成:</p>
<ul>
<li><a href="https://fastapi.tiangolo.com/">FastAPI 项目</a></li>
<li><a href="https://v3.cn.vuejs.org/">Vue3 项目</a></li>
<li><a href="https://gitee.com/ktianc/kinit">KInit 项目</a></li>
<li><a href="https://gitee.com/senqi666/fastapi-vue-admin">Fastapi-Vue3-Admin 项目</a></li>
<li><a href="https://gitee.com/mizhexiaoxiao/vue-fastapi-admin">Vue-FastAPI-Admin 项目</a></li>
<li><a href="https://gitee.com/insistence2022/RuoYi-Vue3-FastAPI">RuoYi-Vue3-FastAPI 项目</a></li>
</ul>
<h2 id="_30">🎨 微信群</h2>
<p>在下方为群二维码,可以用于技术交流,也可以一起讨论在项目使用过程中遇到的各种问题。真心希望大家一起优化该项目,积极讨论,让我们一起抱团取暖!</p>
<h3 id="_31">群二维码</h3>
<table>
<tr>
<td><img src="./resources/images/微信.jpg"/></td>
<td><img src="./resources/images/wechat.png"/></td>
<td><img src="./resources/images/wechatPay.jpg"/></td>
</tr>
</table>
</article>
</div>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
</main>
<footer class="md-footer">
<nav class="md-footer__inner md-grid" aria-label="页脚" >
<a href="doc/backend.html" class="md-footer__link md-footer__link--next" aria-label="下一页: 后端开发">
<div class="md-footer__title">
<span class="md-footer__direction">
下一页
</span>
<div class="md-ellipsis">
后端开发
</div>
</div>
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z"/></svg>
</div>
</a>
</nav>
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-copyright">
<div class="md-copyright__highlight">
Copyright © 2022 <a href="http://127.0.0.1:8888">Powered by xxxxx@qq.com 版权所有</a>
</div>
Made with
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
Material for MkDocs
</a>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": ".", "features": ["navigation.tabs", "navigation.tabs.sticky", "navigation.instant", "search.highlight", "search.suggest", "navigation.footer"], "search": "assets/javascripts/workers/search.f8cc74c7.min.js", "translations": {"clipboard.copied": "\u5df2\u590d\u5236", "clipboard.copy": "\u590d\u5236", "search.result.more.one": "\u5728\u8be5\u9875\u4e0a\u8fd8\u6709 1 \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.more.other": "\u5728\u8be5\u9875\u4e0a\u8fd8\u6709 # \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.none": "\u6ca1\u6709\u627e\u5230\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.one": "\u627e\u5230 1 \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.other": "# \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.placeholder": "\u952e\u5165\u4ee5\u5f00\u59cb\u641c\u7d22", "search.result.term.missing": "\u7f3a\u5c11", "select.version": "\u9009\u62e9\u5f53\u524d\u7248\u672c"}}</script>
<script src="assets/javascripts/bundle.c8b220af.min.js"></script>
</body>
</html>