Files
front/.kilo/agent/rules-debug.md
2026-04-05 16:14:23 +08:00

1.6 KiB

Debug Mode Rules (Non-Obvious Only)

API Response Codes

  • request.ts returns response.data directly, expects {code: 0, details: ...}
  • 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 with key AppStorageKey.TOKEN.
  • Token expiry redirects to /auth/login (not /login).

Route Loading Issues

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

# 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