129 lines
5.2 KiB
Markdown
129 lines
5.2 KiB
Markdown
# 反编译文件清单
|
||
|
||
## 生产系统编译代码分析
|
||
|
||
**来源**: 生产容器 `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个文件需要处理
|