我忘了改啥了
This commit is contained in:
175
README.md
175
README.md
@@ -1,126 +1,117 @@
|
||||
# Minecraft 皮肤管理平台
|
||||
# CarrotSkin Web 应用
|
||||
|
||||
一个基于 Next.js 构建的现代化 Minecraft 皮肤管理平台,支持皮肤上传、管理、角色创建和 Yggdrasil 认证。
|
||||
## 项目简介
|
||||
|
||||
## 功能特性
|
||||
|
||||
- 📤 **皮肤上传与管理** - 支持上传、预览和管理多个 Minecraft 皮肤
|
||||
- 👤 **角色中心** - 创建和管理游戏角色,支持多角色切换
|
||||
- 🔐 **外置登录** - 通过拖拽功能实现与 PCL2 等启动器的 Yggdrasil 认证
|
||||
- 📚 **使用教程** - 提供基础教程、Yggdrasil 教程等帮助文档
|
||||
- 🎨 **响应式设计** - 适配桌面和移动设备的现代化界面
|
||||
- 🌙 **暗色模式** - 支持亮色/暗色主题切换
|
||||
CarrotSkin 是一个 Minecraft 皮肤站 Web 应用,提供皮肤上传、管理和分享功能。
|
||||
|
||||
## 技术栈
|
||||
|
||||
- **前端框架**: Next.js 14 + React 18
|
||||
- **类型系统**: TypeScript
|
||||
- **样式方案**: Tailwind CSS 4 + Radix UI
|
||||
- **认证系统**: NextAuth.js
|
||||
- **API 调用**: Axios
|
||||
- **图标库**: Lucide React
|
||||
- **前端框架**: Next.js 14
|
||||
- **UI 组件**: React + Tailwind CSS
|
||||
- **后端**: Go + Gin (CarrotSkin Backend)
|
||||
- **API 网关**: APIgateway
|
||||
|
||||
## 安装与运行
|
||||
## 主要功能
|
||||
|
||||
### 前置要求
|
||||
- 用户认证与授权
|
||||
- 邮箱验证码验证系统
|
||||
- 皮肤上传与预览
|
||||
- 角色中心管理
|
||||
- 自定义测试工具
|
||||
|
||||
- Node.js 20+
|
||||
- npm 或 yarn
|
||||
## API 接口信息
|
||||
|
||||
### 安装步骤
|
||||
### 邮箱验证码接口
|
||||
|
||||
1. 克隆项目
|
||||
```bash
|
||||
git clone [仓库地址]
|
||||
cd my-app
|
||||
**正确的API接口格式(基于后端代码分析):**
|
||||
|
||||
```
|
||||
POST /api/v1/auth/send-code
|
||||
Content-Type: application/json
|
||||
```
|
||||
|
||||
2. 安装依赖
|
||||
**请求参数:**
|
||||
```json
|
||||
{
|
||||
"email": "user@example.com",
|
||||
"type": "register" // 可选值: register, reset_password, change_email
|
||||
}
|
||||
```
|
||||
|
||||
**验证码规则:**
|
||||
- 6位数字验证码
|
||||
- Redis存储,有效期10分钟
|
||||
- 限制:每分钟只能发送1次
|
||||
- 后端实现文件:internal/handler/auth_handler.go 和 internal/service/verification_service.go
|
||||
|
||||
### 其他重要API接口
|
||||
|
||||
**认证相关:**
|
||||
- `POST /api/v1/auth/register` - 用户注册(需邮箱验证码)
|
||||
- `POST /api/v1/auth/login` - 用户登录(支持用户名/邮箱)
|
||||
- `POST /api/v1/auth/reset-password` - 重置密码(需验证码)
|
||||
|
||||
**用户相关(需认证):**
|
||||
- `GET /api/v1/user/profile` - 获取用户信息
|
||||
- `PUT /api/v1/user/profile` - 更新用户信息(头像、密码)
|
||||
- `POST /api/v1/user/change-email` - 更换邮箱(需验证码)
|
||||
|
||||
**材质管理:**
|
||||
- `GET /api/v1/texture` - 搜索材质
|
||||
- `GET /api/v1/texture/:id` - 获取材质详情
|
||||
- `POST /api/v1/texture` - 创建材质记录
|
||||
- `PUT /api/v1/texture/:id` - 更新材质
|
||||
|
||||
## 环境配置
|
||||
|
||||
### 环境变量
|
||||
|
||||
在项目根目录创建 `.env.local` 文件,配置以下环境变量:
|
||||
|
||||
```
|
||||
NEXT_PUBLIC_API_URL=******
|
||||
```
|
||||
|
||||
## 开发指南
|
||||
|
||||
### 安装依赖
|
||||
|
||||
```bash
|
||||
npm install
|
||||
# 或
|
||||
yarn install
|
||||
```
|
||||
|
||||
3. 启动开发服务器
|
||||
### 开发模式运行
|
||||
|
||||
```bash
|
||||
npm run dev
|
||||
# 或
|
||||
yarn dev
|
||||
```
|
||||
|
||||
4. 构建生产版本
|
||||
### 构建生产版本
|
||||
|
||||
```bash
|
||||
npm run build
|
||||
npm start
|
||||
# 或
|
||||
yarn build
|
||||
yarn start
|
||||
```
|
||||
|
||||
## 项目结构
|
||||
## 测试工具
|
||||
|
||||
```
|
||||
├── public/ # 静态资源文件
|
||||
│ ├── skins/ # 皮肤文件存储
|
||||
│ └── images/ # 其他图片资源
|
||||
├── src/ # 源代码目录
|
||||
│ ├── app/ # Next.js App Router
|
||||
│ │ ├── (auth)/ # 认证相关页面
|
||||
│ │ ├── api/ # API 路由
|
||||
│ │ ├── character-center/ # 角色中心页面
|
||||
│ │ ├── dashboard/ # 皮肤管理仪表盘
|
||||
│ │ ├── help/ # 帮助文档页面
|
||||
│ │ ├── skins/ # 皮肤上传和管理
|
||||
│ │ └── user-home/ # 用户主页
|
||||
│ ├── components/ # 可复用组件
|
||||
│ │ ├── Navbar.tsx # 导航栏组件
|
||||
│ │ ├── auth/ # 认证相关组件
|
||||
│ │ ├── skins/ # 皮肤相关组件
|
||||
│ │ └── ui/ # UI 组件库
|
||||
│ ├── lib/ # 工具函数和 API 调用
|
||||
│ ├── styles/ # 全局样式和主题
|
||||
│ └── types/ # TypeScript 类型定义
|
||||
└── next.config.js # Next.js 配置文件
|
||||
```
|
||||
项目包含以下测试工具页面:
|
||||
|
||||
## 使用指南
|
||||
- **验证码测试工具**: `/verify-code-test`
|
||||
- 支持API调用和本地模拟两种模式
|
||||
- 提供详细的请求日志和错误诊断
|
||||
|
||||
### 皮肤上传
|
||||
|
||||
1. 登录平台后,在用户主页点击"上传皮肤"卡片
|
||||
2. 选择符合要求的 PNG 格式皮肤文件
|
||||
3. 上传成功后可在"我的皮肤"中查看和管理
|
||||
|
||||
### Yggdrasil 认证
|
||||
|
||||
1. 在用户主页找到"外置登录"卡片
|
||||
2. 拖拽此卡片到 PCL2 等支持 Yggdrasil 认证的启动器
|
||||
3. 启动器将自动完成认证流程
|
||||
|
||||
### 角色管理
|
||||
|
||||
1. 点击"角色中心"卡片进入角色管理界面
|
||||
2. 可以创建新角色、编辑现有角色信息
|
||||
3. 为不同角色分配不同的皮肤
|
||||
- **API测试工具**: `/api-tester`
|
||||
- 用于测试自定义API端点
|
||||
- 支持多种HTTP方法
|
||||
|
||||
## 注意事项
|
||||
|
||||
- 皮肤文件必须为 PNG 格式,且符合 Minecraft 皮肤尺寸规范
|
||||
- 3D 预览功能尚未实现,目前使用 2D 预览
|
||||
- 部分功能可能需要后端 API 支持,请确保相关接口已正确配置
|
||||
1. 确保环境变量 `NEXT_PUBLIC_API_URL` 配置正确
|
||||
2. 验证码功能依赖后端服务正常运行
|
||||
3. 测试模式选择本地模拟可以在无后端服务的情况下进行前端功能测试
|
||||
4. 完整的后端API文档可在 `测试用/backed/backed/README_back.md` 文件中查看
|
||||
|
||||
## 许可证
|
||||
|
||||
[MIT](LICENSE)
|
||||
|
||||
## 贡献指南
|
||||
|
||||
欢迎提交 Issue 和 Pull Request!
|
||||
|
||||
## 联系方式
|
||||
|
||||
如有问题或建议,请通过以下方式联系我们:
|
||||
|
||||
- Email: [项目邮箱]
|
||||
- GitHub: [项目仓库地址]
|
||||
MIT
|
||||
Reference in New Issue
Block a user