From 516b294874c208c731f56ebe3be6175eb192d6a3 Mon Sep 17 00:00:00 2001 From: danial Date: Sat, 25 Oct 2025 18:25:33 +0800 Subject: [PATCH] feat(jd-order): add functionality to delete all invalid cookies and update related API and documentation --- .tool-versions | 2 +- CLAUDE.md | 73 +++++++----- src/api/generated/.openapi-generator/FILES | 4 + .../generated/apis/jdcookie-management-api.ts | 109 ++++++++++++++++++ src/api/generated/apis/jdhistory-api.ts | 1 + .../generated/docs/JDCookieManagementApi.md | 60 ++++++++-- src/api/generated/docs/JDHistoryApi.md | 13 ++- .../KamiApiJdCookieV1CookieDeleteResult.md | 23 ++++ .../docs/KamiApiJdCookieV1DeleteInvalidRes.md | 25 ++++ src/api/generated/models/index.ts | 2 + ...i-api-jd-cookie-v1-cookie-delete-result.ts | 28 +++++ ...mi-api-jd-cookie-v1-cookie-history-info.ts | 1 + ...ami-api-jd-cookie-v1-cookie-history-req.ts | 1 + ...ami-api-jd-cookie-v1-delete-invalid-res.ts | 36 ++++++ ...-api-jd-cookie-v1-jd-order-history-info.ts | 1 + ...ami-api-jd-cookie-v1-order-history-info.ts | 1 + src/views/jd-order/cookie/index.vue | 84 +++++++++++++- src/views/jd-order/order/index.vue | 4 +- 18 files changed, 417 insertions(+), 51 deletions(-) create mode 100644 src/api/generated/docs/KamiApiJdCookieV1CookieDeleteResult.md create mode 100644 src/api/generated/docs/KamiApiJdCookieV1DeleteInvalidRes.md create mode 100644 src/api/generated/models/kami-api-jd-cookie-v1-cookie-delete-result.ts create mode 100644 src/api/generated/models/kami-api-jd-cookie-v1-delete-invalid-res.ts diff --git a/.tool-versions b/.tool-versions index 04e2faf..284ae1c 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,2 +1,2 @@ -java openjdk-21.0.2 +java openjdk-23 nodejs 22.21.0 diff --git a/CLAUDE.md b/CLAUDE.md index 8543a08..1da2507 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -32,29 +32,29 @@ This is a Vue 3 frontend application built with Arco Design Pro, TypeScript, and ```bash # Development server -pnpm dev +pnpm dev # Start Vite dev server with development config # Build for production -pnpm build # Runs type check then builds +pnpm build # TypeScript compilation + Vite build with production config # Type checking -pnpm type:check # TypeScript and Vue type checking +pnpm type:check # TypeScript + Vue type checking without emitting files # Linting and formatting -pnpm lint # Run all linting checks (ESLint + Stylelint + Prettier) -pnpm lint:fix # Fix all linting issues automatically -pnpm eslint # ESLint only -pnpm eslint:fix # Fix ESLint issues +pnpm lint # Run all linting (ESLint + Stylelint + Prettier) +pnpm lint:fix # Auto-fix all linting issues +pnpm eslint # ESLint only (targets src,mock,config directories) +pnpm eslint:fix # Fix ESLint issues only pnpm prettier # Check Prettier formatting pnpm prettier:fix # Fix Prettier formatting -pnpm stylelint # Stylelint only +pnpm stylelint # Stylelint only (processes **/*.{html,vue,css,less}) pnpm stylelint:fix # Fix Stylelint issues # API generation -pnpm generate:api # Generate TypeScript API client from OpenAPI spec +pnpm generate:api # Generate TypeScript API client from OpenAPI spec at http://127.0.0.1:12401/api.json # Cache and dependencies -pnpm clean:cache # Clear ESLint cache and reinstall dependencies +pnpm clean:cache # Clear .eslintcache and reinstall dependencies pnpm lint-staged # Run lint-staged (used by pre-commit hooks) ``` @@ -154,13 +154,11 @@ Uses Pinia with modular stores: ### API Generation -The project uses OpenAPI Generator to create TypeScript clients: +Uses OpenAPI Generator CLI to create TypeScript clients from `http://127.0.0.1:12401/api.json`. Generated client structure: -```bash -pnpm generate:api -``` - -This generates clients from `http://127.0.0.1:12401/api.json` +- Separate models and APIs packages with tag-based grouping +- TypeScript/axios generation with square brackets in array names +- Single request parameter and string enums enabled ### Component Registration @@ -168,7 +166,7 @@ Global components are auto-registered via `src/components/index.ts` ### Path Aliases -Configured in Vite config (`config/vite.config.base.mts`): +Configured in `config/vite.config.base.mts`: - `@/*` maps to `src/*` - `assets` maps to `src/assets` @@ -176,24 +174,34 @@ Configured in Vite config (`config/vite.config.base.mts`): ### Environment Configuration -Development settings in `.env.development`, production in `.env.production` +- Development: `http://127.0.0.1:12401` (configured in `.env.development`) +- Production: Uses `VITE_API_BASE_URL` from `.env.production` (currently empty) ### Code Quality -- ESLint for JavaScript/TypeScript linting (targets `src,mock,config` directories) -- Stylelint for CSS/Less linting (processes `**/*.{html,vue,css,less}`) -- Prettier for code formatting (processes `src/**/*.{js,ts,json,tsx,css,scss,vue,html,md}`) -- Husky for Git hooks -- Lint-staged for pre-commit checks (configured with file-specific linting rules) -- Commitlint for conventional commits +**Linting Tools**: -**Note**: All linting tools are configured to run automatically via lint-staged on pre-commit hooks. +- ESLint: JavaScript/TypeScript linting (`src,mock,config` directories) +- Stylelint: CSS/Less linting (`**/*.{html,vue,css,less}`) +- Prettier: Code formatting (`src/**/*.{js,ts,json,tsx,css,scss,vue,html,md}`) + +**Git Integration**: + +- Husky for Git hooks +- Lint-staged for pre-commit checks with file-specific rules +- Commitlint for conventional commits +- All linting runs automatically on pre-commit + +**Engine Requirements**: + +- Node.js: `^18.0.0 || >=20.0.0` +- pnpm: `>=8.11.0` (package manager set to `pnpm@10.11.0`) ## Development Patterns ### API Calls -Use generated API clients or manual definitions from `src/api/`. All calls go through axios interceptors for auth handling. +Use generated API clients from `src/api/generated/` or manual definitions from `src/api/*.ts`. All API calls go through axios interceptors for authentication handling. ### Component Structure @@ -201,14 +209,15 @@ Follow Vue 3 Composition API patterns with `