
Project Introduction
Project Structure
zhontai.ui.admin.vue3
├─bin (batch files)
├─gen (auto-generated)
│ ├─templates (template files)
│ ├─gen-api (generate APIs)
│ └─gen-templates (generate templates)
├─public (favicon.ico, static JSON data)
└─src (APIs, components, views, routes, state management, styles, utility functions)
│ ├─api (APIs)
│ │ ├─admin (admin permission APIs)
│ │ └─admin.extend (admin permission custom extension APIs and enum types)
│ ├─assets (local static resources: images, icons, etc.)
│ ├─components (shared global components)
│ │ ├─auth (authentication)
│ │ ├─cropper (image cropping)
│ │ ├─editor (rich text editor)
│ │ ├─iconSelector (icon selector)
│ │ ├─my-captcha (slider captcha)
│ │ ├─my-col-set (column settings)
│ │ ├─my-cron (Cron expression)
│ │ ├─my-date-range (date range)
│ │ ├─my-dropdown-more (more actions)
│ │ ├─my-high-search (advanced group query)
│ │ ├─my-icon (custom SVG icon)
│ │ ├─my-import (Excel data import)
│ │ ├─my-input-code (SMS verification code)
│ │ ├─my-json-editor (JSON editor)
│ │ ├─my-layout (fullscreen split layout, supports mobile non-fullscreen)
│ │ ├─my-link (hyperlink)
│ │ ├─my-search (multi-condition query)
│ │ ├─my-select-icon (icon selector)
│ │ ├─my-select-input (select input)
│ │ ├─my-table (custom wrapped table)
│ │ ├─my-upload (image upload)
│ │ ├─noticeBar (scrolling notification)
│ │ ├─svgIcon (custom wrapped SVG icon)
│ │ └─table (custom wrapped table)
│ ├─directive (custom directives)
│ ├─globalProperties (global properties: message, notification, confirm, submit, loading)
│ ├─i18n (internationalization)
│ │ ├─lang (framework built-in i18n)
│ │ └─pages (custom i18n)
│ │ ├─formI18n (forms)
│ │ └─login (login page)
│ ├─layout (framework layout views)
│ │ ├─component (layout shared components)
│ │ ├─footer (footer)
│ │ ├─lockScreen (lock screen)
│ │ ├─logo (logo)
│ │ ├─main (main layout)
│ │ ├─navBars (top bar info)
│ │ │ ├─tagsView (tab view)
│ │ │ └─topBar (breadcrumb, fullscreen toggle, menu search, layout settings, user info, notifications)
│ │ ├─navMenu (navigation menu)
│ │ ├─routerView (router view outlet, external links, iframe embedding)
│ │ ├─sponsors (sponsor component)
│ │ └─upgrade (version upgrade notification component)
│ ├─router (route information)
│ ├─stores (component state management with Pinia)
│ ├─theme (framework styles)
│ │ ├─common (base styles)
│ │ ├─media (media queries)
│ │ └─mixins (SCSS mixins)
│ ├─types (TypeScript type definition files)
│ │ ├── axios.d.ts (extended axios data return types, can be customized)
│ │ ├── global.d.ts (global TypeScript type declarations)
│ │ ├── layout.d.ts (layout TypeScript type declarations)
│ │ ├── mitt.d.ts (mitt event bus TypeScript type declarations)
│ │ ├── pinia.d.ts (Pinia TypeScript type declarations)
│ │ └── views.d.ts (views page TypeScript type declarations)
│ ├─utils (utility functions)
│ └─views (page views)
│ ├─admin (permission management)
│ │ ├─api (APIs)
│ │ ├─cache (cache)
│ │ ├─change-password (password change)
│ │ ├─dict (data dictionary)
│ │ ├─file (file management)
│ │ ├─login (login)
│ │ ├─logs (logs)
│ │ ├─msg (message management)
│ │ ├─msg-types (message type management)
│ │ ├─org (department)
│ │ ├─permission (permission management)
│ │ ├─personal (personal center)
│ │ ├─pkg (package management)
│ │ ├─print-template (print template)
│ │ ├─reg (user registration)
│ │ ├─region (region management)
│ │ ├─role (role management)
│ │ ├─site-msg (internal messages)
│ │ ├─task (task management)
│ │ ├─tenant (tenant management)
│ │ ├─user (user management)
│ │ ├─view (view management)
│ │ └─workbench (workbench)
│ ├─error (401, 404)
│ └─example (reference example page views)
│ ├─chart (big data chart demo)
│ ├─fun (function demo)
│ │ ├─clipboard (copy/cut)
│ │ ├─countup (number animation)
│ │ ├─cropper (image cropping)
│ │ ├─echartsMap (geographic coordinates/map)
│ │ ├─gridLayout (drag layout)
│ │ ├─printJs (page printing)
│ │ ├─qrcode (QR code generation)
│ │ ├─splitpanes (pane splitter)
│ │ ├─tagsView (tab view)
│ │ └─wangEditor (editor)
│ ├─home (homepage)
│ ├─limits (permission management demo)
│ │ ├─backEnd (backend control)
│ │ │ └─page (page permissions)
│ │ └─frontEnd (frontend control)
│ │ ├─btn (button permissions)
│ │ └─page (page permissions)
│ ├─login (login page)
│ ├─make (component wrapping)
│ │ ├─noticeBar (scrolling notification bar)
│ │ ├─selector (icon selector)
│ │ ├─svgDemo (SVG demo)
│ │ └─tableDemo (custom wrapped table)
│ ├─menu (menu nesting demo)
│ ├─pages (page demo)
│ │ ├─awesome (awesome font icons)
│ │ ├─drag (drag directive)
│ │ ├─dynamicForm (dynamic complex form)
│ │ ├─element (element font icons)
│ │ ├─filtering (filter component)
│ │ ├─formAdapt (form adaptation)
│ │ ├─formI18n (form i18n)
│ │ ├─formRules (multi-form validation)
│ │ ├─iconfont (iconfont font icons)
│ │ ├─lazyImg (lazy image loading)
│ │ ├─listAdapt (list adaptation)
│ │ ├─preview (large image preview)
│ │ ├─steps (steps)
│ │ ├─tableRules (form/table validation)
│ │ ├─tree (tree to table)
│ │ ├─waterfall (waterfall)
│ │ ├─waves (wave directive effect)
│ │ └─workflow (workflow)
│ │ └─component (workflow component)
│ │ ├─contextmenu (workflow context menu)
│ │ ├─drawer (workflow drag component)
│ │ └─tool (action component)
│ ├─params (route params demo)
│ │ ├─common (normal route)
│ │ └─dynamic (dynamic route)
│ ├─personal (personal center)
│ ├─system (system settings)
│ │ ├─dept (department)
│ │ ├─dic (data dictionary)
│ │ ├─menu (menu)
│ │ ├─role (role)
│ │ └─user (user)
│ ├─tools (utility collection)
│ └─visualizing (data visualization)
│
├── .env (global default config)
├── .env.development (development config)
├── .env.production (production config)
├── .eslintignore (eslint ignore config)
├── .eslintrc.js (eslint config)
├── .gitignore (git commit ignore config)
├── .prettierrc.cjs (prettier code formatting config)
├── index.html (page entry)
├── LICENSE (MIT open source license)
├── package.json (npm package version config)
├── pnpm-lock.yaml (pnpm package version lock)
├── README.md (project introduction)
├── tsconfig.json (TypeScript config)
└── vite.config.ts (Vite config)