2024-10-14 18:53:27 +08:00
|
|
|
|
# {{projectName}}
|
2024-10-14 18:51:44 +08:00
|
|
|
|
|
|
|
|
|
|
## 开发
|
|
|
|
|
|
|
|
|
|
|
|
- install
|
|
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
|
yarn install
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
- dev
|
|
|
|
|
|
|
2024-10-22 14:20:24 +08:00
|
|
|
|
```shell[src](src)
|
2024-10-14 18:51:44 +08:00
|
|
|
|
yarn start
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
- build
|
|
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
|
yarn build
|
|
|
|
|
|
```
|
2024-10-22 14:20:24 +08:00
|
|
|
|
|
2024-12-24 14:25:06 +08:00
|
|
|
|
## 路由、布局、菜单
|
|
|
|
|
|
|
|
|
|
|
|
- 路由
|
|
|
|
|
|
- 路由配置位于`src/router/config.tsx`文件
|
|
|
|
|
|
- 配置形式类似于`ReactRouter 6`
|
|
|
|
|
|
- `menu`字段会用于菜单项显示
|
|
|
|
|
|
|
|
|
|
|
|
- 布局
|
|
|
|
|
|
- 通过修改根路由节点的`type`属性实现`顶栏+侧栏`、`仅顶栏`、`仅侧栏`的布局模式
|
|
|
|
|
|
|
|
|
|
|
|
```tsx
|
|
|
|
|
|
export const routerConfig: RootRoute = {
|
|
|
|
|
|
path: '/',
|
|
|
|
|
|
element: <Layout type={LayoutType.Default} />,
|
|
|
|
|
|
...
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 菜单会根据`路由`和`布局`自动生成
|
|
|
|
|
|
- 顶栏+侧栏:一级路由放置在`顶栏`,其余层级放置在`侧栏`
|
|
|
|
|
|
- 仅侧栏/仅顶栏:所有菜单项均在分布`侧栏/顶栏`菜单中
|
2024-10-14 18:51:44 +08:00
|
|
|
|
|
|
|
|
|
|
## 常用方法和全局变量
|
|
|
|
|
|
|
|
|
|
|
|
在每个页面内,可以使用以下常用方法和全局变量:
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
props:页面 props
|
2024-10-22 14:20:24 +08:00
|
|
|
|
params:当前页面路由参数
|
|
|
|
|
|
search:当前页面搜索参数
|
|
|
|
|
|
location:当前页面路由信息
|
|
|
|
|
|
navigate:页面跳转方法,用法:navigate('/path')
|
2024-10-14 18:51:44 +08:00
|
|
|
|
tocoServices:页面的请求
|
|
|
|
|
|
tocoRefs:页面上所有带 id 组件的 refs
|
2024-10-15 16:45:23 +08:00
|
|
|
|
tocoModals:页面上所有带 id 弹窗的 refs
|
2024-10-14 18:51:44 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 目录结构
|
|
|
|
|
|
|
2024-12-24 14:25:06 +08:00
|
|
|
|
```shell
|
|
|
|
|
|
src
|
|
|
|
|
|
├── Icon.tsx # Icon组件,对应Toco前端工程的iconfont配置项
|
|
|
|
|
|
├── Root.tsx # 页面根
|
|
|
|
|
|
├── app # 应用
|
|
|
|
|
|
│ ├── common.ts # 应用配置store
|
|
|
|
|
|
│ ├── enum.ts # 枚举值
|
|
|
|
|
|
│ ├── hooks.ts # store的hook
|
|
|
|
|
|
│ ├── index.tsx # 应用入口
|
|
|
|
|
|
│ ├── langs # 多语言配置
|
|
|
|
|
|
│ ├── message.ts # 全局消息
|
|
|
|
|
|
│ ├── request.ts # 请求实例
|
|
|
|
|
|
│ ├── storage.ts # localStorage
|
|
|
|
|
|
│ └── store.ts # store实例
|
|
|
|
|
|
├── components # 组件放这里
|
|
|
|
|
|
├── index.tsx # 前端入口
|
|
|
|
|
|
├── layout # 布局
|
|
|
|
|
|
├── pages # 页面放这里
|
|
|
|
|
|
├── router # 路由
|
|
|
|
|
|
│ ├── config.tsx # 配置路由、菜单项文本、布局类型
|
|
|
|
|
|
│ ├── index.tsx # 路由导出
|
|
|
|
|
|
└── style # 全局样式
|
|
|
|
|
|
├── index.css
|
|
|
|
|
|
└── reset.css
|
|
|
|
|
|
```
|
2024-10-14 18:51:44 +08:00
|
|
|
|
|