Files
aphrodite/README.md
2025-03-22 00:01:11 +08:00

67 lines
2.5 KiB
Markdown
Raw Permalink 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.

# 项目结构
```
project-root/
├── src/
│ ├── components/
│ ├── services/ # 服务层
│ ├── models/ # Mobx状态管理
│ ├── layouts/ # 布局组件
│ ├── pages/ # 页面路由
│ ├── locales/ # 国际化配置
│ │ ├── zh-CN/
│ │ └── en-US/
│ ├── assets/ # 静态资源
│ │ ├── colors.css
│ │ ├── medias.css
│ │ └── variables.css
│ ├── App.tsx # 主应用组件
│ ├── main.tsx # 入口文件
│ └──typings.d.ts # 类型定义
├── public/ # 公共静态文件
│ └── index.html
├── package.json # 项目配置
├── tsconfig.json # TypeScript配置
└── vite.config.ts # 构建配置
```
# 技术栈
- 前端框架React
- 前端语言TypeScript
- UI 库Ant Design
- 状态管理Mobx
- 网络请求Axios
- 样式管理CSS-in-JS
- 路由管理React Router
- 国际化React intl
- 代码规范ESLint
- 代码格式化Prettier
- 构建工具Vite
- 其他:
- 图表库Recharts
- 富文本编辑器React Quill
- 图片上传React Dropzone
- MD5 加密spark-md5
- 文件上传react-dropzone
# 约定路由
约定式路由也叫文件路由,就是不需要手写配置,文件系统即路由,通过目录和文件及其命名分析出路由配置。
1. 分析 src/pages 目录拿到路由配置。
2. 约定 [ $] 包裹的文件或文件夹为动态可选路由。
3. 约定目录下有 `_layout.tsx` 时会生成嵌套路由,以 `_layout.tsx` 为该目录的 layout。
4. 约定 src/layouts/index.tsx 为全局路由。
5. 约定 src/pages/404.tsx 为 404 页面。
# 布局
文件 src/layouts/index.tsx 为全局路由。
1. 布局使用 Ant Design 的 Layout 组件,包含头部、侧边栏、底部。
2. 布局中包含基本的鉴权功能,用户登录后,判定权限是否可以访问当前页面;未登录用户,只能访问登录页面
3. 布局中包含国际化功能,用户可以选择语言,切换语言后,页面会自动刷新。
4. 布局中包含主题功能,用户可以选择主题,切换主题后,页面会自动刷新。
5. 布局中包含暗黑模式功能,用户可以选择暗黑模式,切换暗黑模式后,页面会自动刷新。