qiangdanxitong/CLAUDE.md
Your Name 1d66f0d7f5 修复子任务积分计算错误的bug
问题:当子任务包含多个任务类型时,updateTaskItemsQuantityAndScore方法
只用第一个任务类型的单价计算总积分,导致积分显示错误。

解决:
1. 先更新typeDetails JSON,再从更新后的typeDetails中重新计算总积分
2. 新增calculateTotalScoreFromTypeDetails方法从JSON中累加所有类型积分
3. 新增calculateTotalQuantityFromTypeDetails方法计算总数量
4. 同时更新平均单价以保持数据一致性
2026-01-27 20:57:28 +08:00

3.4 KiB

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Project Overview

DesignHub is a full-stack Designer Task Management Platform (设计师任务抢单管理系统) - a task distribution and management system with a point-based incentive mechanism.

Tech Stack:

  • Frontend: Vue 3 + TypeScript + Ant Design Vue + Pinia + Vite
  • Backend: Spring Boot 3.x (Java 17) + MySQL + MyBatis Plus + Redis
  • Authentication: JWT tokens with RBAC (7 roles)

Common Commands

Frontend (cd frontend)

pnpm install          # Install dependencies
pnpm dev              # Start dev server (port 3000)
pnpm build            # Build for production
pnpm lint             # Lint and fix code
pnpm format           # Format with Prettier

Backend (cd backend)

mvn clean install -DskipTests   # Build project
mvn spring-boot:run             # Start dev server (port 8080)
java -jar target/designhub-backend-*.jar  # Run compiled JAR

Database

mysql -u root -p < database/schema.sql
mysql -u root -p < database/init-data.sql

Architecture

Backend Structure

backend/src/main/java/com/designhub/
├── annotation/      # Custom annotations (@RequirePermission, @RequireRole)
├── common/          # Result wrapper, ResultCode enums
├── config/          # Spring configs (Cors, MyBatis, Swagger, Web)
├── controller/      # REST APIs (38 controllers)
├── dto/             # Request DTOs
├── entity/          # JPA entities (53 tables)
├── exception/       # Business exceptions
├── interceptor/     # Auth interceptor
├── mapper/          # MyBatis mappers
├── service/         # Business logic (41 services)
├── util/            # JwtUtil, ExcelExportUtil, etc.
└── vo/              # Response View Objects

Frontend Structure

frontend/src/
├── api/             # Axios API modules (task.ts, user.ts, auth.ts, etc.)
├── components/      # Reusable components (TaskCard, Navbar, etc.)
├── composables/     # Vue composables
├── layouts/         # Layout wrappers
├── router/          # Vue Router config
├── stores/          # Pinia stores (auth, config, siteSettings)
├── types/           # TypeScript interfaces
├── utils/           # Utility functions
└── views/           # Page components (27 views)

API Documentation

Key Conventions

Backend

  • Custom permission annotations: @RequirePermission, @RequireRole on controller methods
  • Response format: Result<T> wrapper with ResultCode enum for status codes
  • JWT tokens stored in Authorization header (Bearer scheme)

Frontend

  • Auto-imported Vue components via unplugin-vue-components
  • API calls use axios with JWT in localStorage
  • Vue Composition API (<script setup>)

Git Commit Format

feat: 新功能
fix: Bug修复
docs: 文档更新
style: 代码格式
refactor: 重构
perf: 性能优化
test: 测试相关

Entry Points

  • Frontend main: frontend/src/main.ts
  • Backend main: backend/src/main/java/com/designhub/DesignHubApplication.java
  • Dev config: backend/src/main/resources/application-dev.yml

Default Credentials

  • Admin: admin / 123456