# findxme/antd_fm_all_function_template architecture

> Architecture diagram of the GitHub repository findxme/antd_fm_all_function_template, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/findxme/antd_fm_all_function_template
- Repository: https://github.com/findxme/antd_fm_all_function_template
- Video tour (about a minute): https://gitdiagram.com/findxme/antd_fm_all_function_template/video

## Overview

This is an Ant Design Pro enterprise web-application starter with a custom data-management area. The user-facing workflow represented in the tree is entering the application, passing route authorization, and using configurable table/form screens; the sampled search form builds field conditions and hands them to its supplied query callback. Login and user state, shared layout, and API service modules are separate product layers. Source excerpts do not establish how the unsampled table controller connects to particular services, so those links are omitted.

Main entry points: [`src/layouts/BasicLayout.jsx`](https://github.com/findxme/antd_fm_all_function_template/blob/master/src/layouts/BasicLayout.jsx) (Basic layout), [`src/utils/request.js`](https://github.com/findxme/antd_fm_all_function_template/blob/master/src/utils/request.js) (HTTP request utility), [`src/pages/Authorized.jsx`](https://github.com/findxme/antd_fm_all_function_template/blob/master/src/pages/Authorized.jsx) (Route guard), [`src/pages/MeCommon/MeTable/view/meSearchCtrl.jsx`](https://github.com/findxme/antd_fm_all_function_template/blob/master/src/pages/MeCommon/MeTable/view/meSearchCtrl.jsx) (Search form)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_shell["Application shell"]
  node_basic_layout["Basic layout<br/>[BasicLayout.jsx]"]
  node_blank_layout["Blank layout<br/>[BlankLayout.jsx]"]
  node_user_layout["User layout<br/>[UserLayout.jsx]"]
  node_welcome["Welcome page<br/>[Welcome.jsx]"]
  node_admin_page["Admin page<br/>[Admin.jsx]"]
end

subgraph group_identity["Identity and access"]
  node_route_guard["Route guard<br/>[Authorized.jsx]"]
  node_authorization["Authorization<br/>[Authorized.js]"]
  node_authority_state["Authority state<br/>[authority.js]"]
  node_login_model["Login model<br/>[login.js]"]
  node_user_model["User model<br/>[user.js]"]
  node_login_service["Login service<br/>[login.js]"]
  node_user_service["User service<br/>[user.js]"]
end

subgraph group_data_ui["Data management UI"]
  node_table_page["Table page<br/>[index.jsx]"]
  node_table_view["Table view<br/>[index.jsx]"]
  node_search_view["Search form<br/>[meSearchCtrl.jsx]"]
  node_search_model["Search controller<br/>[meSearchCtrl.js]"]
  node_form_fields["Dynamic form fields<br/>[FormUtils.js]"]
  node_form_page["Form page<br/>[FormMeCom.jsx]"]
end

subgraph group_runtime["Shared runtime"]
  node_http_request["HTTP request utility<br/>[request.js]"]
  node_shared_utils["Shared utilities<br/>[index.js]"]
end

node_operator(("User"))
node_api_server(("Application API"))

node_operator -->|"uses"| node_basic_layout
node_operator -->|"uses"| node_user_layout
node_operator -->|"uses"| node_blank_layout
node_basic_layout -->|"presents"| node_welcome
node_basic_layout -->|"presents"| node_admin_page
node_route_guard -->|"reads state"| node_user_model
node_route_guard -->|"checks access"| node_authorization
node_authorization -->|"gets authority"| node_authority_state
node_authority_state -->|"stores in browser"| node_operator
node_login_model -->|"uses"| node_login_service
node_user_model -->|"uses"| node_user_service
node_search_view -->|"binds controller"| node_search_model
node_search_view -->|"renders fields"| node_form_fields
node_form_page -->|"uses fields"| node_form_fields
node_search_model -->|"queries via callback"| node_table_view
node_login_service -->|"uses"| node_http_request
node_user_service -->|"uses"| node_http_request
node_http_request -->|"sends requests"| node_api_server

click node_basic_layout "https://github.com/findxme/antd_fm_all_function_template/blob/master/src/layouts/BasicLayout.jsx"
click node_blank_layout "https://github.com/findxme/antd_fm_all_function_template/blob/master/src/layouts/BlankLayout.jsx"
click node_user_layout "https://github.com/findxme/antd_fm_all_function_template/blob/master/src/layouts/UserLayout.jsx"
click node_welcome "https://github.com/findxme/antd_fm_all_function_template/blob/master/src/pages/Welcome.jsx"
click node_admin_page "https://github.com/findxme/antd_fm_all_function_template/blob/master/src/pages/Admin.jsx"
click node_route_guard "https://github.com/findxme/antd_fm_all_function_template/blob/master/src/pages/Authorized.jsx"
click node_authorization "https://github.com/findxme/antd_fm_all_function_template/blob/master/src/utils/Authorized.js"
click node_authority_state "https://github.com/findxme/antd_fm_all_function_template/blob/master/src/utils/authority.js"
click node_login_model "https://github.com/findxme/antd_fm_all_function_template/blob/master/src/models/login.js"
click node_user_model "https://github.com/findxme/antd_fm_all_function_template/blob/master/src/models/user.js"
click node_login_service "https://github.com/findxme/antd_fm_all_function_template/blob/master/src/services/login.js"
click node_user_service "https://github.com/findxme/antd_fm_all_function_template/blob/master/src/services/user.js"
click node_table_page "https://github.com/findxme/antd_fm_all_function_template/blob/master/src/pages/MeCommon/MeTable/index.jsx"
click node_table_view "https://github.com/findxme/antd_fm_all_function_template/blob/master/src/pages/MeCommon/MeTable/view/index.jsx"
click node_search_view "https://github.com/findxme/antd_fm_all_function_template/blob/master/src/pages/MeCommon/MeTable/view/meSearchCtrl.jsx"
click node_search_model "https://github.com/findxme/antd_fm_all_function_template/blob/master/src/pages/MeCommon/MeTable/model/meSearchCtrl.js"
click node_form_fields "https://github.com/findxme/antd_fm_all_function_template/blob/master/src/pages/MeCommon/MeForm/view/FormUtils.js"
click node_form_page "https://github.com/findxme/antd_fm_all_function_template/blob/master/src/pages/MeCommon/MeForm/view/FormMeCom.jsx"
click node_http_request "https://github.com/findxme/antd_fm_all_function_template/blob/master/src/utils/request.js"
click node_shared_utils "https://github.com/findxme/antd_fm_all_function_template/blob/master/src/common/utils/index.js"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_basic_layout,node_blank_layout,node_user_layout,node_welcome,node_admin_page,node_operator toneBlue
class node_route_guard,node_authorization,node_authority_state,node_login_model,node_user_model,node_login_service,node_user_service toneAmber
class node_table_page,node_table_view,node_search_view,node_search_model,node_form_fields,node_form_page,node_api_server toneMint
class node_http_request,node_shared_utils toneRose
```

## Components

### Application shell

- [Basic layout](https://github.com/findxme/antd_fm_all_function_template/blob/master/src/layouts/BasicLayout.jsx): `src/layouts/BasicLayout.jsx`
- [Blank layout](https://github.com/findxme/antd_fm_all_function_template/blob/master/src/layouts/BlankLayout.jsx): `src/layouts/BlankLayout.jsx`
- [User layout](https://github.com/findxme/antd_fm_all_function_template/blob/master/src/layouts/UserLayout.jsx): `src/layouts/UserLayout.jsx`
- [Welcome page](https://github.com/findxme/antd_fm_all_function_template/blob/master/src/pages/Welcome.jsx): `src/pages/Welcome.jsx`
- [Admin page](https://github.com/findxme/antd_fm_all_function_template/blob/master/src/pages/Admin.jsx): `src/pages/Admin.jsx`

### Identity and access

- [Route guard](https://github.com/findxme/antd_fm_all_function_template/blob/master/src/pages/Authorized.jsx): `src/pages/Authorized.jsx`
- [Authorization](https://github.com/findxme/antd_fm_all_function_template/blob/master/src/utils/Authorized.js): `src/utils/Authorized.js`
- [Authority state](https://github.com/findxme/antd_fm_all_function_template/blob/master/src/utils/authority.js): `src/utils/authority.js`
- [Login model](https://github.com/findxme/antd_fm_all_function_template/blob/master/src/models/login.js): `src/models/login.js`
- [User model](https://github.com/findxme/antd_fm_all_function_template/blob/master/src/models/user.js): `src/models/user.js`
- [Login service](https://github.com/findxme/antd_fm_all_function_template/blob/master/src/services/login.js): `src/services/login.js`
- [User service](https://github.com/findxme/antd_fm_all_function_template/blob/master/src/services/user.js): `src/services/user.js`

### Data management UI

- [Table page](https://github.com/findxme/antd_fm_all_function_template/blob/master/src/pages/MeCommon/MeTable/index.jsx): `src/pages/MeCommon/MeTable/index.jsx`
- [Table view](https://github.com/findxme/antd_fm_all_function_template/blob/master/src/pages/MeCommon/MeTable/view/index.jsx): `src/pages/MeCommon/MeTable/view/index.jsx`
- [Search form](https://github.com/findxme/antd_fm_all_function_template/blob/master/src/pages/MeCommon/MeTable/view/meSearchCtrl.jsx): `src/pages/MeCommon/MeTable/view/meSearchCtrl.jsx`
- [Search controller](https://github.com/findxme/antd_fm_all_function_template/blob/master/src/pages/MeCommon/MeTable/model/meSearchCtrl.js): `src/pages/MeCommon/MeTable/model/meSearchCtrl.js`
- [Dynamic form fields](https://github.com/findxme/antd_fm_all_function_template/blob/master/src/pages/MeCommon/MeForm/view/FormUtils.js): `src/pages/MeCommon/MeForm/view/FormUtils.js`
- [Form page](https://github.com/findxme/antd_fm_all_function_template/blob/master/src/pages/MeCommon/MeForm/view/FormMeCom.jsx): `src/pages/MeCommon/MeForm/view/FormMeCom.jsx`

### Shared runtime

- [HTTP request utility](https://github.com/findxme/antd_fm_all_function_template/blob/master/src/utils/request.js): `src/utils/request.js`
- [Shared utilities](https://github.com/findxme/antd_fm_all_function_template/blob/master/src/common/utils/index.js): `src/common/utils/index.js`

### Other components

- **User**
- **Application API**

## Connections

- User → Basic layout: uses
- User → User layout: uses
- User → Blank layout: uses
- Basic layout → Welcome page: presents
- Basic layout → Admin page: presents
- Route guard → User model: reads state
- Route guard → Authorization: checks access
- Authorization → Authority state: gets authority
- Authority state → User: stores in browser
- Login model → Login service: uses
- User model → User service: uses
- Search form → Search controller: binds controller
- Search form → Dynamic form fields: renders fields
- Form page → Dynamic form fields: uses fields
- Search controller → Table view: queries via callback
- Login service → HTTP request utility: uses
- User service → HTTP request utility: uses
- HTTP request utility → Application API: sends requests
