签入版本
This commit is contained in:
@@ -22,7 +22,7 @@ export const slugify = (str: string): string =>
|
||||
.replace(/^(\d)/, "_$1");
|
||||
|
||||
export const sharedConfig = defineConfig({
|
||||
title: "小蚂蚁云",
|
||||
title: "DjangoAdmin",
|
||||
// 页面 <title> 后缀:「环境准备 | DjangoAdmin 开发文档」(index.md frontmatter 可覆盖)
|
||||
titleTemplate: "DjangoAdmin 开发文档",
|
||||
appearance: "light",
|
||||
|
||||
@@ -71,8 +71,8 @@ const isVideoOpen = ref(false);
|
||||
target="_blank"
|
||||
rel="noopener"
|
||||
>
|
||||
小蚂蚁云
|
||||
<img src="../../../public/logo.svg" alt="小蚂蚁云" />
|
||||
DjangoAdmin
|
||||
<img src="../../../public/logo.svg" alt="DjangoAdmin" />
|
||||
</a>
|
||||
{{ translations.watchMoreB[site.lang] }}
|
||||
</div>
|
||||
|
||||
@@ -17,7 +17,7 @@ const theme: Theme = {
|
||||
{ class: "image-src" },
|
||||
h("img", {
|
||||
src: "/logo.png",
|
||||
alt: "小蚂蚁云",
|
||||
alt: "DjangoAdmin",
|
||||
}),
|
||||
),
|
||||
"aside-ads-before": () => h(AsideSponsors),
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
API 接口速查表,按模块分组列出所有 RESTful 接口的请求方法、路径、说明和权限标识。
|
||||
:::
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
# API 接口速查表
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# API 层开发
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
前端 API 层位于 `src/api/` 目录,封装所有与后端的 HTTP 请求。底层基于 Axios 封装了 `VAxios` 类(位于 `src/utils/http/axios/`),提供请求拦截、响应解包、错误处理、重复请求取消等能力。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 前端构建
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
前端使用 Vite 构建,支持开发服务器和生产构建。`vite.config.ts` 通过环境变量和插件系统管理构建配置,生产环境推荐使用 Nginx 部署。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 公共组件库
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
项目提供丰富的公共组件,位于 `ui/src/components/` 目录,基于 Ant Design Vue 二次封装,覆盖表格、表单、弹窗、上传、富文本编辑等常见场景。组件通过 `src/plugins/` 中的 `setupCustomComponents` 全局注册,任何页面直接使用,无需单独 import。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# BasicForm 表单
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
`BasicForm` 位于 `src/components/Form/src/BasicForm.vue`,基于 Ant Design Vue 的 `a-form` 二次封装,通过 schemas 配置化定义表单字段,支持查询表单和业务表单两种模式。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Hooks 组合式函数
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
项目封装了一系列组合式函数(Hooks),位于 `src/hooks/` 和 `src/utils/` 目录,提供权限检查、异步 loading、防重复提交、实时时钟、项目配置等可复用逻辑。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 国际化
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
当前项目仅支持中文界面,Ant Design Vue 默认支持中文,所有界面文本直接硬编码在组件中。如需扩展多语言支持,可基于 vue-i18n 实现。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Modal 弹窗
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
项目提供 `BasicModal` 组件(`src/components/Modal/src/basicModal.vue`)和原生 `a-modal` 两种弹窗用法。编辑弹窗通过 `defineAsyncComponent` 懒加载,减少首屏渲染负担。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 权限指令 v-perm
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
`v-perm` 和 `v-perms` 是项目自定义的 Vue 指令,用于按钮级别的权限控制,无权限时自动从 DOM 中移除元素。底层通过 `usePermission` Hook 检查用户权限列表。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 路由与菜单
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
前端路由基于 Vue Router 4 实现动态路由生成,菜单数据从后端获取,通过 `generator-routers.ts` 递归生成路由表,路由守卫控制登录状态和权限。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 前端环境与结构
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
前端基于 Vue3 + Ant Design Vue 构建,使用 pnpm 作为包管理工具,Vite 作为构建工具,TypeScript 作为开发语言。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Store 状态管理
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
前端使用 Pinia 进行状态管理,核心模块包括 `user`(用户信息与权限)、`asyncRoute`(动态路由与菜单)、`projectSetting`(项目配置)、`designSetting`(主题设计)等。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 样式与主题
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
前端样式方案采用 Tailwind CSS + SCSS + Ant Design Vue 主题覆盖,支持深色模式切换。全局 SCSS 变量通过 Vite 的 `additionalData` 注入。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# BasicTable 表格
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
`BasicTable` 位于 `src/components/Table/src/Table.vue`,基于 Ant Design Vue 的 `a-table` 二次封装,提供列定义、数据请求、分页、操作列、多选、全屏、密度调整、列设置等能力。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 工具函数
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
前端工具函数位于 `src/utils/` 目录,提供认证管理、本地存储、日期格式化、树结构操作、文件下载等通用能力。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 页面视图开发
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
页面视图位于 `src/views/` 目录,每个业务模块遵循 `index.vue`(列表页)+ `edit.vue`(编辑弹窗)+ `detail.vue`(详情弹窗)的标准模式,辅以 `columns.ts`(列定义)和 `querySchemas.ts`(搜索表单)配置文件。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 接口响应规范
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
后端所有接口统一返回 `R.ok()` / `R.failed()` 格式的 JSON 响应,前端通过 `VAxios` 的 `transformRequestData` 拦截器统一解包处理。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 权限节点联动
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
前后端权限通过统一的权限节点字符串联动,后端 `PermissionRequired` 中间件校验权限,前端 `v-perm` 指令和 `TableAction` 的 `auth` 属性控制按钮显示。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 代理配置
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
开发环境通过 Vite 代理转发 API 请求到后端 Django 服务,生产环境通过 Nginx 代理。代理配置由 `VITE_PROXY` 环境变量控制。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 文件上传联调
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
文件上传涉及前端 Upload 组件、后端上传接口和 URL 拼接三个环节,需要前后端协同配置。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 数据库与 ORM
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
项目使用 Django ORM 作为数据库访问层,数据库连接配置位于 `config/env.py` 和 `application/settings.py`。默认使用 MySQL 数据库,通过 `django.db.backends.mysql` 引擎连接。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 导入导出
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
基于 `openpyxl` 实现 Excel 导入导出功能,支持通过 `file_template` 模块管理导入模板配置。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# IP/UA 解析
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
提供客户端 IP 获取、IP 地理位置查询和 User-Agent 解析三大能力,位于 `utils/common.py`。三者组合使用,为登录日志、操作日志等场景提供客户端身份信息。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 日志系统
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
通过 Python 标准库 `logging` 实现结构化日志,Django 框架内置日志配置,支持控制台 + 文件双输出。各模块通过 `logging.getLogger(__name__)` 获取 logger 实例。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 密码工具
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
密码加密使用 Django 内置的 `make_password` 和 `check_password` 函数,基于 PBKDF2 算法(默认工作因子 320000 次迭代)。用户安全信息获取工具位于 `utils/security.py`。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 权限缓存
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
通过 Redis 实现用户权限和菜单的缓存,采用用户级缓存 + 全局版本号双层策略。权限查询函数位于 `application/menu/services.py`,供 `PermissionRequired` 中间件调用。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 请求解析工具
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
`utils/common.py` 提供请求数据解析相关的工具函数,核心函数 `parse_request_body()` 用于解析请求体 JSON 数据。这些工具函数在各业务模块中广泛使用。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 富文本过滤
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
富文本编辑器内容存在存储型 XSS 风险,通过 `save_content()` 函数实现 HTML 内容处理,在落盘前统一过滤危险内容并迁移嵌入图片。源码位于 `utils/common.py`,涉及富文本的模块(文章、通知公告等)均调用 `save_content()` 处理。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 文件上传完整流程
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
本章从配置到使用,完整说明文件上传功能的实现方式,包括后端接口、前端组件、安全机制和最佳实践。
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 文件上传
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
提供本地文件上传功能,支持图片和通用文件上传,内置扩展名白名单校验。服务层位于 `application/upload/services.py`,视图层位于 `application/upload/views.py`。
|
||||
|
||||
@@ -22,7 +22,7 @@ export const slugify = (str: string): string =>
|
||||
.replace(/^(\d)/, "_$1");
|
||||
|
||||
export const sharedConfig = defineConfig({
|
||||
title: "小蚂蚁云",
|
||||
title: "DjangoAdmin",
|
||||
// 页面 <title> 后缀:「环境准备 | DjangoAdmin 开发文档」(index.md frontmatter 可覆盖)
|
||||
titleTemplate: "DjangoAdmin 开发文档",
|
||||
appearance: "light",
|
||||
|
||||
@@ -71,8 +71,8 @@ const isVideoOpen = ref(false);
|
||||
target="_blank"
|
||||
rel="noopener"
|
||||
>
|
||||
小蚂蚁云
|
||||
<img src="../../../public/logo.svg" alt="小蚂蚁云" />
|
||||
DjangoAdmin
|
||||
<img src="../../../public/logo.svg" alt="DjangoAdmin" />
|
||||
</a>
|
||||
{{ translations.watchMoreB[site.lang] }}
|
||||
</div>
|
||||
|
||||
@@ -17,7 +17,7 @@ const theme: Theme = {
|
||||
{ class: "image-src" },
|
||||
h("img", {
|
||||
src: "/logo.png",
|
||||
alt: "小蚂蚁云",
|
||||
alt: "DjangoAdmin",
|
||||
}),
|
||||
),
|
||||
"aside-ads-before": () => h(AsideSponsors),
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
API 接口速查表,按模块分组列出所有 RESTful 接口的请求方法、路径、说明和权限标识。
|
||||
:::
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
# API 接口速查表
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# API 层开发
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
前端 API 层位于 `src/api/` 目录,封装所有与后端的 HTTP 请求。底层基于 Axios 封装了 `VAxios` 类(位于 `src/utils/http/axios/`),提供请求拦截、响应解包、错误处理、重复请求取消等能力。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 前端构建
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
前端使用 Vite 构建,支持开发服务器和生产构建。`vite.config.ts` 通过环境变量和插件系统管理构建配置,生产环境推荐使用 Nginx 部署。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 公共组件库
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
项目提供丰富的公共组件,位于 `ui/src/components/` 目录,基于 ElementPlus 二次封装,覆盖表格、表单、弹窗、上传、富文本编辑等常见场景。组件通过 `src/plugins/` 中的 `setupCustomComponents` 全局注册,任何页面直接使用,无需单独 import。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# BasicForm 表单
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
`BasicForm` 位于 `src/components/Form/src/BasicForm.vue`,基于 ElementPlus 的 `el-form` 二次封装,通过 schemas 配置化定义表单字段,支持查询表单和业务表单两种模式。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Hooks 组合式函数
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
项目封装了一系列组合式函数(Hooks),位于 `src/hooks/` 和 `src/utils/` 目录,提供权限检查、异步 loading、防重复提交、实时时钟、项目配置等可复用逻辑。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 国际化
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
当前项目仅支持中文界面,ElementPlus 使用中文语言包(`zh-cn`),所有界面文本直接硬编码在组件中。如需扩展多语言支持,可基于 vue-i18n 实现。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Modal 弹窗
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
项目提供 `BasicModal` 组件(`src/components/Modal/src/BasicModal.vue`)和原生 `el-dialog` 两种弹窗用法。编辑弹窗通过 `defineAsyncComponent` 懒加载,减少首屏渲染负担。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 权限指令 v-perm
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
`v-perm` 和 `v-perms` 是项目自定义的 Vue 指令,用于按钮级别的权限控制,无权限时自动从 DOM 中移除元素。底层通过 `usePermission` Hook 检查用户权限列表。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 路由与菜单
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
前端路由基于 Vue Router 4 实现动态路由生成,菜单数据从后端获取,通过 `generator-routers.ts` 递归生成路由表,路由守卫控制登录状态和权限。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 前端环境与结构
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
前端基于 Vue3 + ElementPlus 构建,使用 pnpm 作为包管理工具,Vite 作为构建工具,TypeScript 作为开发语言。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Store 状态管理
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
前端使用 Pinia 进行状态管理,核心模块包括 `user`(用户信息与权限)、`asyncRoute`(动态路由与菜单)、`projectSetting`(项目配置)、`designSetting`(主题设计)等。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 样式与主题
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
前端样式方案采用 Tailwind CSS + SCSS + ElementPlus 主题覆盖,支持深色模式切换。全局 SCSS 变量通过 Vite 的 `additionalData` 注入。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# BasicTable 表格
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
`BasicTable` 位于 `src/components/Table/src/Table.vue`,基于 ElementPlus 的 `el-table` 二次封装,提供列定义、数据请求、分页、操作列、多选、全屏、密度调整、列设置等能力。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 工具函数
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
前端工具函数位于 `src/utils/` 目录,提供认证管理、本地存储、日期格式化、树结构操作、文件下载等通用能力。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 页面视图开发
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
页面视图位于 `src/views/` 目录,每个业务模块遵循 `index.vue`(列表页)+ `edit.vue`(编辑弹窗)+ `detail.vue`(详情弹窗)的标准模式,辅以 `columns.ts`(列定义)和 `querySchemas.ts`(搜索表单)配置文件。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 接口响应规范
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
后端所有接口统一返回 `R.ok()` / `R.failed()` 格式的 JSON 响应,前端通过 `VAxios` 的 `transformRequestData` 拦截器统一解包处理。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 权限节点联动
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
前后端权限通过统一的权限节点字符串联动,后端 `PermissionRequired` 中间件校验权限,前端 `v-perm` 指令和 `TableAction` 的 `auth` 属性控制按钮显示。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 代理配置
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
开发环境通过 Vite 代理转发 API 请求到后端 Django 服务,生产环境通过 Nginx 代理。代理配置由 `VITE_PROXY` 环境变量控制。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 文件上传联调
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
文件上传涉及前端 Upload 组件、后端上传接口和 URL 拼接三个环节,需要前后端协同配置。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 数据库与 ORM
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
项目使用 Django ORM 作为数据库访问层,数据库连接配置位于 `config/env.py` 和 `application/settings.py`。默认使用 MySQL 数据库,通过 `django.db.backends.mysql` 引擎连接。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 导入导出
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
基于 `openpyxl` 实现 Excel 导入导出功能,支持通过 `file_template` 模块管理导入模板配置。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# IP/UA 解析
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
提供客户端 IP 获取、IP 地理位置查询和 User-Agent 解析三大能力,位于 `utils/common.py`。三者组合使用,为登录日志、操作日志等场景提供客户端身份信息。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 日志系统
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
通过 Python 标准库 `logging` 实现结构化日志,Django 框架内置日志配置,支持控制台 + 文件双输出。各模块通过 `logging.getLogger(__name__)` 获取 logger 实例。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 密码工具
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
密码加密使用 Django 内置的 `make_password` 和 `check_password` 函数,基于 PBKDF2 算法(默认工作因子 320000 次迭代)。用户安全信息获取工具位于 `utils/security.py`。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 权限缓存
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
通过 Redis 实现用户权限和菜单的缓存,采用用户级缓存 + 全局版本号双层策略。权限查询函数位于 `application/menu/services.py`,供 `PermissionRequired` 中间件调用。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 请求解析工具
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
`utils/common.py` 提供请求数据解析相关的工具函数,核心函数 `parse_request_body()` 用于解析请求体 JSON 数据。这些工具函数在各业务模块中广泛使用。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 富文本过滤
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
富文本编辑器内容存在存储型 XSS 风险,通过 `save_content()` 函数实现 HTML 内容处理,在落盘前统一过滤危险内容并迁移嵌入图片。源码位于 `utils/common.py`,涉及富文本的模块(文章、通知公告等)均调用 `save_content()` 处理。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 文件上传完整流程
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
本章从配置到使用,完整说明文件上传功能的实现方式,包括后端接口、前端组件、安全机制和最佳实践。
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 文件上传
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
提供本地文件上传功能,支持图片和通用文件上传,内置扩展名白名单校验。服务层位于 `application/upload/services.py`,视图层位于 `application/upload/views.py`。
|
||||
|
||||
@@ -22,7 +22,7 @@ export const slugify = (str: string): string =>
|
||||
.replace(/^(\d)/, "_$1");
|
||||
|
||||
export const sharedConfig = defineConfig({
|
||||
title: "小蚂蚁云",
|
||||
title: "DjangoAdmin",
|
||||
// 页面 <title> 后缀:「环境准备 | DjangoAdmin 开发文档」(index.md frontmatter 可覆盖)
|
||||
titleTemplate: "DjangoAdmin 开发文档",
|
||||
appearance: "light",
|
||||
|
||||
@@ -71,8 +71,8 @@ const isVideoOpen = ref(false);
|
||||
target="_blank"
|
||||
rel="noopener"
|
||||
>
|
||||
小蚂蚁云
|
||||
<img src="../../../public/logo.svg" alt="小蚂蚁云" />
|
||||
DjangoAdmin
|
||||
<img src="../../../public/logo.svg" alt="DjangoAdmin" />
|
||||
</a>
|
||||
{{ translations.watchMoreB[site.lang] }}
|
||||
</div>
|
||||
|
||||
@@ -17,7 +17,7 @@ const theme: Theme = {
|
||||
{ class: "image-src" },
|
||||
h("img", {
|
||||
src: "/logo.png",
|
||||
alt: "小蚂蚁云",
|
||||
alt: "DjangoAdmin",
|
||||
}),
|
||||
),
|
||||
"aside-ads-before": () => h(AsideSponsors),
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
API 接口速查表,按模块分组列出所有 RESTful 接口的请求方法、路径、说明和权限标识。
|
||||
:::
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
# API 接口速查表
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# API 层开发
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
前端 API 层位于 `src/api/` 目录,封装所有与后端的 HTTP 请求。底层基于 Axios 封装了 `VAxios` 类(位于 `src/utils/http/axios/`),提供请求拦截、响应解包、错误处理、重复请求取消等能力。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 前端构建
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
前端使用 Vite 构建,支持开发服务器和生产构建。`vite.config.ts` 通过环境变量和插件系统管理构建配置,生产环境推荐使用 Nginx 部署。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 公共组件库
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
项目提供丰富的公共组件,位于 `ui/src/components/` 目录,基于 NaiveUI 二次封装,覆盖表格、表单、弹窗、上传、富文本编辑等常见场景。组件通过 `src/plugins/` 中的 `setupCustomComponents` 全局注册,任何页面直接使用,无需单独 import。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# BasicForm 表单
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
`BasicForm` 位于 `src/components/Form/src/BasicForm.vue`,基于 NaiveUI 的 `n-form` 二次封装,通过 schemas 配置化定义表单字段,支持查询表单和业务表单两种模式。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Hooks 组合式函数
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
项目封装了一系列组合式函数(Hooks),位于 `src/hooks/` 和 `src/utils/` 目录,提供权限检查、异步 loading、防重复提交、实时时钟、项目配置等可复用逻辑。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 国际化
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
当前项目仅支持中文界面,NaiveUI 使用中文语言包(`zhCN`),所有界面文本直接硬编码在组件中。如需扩展多语言支持,可基于 vue-i18n 实现。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Modal 弹窗
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
项目使用 `basicModal` 组件(`src/components/Modal/src/BasicModal.vue`)配合 `useModal` hook 实现弹窗。编辑弹窗通过 `v-if` 懒加载,减少首屏渲染负担。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 权限指令 v-perm
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
`v-perm` 和 `v-perms` 是项目自定义的 Vue 指令,用于按钮级别的权限控制,无权限时自动从 DOM 中移除元素。底层通过 `usePermission` Hook 检查用户权限列表。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 路由与菜单
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
前端路由基于 Vue Router 4 实现动态路由生成,菜单数据从后端获取,通过 `generator-routers.ts` 递归生成路由表,路由守卫控制登录状态和权限。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 前端环境与结构
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
前端基于 Vue3 + NaiveUI 构建,使用 pnpm 作为包管理工具,Vite 作为构建工具,TypeScript 作为开发语言。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Store 状态管理
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
前端使用 Pinia 进行状态管理,核心模块包括 `user`(用户信息与权限)、`asyncRoute`(动态路由与菜单)、`projectSetting`(项目配置)、`designSetting`(主题设计)等。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 样式与主题
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
前端样式方案采用 Tailwind CSS + SCSS + NaiveUI 主题覆盖,支持深色模式切换。全局 SCSS 变量通过 Vite 的 `additionalData` 注入。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# BasicTable 表格
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
`BasicTable` 位于 `src/components/Table/src/Table.vue`,基于 NaiveUI 的 `n-data-table` 二次封装,提供列定义、数据请求、分页、操作列、多选、全屏、密度调整、列设置等能力。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 工具函数
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
前端工具函数位于 `src/utils/` 目录,提供认证管理、本地存储、日期格式化、树结构操作、文件下载等通用能力。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 页面视图开发
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
页面视图位于 `src/views/` 目录,每个业务模块遵循 `index.vue`(列表页)+ `edit.vue`(编辑弹窗)+ `detail.vue`(详情弹窗)的标准模式,辅以 `columns.ts`(列定义)和 `querySchemas.ts`(搜索表单)配置文件。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 接口响应规范
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
后端所有接口统一返回 `R.ok()` / `R.failed()` 格式的 JSON 响应,前端通过 `VAxios` 的 `transformRequestData` 拦截器统一解包处理。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 权限节点联动
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
前后端权限通过统一的权限节点字符串联动,后端 `PermissionRequired` 中间件校验权限,前端 `v-perm` 指令和 `TableAction` 的 `auth` 属性控制按钮显示。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 代理配置
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
开发环境通过 Vite 代理转发 API 请求到后端 Django 服务,生产环境通过 Nginx 代理。代理配置由 `VITE_PROXY` 环境变量控制。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 文件上传联调
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
文件上传涉及前端 Upload 组件、后端上传接口和 URL 拼接三个环节,需要前后端协同配置。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 数据库与 ORM
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
项目使用 Django ORM 作为数据库访问层,数据库连接配置位于 `config/env.py` 和 `application/settings.py`。默认使用 MySQL 数据库,通过 `django.db.backends.mysql` 引擎连接。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 导入导出
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
基于 `openpyxl` 实现 Excel 导入导出功能,支持通过 `file_template` 模块管理导入模板配置。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# IP/UA 解析
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
提供客户端 IP 获取、IP 地理位置查询和 User-Agent 解析三大能力,位于 `utils/common.py`。三者组合使用,为登录日志、操作日志等场景提供客户端身份信息。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 日志系统
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
通过 Python 标准库 `logging` 实现结构化日志,Django 框架内置日志配置,支持控制台 + 文件双输出。各模块通过 `logging.getLogger(__name__)` 获取 logger 实例。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 密码工具
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
密码加密使用 Django 内置的 `make_password` 和 `check_password` 函数,基于 PBKDF2 算法(默认工作因子 320000 次迭代)。用户安全信息获取工具位于 `utils/security.py`。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 权限缓存
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
通过 Redis 实现用户权限和菜单的缓存,采用用户级缓存 + 全局版本号双层策略。权限查询函数位于 `application/menu/services.py`,供 `PermissionRequired` 中间件调用。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 请求解析工具
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
`utils/common.py` 提供请求数据解析相关的工具函数,核心函数 `parse_request_body()` 用于解析请求体 JSON 数据。这些工具函数在各业务模块中广泛使用。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 富文本过滤
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
富文本编辑器内容存在存储型 XSS 风险,通过 `save_content()` 函数实现 HTML 内容处理,在落盘前统一过滤危险内容并迁移嵌入图片。源码位于 `utils/common.py`,涉及富文本的模块(文章、通知公告等)均调用 `save_content()` 处理。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 文件上传完整流程
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
本章从配置到使用,完整说明文件上传功能的实现方式,包括后端接口、前端组件、安全机制和最佳实践。
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 文件上传
|
||||
|
||||
<!-- Copyright (c) 2021-2026 小蚂蚁云团队 版权所有 -->
|
||||
|
||||
|
||||
:::tip 说明
|
||||
提供本地文件上传功能,支持图片和通用文件上传,内置扩展名白名单校验。服务层位于 `application/upload/services.py`,视图层位于 `application/upload/views.py`。
|
||||
|
||||
@@ -22,7 +22,7 @@ export const slugify = (str: string): string =>
|
||||
.replace(/^(\d)/, "_$1");
|
||||
|
||||
export const sharedConfig = defineConfig({
|
||||
title: "小蚂蚁云",
|
||||
title: "DjangoAdmin",
|
||||
// 页面 <title> 后缀:「环境准备 | DjangoAdmin 开发文档」(index.md frontmatter 可覆盖)
|
||||
titleTemplate: "DjangoAdmin 开发文档",
|
||||
appearance: "light",
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user