feat
This commit is contained in:
36
AGENTS.md
Normal file
36
AGENTS.md
Normal file
@@ -0,0 +1,36 @@
|
||||
# AGENTS.md
|
||||
|
||||
This file provides guidance to agents when working with code in this repository.
|
||||
|
||||
## Build Commands
|
||||
- `pnpm dev` - Start dev server (config: `config/vite.config.dev.ts`)
|
||||
- `pnpm build` - Production build (config: `config/vite.config.prod.ts`)
|
||||
- `pnpm lint` - Run ESLint + Prettier
|
||||
- No test framework configured
|
||||
|
||||
## Critical Architecture Notes
|
||||
|
||||
### Vite Config Location
|
||||
Config files are in `config/` directory, NOT root. All vite commands reference `./config/vite.config.*.ts`.
|
||||
|
||||
### Two Axios Instances
|
||||
- [`src/api/request.ts`](src/api/request.ts) - Custom instance with workspace header support and `needWorkspace` param
|
||||
- [`src/api/interceptor.ts`](src/api/interceptor.ts) - Global instance with Bearer token and code 20000 validation
|
||||
|
||||
### Storage Pattern
|
||||
Use [`SafeStorage`](src/utils/safeStorage.ts) instead of localStorage directly. Supports TTL expiry and type-safe keys via `AppStorageKey` enum.
|
||||
|
||||
### Dynamic Route Loading
|
||||
Routes are loaded from server via [`fetchServerMenuConfig()`](src/store/modules/app/index.ts) with permission guard in [`permission.ts`](src/router/guard/permission.ts). Uses flags `isMenuLoading`/`isMenuLoaded` to prevent duplicate loads.
|
||||
|
||||
### useRequest Hook Limitation
|
||||
[`useRequest()`](src/hooks/request.ts) does NOT work in async functions - it immediately invokes the API. Use `.bind(null, params)` to pass arguments.
|
||||
|
||||
## Code Style
|
||||
- No semicolons (Prettier enforced)
|
||||
- Single quotes, trailing commas (es5)
|
||||
- Print width: 140 characters
|
||||
- Path alias: `@/` → `src/`
|
||||
|
||||
## Vue/i18n Aliases Required
|
||||
Vite config includes aliases for `vue-i18n/dist/vue-i18n.cjs.js` and `vue/dist/vue.esm-bundler.js` - don't remove these.
|
||||
Reference in New Issue
Block a user