feat
This commit is contained in:
60
.kilo/agent/rules-debug.md
Normal file
60
.kilo/agent/rules-debug.md
Normal file
@@ -0,0 +1,60 @@
|
||||
# Debug Mode Rules (Non-Obvious Only)
|
||||
|
||||
## API Response Codes
|
||||
|
||||
- [`request.ts`](src/api/request.ts) returns `response.data` directly, expects `{code: 0, details: ...}`
|
||||
- [`interceptor.ts`](src/api/interceptor.ts) expects `code: 20000` for success
|
||||
- Token expiry codes: 50008, 50012, 50014 trigger logout modal (interceptor.ts)
|
||||
- Token expiry status: 401 or error "Token has expired" (request.ts)
|
||||
|
||||
## Token Storage
|
||||
|
||||
- Tokens stored via [`SafeStorage`](src/utils/safeStorage.ts) with key `AppStorageKey.TOKEN`.
|
||||
- Token expiry redirects to `/auth/login` (not `/login`).
|
||||
|
||||
## Route Loading Issues
|
||||
|
||||
- If routes not loading, check `isMenuLoading`/`isMenuLoaded` flags in [`permission.ts`](src/router/guard/permission.ts).
|
||||
- Server menu fetched via [`fetchServerMenuConfig()`](src/store/modules/app/index.ts).
|
||||
|
||||
## Environment
|
||||
|
||||
- Dev config: `.env.development`, Prod config: `.env.production`
|
||||
- API base URL: `VITE_API_BASE_URL`, Workspace: `VITE_APP_WORKSPACE`
|
||||
|
||||
## Common Issues
|
||||
|
||||
### useRequest Not Working in Async
|
||||
|
||||
- useRequest invokes API immediately - use in setup scope only
|
||||
- For async contexts, call API directly without useRequest
|
||||
|
||||
### Menu Not Loading
|
||||
|
||||
- Check console for `[Permission Guard]` logs
|
||||
- Verify `menuFromServer` setting in app store
|
||||
- Check `fetchServerMenuConfig()` response
|
||||
|
||||
### Token Expiry
|
||||
|
||||
- Response `status: 401` or `error: 'Token has expired'` triggers logout
|
||||
- Clear storage via `SafeStorage.clearAppStorage()`
|
||||
|
||||
## Debug Commands
|
||||
|
||||
```bash
|
||||
# Check lint errors
|
||||
pnpm lint
|
||||
|
||||
# Type check
|
||||
pnpm build
|
||||
|
||||
# Dev server with logs
|
||||
pnpm dev
|
||||
```
|
||||
|
||||
## Browser DevTools
|
||||
|
||||
- Vue DevTools for component state
|
||||
- Network tab for API calls
|
||||
- Console for `[Permission Guard]` logs
|
||||
Reference in New Issue
Block a user