gongxiangp2/.kiro/specs/source-code-recovery/反编译文件清单.md

129 lines
5.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 反编译文件清单
## 生产系统编译代码分析
**来源**: 生产容器 `youyidian-3d-material` (版本 2.2.0)
**提取时间**: 2025-12-20
**文件位置**: `nextjs-build/server/app/`
---
## 需要反编译的文件
### 1. API路由文件(优先级:高)
#### 素材相关API
- [ ] `api/materials/route.js` → `app/api/materials/route.ts`
- [ ] `api/materials/stats/route.js` → `app/api/materials/stats/route.ts`
- [ ] `api/materials/download/route.js` → `app/api/materials/download/route.ts`
- [ ] `api/materials/upload/route.js` → `app/api/materials/upload/route.ts`
- [ ] `api/materials/[id]/route.js` → `app/api/materials/[id]/route.ts`
- [ ] `api/materials/like/route.js` → `app/api/materials/like/route.ts`
- [ ] `api/materials/favorite/route.js` → `app/api/materials/favorite/route.ts`
- [ ] `api/materials/share/route.js` → `app/api/materials/share/route.ts`
- [ ] `api/materials/restore/route.js` → `app/api/materials/restore/route.ts`
- [ ] `api/materials/transcode/route.js` → `app/api/materials/transcode/route.ts`
- [ ] `api/materials/update/route.js` → `app/api/materials/update/route.ts`
#### 分类相关API
- [ ] `api/categories/route.js` → `app/api/categories/route.ts`
- [ ] `api/scenes/route.js` → `app/api/scenes/route.ts`
- [ ] `api/platforms/route.js` → `app/api/platforms/route.ts`
- [ ] `api/product-categories/route.js` → `app/api/product-categories/route.ts`
#### 用户相关API
- [ ] `api/user/profile/route.js` → `app/api/user/profile/route.ts`
- [ ] `api/user/materials/route.js` → `app/api/user/materials/route.ts`
- [ ] `api/user/favorites/route.js` → `app/api/user/favorites/route.ts`
- [ ] `api/user/avatar/route.js` → `app/api/user/avatar/route.ts`
#### 管理员API
- [ ] `api/admin/users/route.js` → `app/api/admin/users/route.ts`
- [ ] `api/admin/trash/route.js` → `app/api/admin/trash/route.ts`
- [ ] `api/admin/system-status/route.js` → `app/api/admin/system-status/route.ts`
- [ ] `api/admin/video-transcode-stats/route.js` → `app/api/admin/video-transcode-stats/route.ts`
- [ ] `api/admin/video-retranscode/route.js` → `app/api/admin/video-retranscode/route.ts`
#### 认证相关API
- [ ] `api/auth/[...nextauth]/route.js` → `app/api/auth/[...nextauth]/route.ts`
- [ ] `api/auth/register/route.js` → `app/api/auth/register/route.ts`
#### 钉钉相关API
- [ ] `api/dingtalk/login/route.js` → `app/api/dingtalk/login/route.ts`
- [ ] `api/dingtalk/complete-profile/route.js` → `app/api/dingtalk/complete-profile/route.ts`
#### 其他API
- [ ] `api/departments/route.js` → `app/api/departments/route.ts`
- [ ] `api/rankings/route.js` → `app/api/rankings/route.ts`
- [ ] `api/danmaku/route.js` → `app/api/danmaku/route.ts`
- [ ] `api/ai-chat/route.js` → `app/api/ai-chat/route.ts`
- [ ] `api/system-settings/route.js` → `app/api/system-settings/route.ts`
- [ ] `api/system-settings/upload-logo/route.js` → `app/api/system-settings/upload-logo/route.ts`
- [ ] `api/upload/preview/route.js` → `app/api/upload/preview/route.ts`
- [ ] `api/uploads/[...path]/route.js` → `app/api/uploads/[...path]/route.ts`
- [ ] `api/network-diagnose/route.js` → `app/api/network-diagnose/route.ts`
- [ ] `api/network-status/route.js` → `app/api/network-status/route.ts`
- [ ] `api/health/route.js` → `app/api/health/route.ts`
- [ ] `api/restore-data/route.js` → `app/api/restore-data/route.ts`
### 2. 页面组件文件(优先级:中)
- [ ] `page.js` → `app/page.tsx` (首页)
- [ ] `admin/page.js` → `app/admin/page.tsx` (管理员页面)
- [ ] `admin/settings/page.js` → `app/admin/settings/page.tsx` (系统设置)
- [ ] `profile/page.js` → `app/profile/page.tsx` (个人中心)
- [ ] `edit/[id]/page.js` → `app/edit/[id]/page.tsx` (编辑素材)
- [ ] `share/[id]/page.js` → `app/share/[id]/page.tsx` (分享页面)
- [ ] `login/page.js` → `app/login/page.tsx` (登录页面)
- [ ] `register/page.js` → `app/register/page.tsx` (注册页面)
- [ ] `dingtalk-callback/page.js` → `app/dingtalk-callback/page.tsx` (钉钉回调)
- [ ] `complete-profile/page.js` → `app/complete-profile/page.tsx` (完善资料)
### 3. 工具库文件(优先级:高)
从编译代码的chunks中提取:
- [ ] `lib/prisma.ts` - 数据库客户端
- [ ] `lib/s3.ts` - S3存储工具
- [ ] `lib/auth.ts` - 认证配置
- [ ] `lib/utils.ts` - 工具函数
- [ ] 其他lib文件
### 4. 配置文件(优先级:低)
从本地1.0.0复制或从生产容器提取:
- [ ] `middleware.ts`
- [ ] `next.config.js`
- [ ] `tailwind.config.ts`
- [ ] `tsconfig.json`
- [ ] `prisma/schema.prisma`
---
## 反编译策略
### 阶段1:核心API(1-2小时)
1. 先反编译最重要的API:materials, categories, user
2. 提取共享的工具库代码(prisma, s3, auth)
3. 验证反编译代码的正确性
### 阶段2:页面组件(30分钟)
1. 反编译主要页面组件
2. 从本地1.0.0复制未改动的组件
### 阶段3:补充和整合(30分钟)
1. 对比本地1.0.0源码
2. 补充缺失的文件
3. 修复import路径
4. 添加类型定义
---
## 统计
- **API路由文件**: 约45个
- **页面组件文件**: 约10个
- **工具库文件**: 约5-10个
- **配置文件**: 约5个
**总计**: 约65-70个文件需要处理