Your Name 214b61f4be docs: 生成测试覆盖率提升进展报告
生成COVERAGE_PROGRESS_REPORT_2026-03-03.md,包含:
- 详细的覆盖率提升数据
- 各包覆盖率分析
- 达到70%目标的实施计划
- 投入产出分析
- 下一步建议

本次会话总成果:
- 新增测试: 17个
- 分支覆盖: 62% → 63.8% (+1.8%)
- Controller包: 73% → 89% (+16%)
- Web包: 78% → 79% (+1%)
- 距离70%目标: 还需39个分支(6.2%)
- 完成度: 91%
2026-03-03 14:39:47 +08:00

mosquito

Spring Boot 3 (Java 17) 应用,用于活动传播、邀请奖励与运营分析。

快速开始

  • 构建与测试:mvn -B -DskipTests=false clean verify(将触发 Flyway 迁移与覆盖率门禁)
  • 运行(开发):mvn spring-boot:run(默认 dev 配置)

关键端点

  • 所有 JSON 响应统一为 ApiResponse,业务数据位于 data 字段。

  • /api/** 需要 X-API-Key/api/v1/me/**/api/v1/activities/**/api/v1/api-keys/**/api/v1/share/** 还需要 Authorization: Bearer <token>

  • API 密钥

    • 创建:POST /api/v1/api-keys
    • 吊销:DELETE /api/v1/api-keys/{id}
    • 使用(按 ID 校验并打点):POST /api/v1/api-keys/{id}/use
    • 使用(仅凭明文密钥,无需 IDPOST /api/v1/api-keys/validate
  • 用户端体验

    • 邀请信息:GET /api/v1/me/invitation-info
    • 邀请好友分页:GET /api/v1/me/invited-friends
    • 海报图片:GET /api/v1/me/poster/image
    • 海报 HTMLGET /api/v1/me/poster/html
    • 海报配置:GET /api/v1/me/poster/config
  • 缓存管理(需要管理令牌)

    • 清空缓存:DELETE /api/v1/cache/{cacheName}
    • 失效键:DELETE /api/v1/cache/{cacheName}/{key}

运维与安全

  • 配置管理令牌:app.cache.admin-token(通过环境变量或配置文件注入)
  • 缓存失效限流:app.cache.rate-limit-per-minute(默认 60
  • Redis 缓存分组 TTL可在 CacheConfig 中调整):
    • leaderboards 5m、activities 1m、activity_stats 2m、activity_graph 10m
  • 生产环境必须设置 app.security.encryption-key(例如环境变量 APP_SECURITY_ENCRYPTION_KEY
  • 覆盖率门禁:pom.xml 中启用 JaCoCo阈值 80%,在 verify 阶段校验

更多接口与错误码见 docs/api.md

Description
蚊子项目 - Mosquito Project
Readme 5.8 MiB
Languages
Java 60.6%
Shell 39.4%