lty/qy-lty-admin/CLAUDE.md
pmc 2d82b2ef7f
All checks were successful
Build and Deploy LTY / build-and-deploy (push) Successful in 8m44s
feat: implement affinity (favorability) system
- Add affinity level/setting models and migrations
- Migrate favorability data to UserDevice
- Add management commands for userapp
- Add admin CLAUDE.md and docs
- Update affinity system design doc and task checklist
- Update device_interaction and userapp models

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 17:18:30 +08:00

4.5 KiB
Raw Permalink Blame History

CLAUDE.md

本文件为 Claude Code (claude.ai/code) 在本仓库中工作时提供指导。

项目概述

洛天依应用管理后台 (qy-lty-admin) —— 基于 Next.js 15 (App Router) + React 19 + TypeScript 构建的 Web 管理后台,搭配 Tailwind CSS + Radix UI / shadcn 风格组件库。

后端 API 由独立项目 qy_lty 提供Django路径 C:\Users\admin\Desktop\Lila-Server\qy_lty),通过 NEXT_PUBLIC_API_BASE_URL 配置接入,主要使用 /api/v1/admin/ 模块。

开发命令

# 安装依赖Dockerfile 用 yarn + 淘宝镜像源;本地 npm/pnpm 也可)
npm install

# 开发模式
npm run dev          # 默认 http://localhost:3000

# 生产构建standalone 输出)
npm run build && npm run start

# 类型检查
npm run lint

环境变量(.env.local

  • NEXT_PUBLIC_API_BASE_URL —— 后端 qy_lty 服务地址

架构要点

技术栈

类别 选型
框架 Next.js 15.2.4App Router、standalone 输出)
语言 TypeScript 5、React 19
样式 Tailwind CSS 3.4 + tailwindcss-animate
组件 Radix UI + shadcn 风格封装(components/ui/
HTTP 客户端 Axios含请求/响应拦截器)
表单 React Hook Form + Zod
图表 Recharts
通知 Sonner + Radix Toast

路由与页面App Router

  • app/page.tsx —— 仪表盘首页
  • app/login/app/register/app/forgot-password/ —— 账户流
  • 业务模块(按权限分组):
    • AI 管理/ai-model
    • 内容管理/outfits/props/home-decor/food/songs/dances/achievements/affinity
    • 系统管理/users/permissions/settings

鉴权与权限

API 集成

  • Axios 实例 + 拦截器统一注入 token
  • 所有请求走 NEXT_PUBLIC_API_BASE_URL + /api/v1/admin/...
  • 后端鉴权 token 复用 qy_lty 的 Redis token 体系admin token key 为 admin_token:{token}

跨仓库联动

本仓库依赖 qy_lty 后端的 /api/v1/admin/ 接口。修改任何接口契约(请求/响应结构、字段、URL的改动必须同时

  1. qy_lty/docs/修改记录.md 记录服务端改动
  2. docs/修改记录.md 记录前端配套改动
  3. 两端条目相互引用对方的同期条目

项目修改记录规则(重要 — 自动执行)

每次对本仓库代码做出改动后,必须在同一会话内把变更追加到 docs/修改记录.md 顶部(最新在最前),不要等用户提醒。条目格式遵循该文件头部"修改格式说明"约定:

### [日期] 修改简述

- **文件路径**: 相对于项目根目录的文件路径
- **修改类型**: 新增 / 修改 / 删除 / 重构 / 修复Bug
- **修改内容**: 具体修改了什么
- **修改原因**: 为什么要做这个修改

qy-lty-adminqy_lty 是独立项目,各自维护

  • qy-lty-admin/docs/修改记录.md —— 记录管理后台前端(本仓库)改动
  • qy_lty/docs/修改记录.md —— 记录服务端改动

跨项目联动改动:两端各写一条,相互引用对方的修改记录条目,不要混在同一条记录里。

适用范围

  • 业务代码、配置、package.json、Dockerfile、CI、文档结构性改动 → 必须记录
  • 单纯的 typo 修复、注释微调 → 可省略
  • 临时调试脚本、.gitignore 中文件、本地实验文件 → 不记录

注意事项

  • 语言:用户偏好中文沟通注释、commit message 用中文
  • 包管理器:项目同时存在 package-lock.jsonpnpm-lock.yamlDockerfile 用 yarn + 淘宝镜像源。本地开发任选其一即可,但不要混用导致 lock 文件冲突
  • shadcn 组件components/ui/ 下的组件是 shadcn 复制粘贴风格(不是 npm 包),可以直接修改源码而不破坏第三方升级

相关文档