Loading...
Loading...
Compare original and translation side by side
<u-button><u-modal><my-component><u-button><u-modal><my-component>| 항목 | peach-gen-ui (프로덕션) | peach-gen-ui-proto (프로토타입) |
|---|---|---|
| Backend | 실제 API 서버 필수 | 없음 (Mock Only) |
| Store API 호출 | | |
| Mock 데이터 | 없음 | |
| 파일 업로드 | 실서버 업로드 | Mock (FormData 로깅 + 가짜 UUID 반환) |
| Excel | 실서버 다운로드 | ExcelTemplateUtil 로컬 생성 |
| 검증 도구 | bun (vue-tsc/lint/build) | bun 기본 ( |
| 사용자 | 개발자 | 기획자 (바이브코딩) |
| 项 | peach-gen-ui(生产版) | peach-gen-ui-proto(原型版) |
|---|---|---|
| Backend | 必须对接真实API服务 | 无(仅支持Mock) |
| Store API调用 | | |
| Mock数据 | 无 | 定义在 |
| 文件上传 | 上传至真实服务端 | Mock(打印FormData日志 + 返回伪造UUID) |
| Excel | 从真实服务端下载 | 调用ExcelTemplateUtil生成本地文件 |
| 校验工具 | bun(vue-tsc/lint/build) | 基础bun命令( |
| 使用用户 | 开发人员 | 企划人员(vibe coding) |
"AI Slop": 과도한 그라데이션, 보라색 계열, 예측 가능한 레이아웃 등 AI가 생성하는 전형적이고 진부한 시각적 패턴
"AI Slop":指AI生成的典型老套视觉模式,比如过度渐变、紫色系、千篇一律的布局等
#287dff#287dff| 유형 | 금지 예시 | 이유 |
|---|---|---|
| 그라데이션 | | AI 전형적 패턴 |
| 과도한 그림자 | | 백오피스와 부적합 |
| 애니메이션 | | 업무용 UI 불필요 |
| 확대 효과 | | 과잉 인터랙션 |
| 과도한 둥근 모서리 | | 전문적이지 않음 |
| 类型 | 禁止示例 | 原因 |
|---|---|---|
| 渐变 | | AI典型生成模式 |
| 过度阴影 | | 不适用于后台系统 |
| 动画 | | 办公类UI不需要 |
| 放大效果 | | 过度交互 |
| 过度圆角 | 按钮用 | 不够专业 |
UButtonUCardUModalUTableprimaryneutralerrorsuccessp-2p-4gap-4shadow-smshadowrounded-mdrounded-lgUButtonUCardUModalUTableprimaryneutralerrorsuccessp-2p-4gap-4shadow-smshadowrounded-mdrounded-lg경고: 아래 패턴은 모든 UI 패턴에서 반드시 적용해야 합니다. 누락 시 검색, 페이징, URL 상태관리가 동작하지 않습니다.
警告:以下模式必须在所有UI场景中应用。 遗漏会导致搜索、分页、URL状态管理功能异常。
| # | 패턴 | 적용 위치 |
|---|---|---|
| 1 | | list-search.vue |
| 2 | | list-search.vue, list-table.vue |
| 3 | | list-search.vue |
| 4 | | list-table.vue |
| 5 | watch 패턴 (route → listParams) | list-search.vue |
| 6 | watch 패턴 (route → getList) | list-table.vue |
| 7 | | 각 컴포넌트 |
상세 코드와 금지 패턴: common-patterns.md 참조 (필수)
| # | 模式 | 应用位置 |
|---|---|---|
| 1 | | list-search.vue |
| 2 | | list-search.vue、list-table.vue |
| 3 | | list-search.vue |
| 4 | | list-table.vue |
| 5 | watch监听模式(route → listParams) | list-search.vue |
| 6 | watch监听模式(route → getList) | list-table.vue |
| 7 | 实现 | 对应组件 |
详细代码与禁止模式:必须参考common-patterns.md
/peach-gen-ui-proto [모듈명] [옵션]/peach-gen-ui-proto [模块名] [选项]| 옵션 | 기본값 | 설명 |
|---|---|---|
| excel | N | 엑셀 다운로드/업로드 기능 (Mock) |
| file | N | 파일 업로드 기능 (Mock) |
| 选项 | 默认值 | 说明 |
|---|---|---|
| excel | N | Excel下载/上传功能(Mock版) |
| file | N | 文件上传功能(Mock版) |
/peach-gen-ui-proto notice-board
/peach-gen-ui-proto member-manage excel=Y
/peach-gen-ui-proto product file=Y excel=YUI 패턴은 실행 후 대화형으로 선택 (1단계)
/peach-gen-ui-proto notice-board
/peach-gen-ui-proto member-manage excel=Y
/peach-gen-ui-proto product file=Y excel=YUI模式将在命令执行后通过交互方式选择(第一步)
이 단계는 생략 불가! 기획자에게 반드시 UI 패턴을 질문하고 선택을 받은 후 진행합니다. 선택 없이 코드 생성을 시작하면 안 됩니다.
undefined此步骤不可省略! 必须先询问企划人员选择UI模式,确认后再继续开发。 未确认选择不得开始生成代码。
undefined| 패턴 | 설명 | 사용 시기 |
|---|---|---|
| crud | 목록 + 모달 | 일반적인 CRUD, 입력 10개 미만 |
| page | 목록 + 별도 페이지 | 입력 10개 이상, URL 공유 필요 |
| two-depth | 좌우 분할 | 목록/상세 동시 표시 |
| infinite-scroll | 무한 스크롤 | 피드형, 모바일 최적화 |
| select-list | 선택 모달 | 다른 화면에서 데이터 참조 |
| show-more | 더보기 버튼 | 적은 데이터, 단계별 로드 |
| batch-process | 일괄 처리 | 순차 작업 진행바 |
| 模式 | 说明 | 适用场景 |
|---|---|---|
| crud | 列表 + 弹窗 | 普通CRUD场景,输入项少于10个 |
| page | 列表 + 独立详情页 | 输入项多于10个,需要URL分享 |
| two-depth | 左右分栏 | 同时展示列表/详情 |
| infinite-scroll | 无限滚动 | feed流、移动端适配场景 |
| select-list | 选择弹窗 | 从其他页面引用数据 |
| show-more | 加载更多按钮 | 数据量少,分阶段加载 |
| batch-process | 批量处理 | 顺序任务带进度条 |
| 옵션 | 설명 |
|---|---|
| excel | 엑셀 다운로드/업로드 (Mock 로컬 생성) |
| file | 파일 업로드 (Mock UUID 반환) |
| 选项 | 说明 |
|---|---|
| excel | Excel下载/上传(Mock生成本地文件) |
| file | 文件上传(Mock返回UUID) |
| 패턴 | 설명 |
|---|---|
| adv-search | 복합 검색 (5개 이상 조건) |
| calendar | 달력 UI |
| kanban | 칸반 보드 |
| mega-form | 대량 입력 폼 (50개+) |
| tab-list | 탭 내 리스트 |
**가이드 코드 경로**:
- crud: `front/src/modules/test-data/pages/crud/`
- 기타 패턴: `front/src/modules/test-data/pages/[패턴명]/`
---| 模式 | 说明 |
|---|---|
| adv-search | 复合搜索(5个以上查询条件) |
| calendar | 日历UI |
| kanban | 看板 |
| mega-form | 大量输入表单(50个以上字段) |
| tab-list | 标签页内嵌列表 |
**示例代码路径**:
- crud: `front/src/modules/test-data/pages/crud/`
- 其他模式: `front/src/modules/test-data/pages/[模式名]/`
---undefinedundefined
- **test-data 있음** → 가이드 코드 기반으로 생성
- **test-data 없음** → references 문서 기반으로 생성
- **存在test-data** → 基于示例代码生成
- **不存在test-data** → 基于参考文档生成| 파일 존재 | 빌드 도구 | 검증 명령어 |
|---|---|---|
| bun | |
| 存在的文件 | 构建工具 | 校验命令 |
|---|---|---|
| bun | |
대상 프로젝트에디렉토리가 존재하면 NuxtUI 직접 사용 대신 래퍼 컴포넌트를 우선 사용합니다._common/components/
| NuxtUI | _common 래퍼 (있는 경우 우선) |
|---|---|
| |
| |
| |
| |
_common/components/如果目标项目存在目录,则优先使用包装组件,不直接调用NuxtUI组件。_common/components/
| NuxtUI组件 | 优先使用的_common包装组件(存在时) |
|---|---|
| |
| |
| |
| |
_common/components/mock/[모듈명].mock.ts 생성:
- 도메인 맞춤 샘플 데이터 (5~10건)
- 동적 데이터 생성 함수
- API 시그니처 유지 (프로덕션 전환 대비)生成mock/[模块名].mock.ts:
- 适配业务的样本数据(5~10条)
- 动态数据生成函数
- 保留API签名(适配后续生产环境切换)store/[모듈명].store.ts 생성:
- useApi() 경유 패턴 유지
- Mock interceptor가 요청을 가로채서 Mock 데이터 반환
- 프로덕션 전환 시 interceptor만 제거하면 됨生成store/[模块名].store.ts:
- 保留通过useApi()调用的模式
- Mock拦截器会拦截请求返回Mock数据
- 切换生产环境时仅需移除拦截器即可| 패턴 | 가이드 코드 경로 | 참조 문서 |
|---|---|---|
| crud | | page-pattern.md + modal-pattern.md |
| page | | page-pattern.md |
| two-depth | | two-depth-pattern.md |
| infinite-scroll | | infinite-scroll-pattern.md |
| select-list | | select-list-pattern.md |
| batch-process | | batch-process-pattern.md |
| 模式 | 示例代码路径 | 参考文档 |
|---|---|---|
| crud | | page-pattern.md + modal-pattern.md |
| page | | page-pattern.md |
| two-depth | | two-depth-pattern.md |
| infinite-scroll | | infinite-scroll-pattern.md |
| select-list | | select-list-pattern.md |
| batch-process | | batch-process-pattern.md |
undefinedundefined
> 에러 발생 시: 원인 분석 → 코드 수정 → 다시 검증 → 통과할 때까지 반복
---
> 出现错误时:分析原因 → 修改代码 → 重新校验 → 重复直到全部通过
---front/src/modules/[모듈명]/
├── mock/
│ └── [모듈명].mock.ts # Mock 데이터 + 동적 생성 함수
├── type/
│ └── [모듈명].type.ts # 타입 정의 (백엔드 동일 구조)
├── store/
│ └── [모듈명].store.ts # Pinia Option API (Mock useApi() 경유)
├── pages/
│ ├── list.vue # 목록 페이지 (껍데기)
│ ├── list-search.vue # 검색 영역
│ ├── list-table.vue # 테이블 영역
│ └── detail-page.vue # 상세 페이지 (page 패턴)
├── modals/
│ ├── insert.modal.vue # 등록 모달
│ ├── update.modal.vue # 수정 모달
│ └── detail.modal.vue # 상세 모달
├── _[모듈명].routes.ts # 라우트 정의
└── _[모듈명].validator.ts # Yup 검증 스키마front/src/modules/[模块名]/
├── mock/
│ └── [模块名].mock.ts # Mock数据 + 动态生成函数
├── type/
│ └── [模块名].type.ts # 类型定义(与后端结构一致)
├── store/
│ └── [模块名].store.ts # Pinia Option API(通过Mock useApi()调用)
├── pages/
│ ├── list.vue # 列表页面(容器)
│ ├── list-search.vue # 搜索区域
│ ├── list-table.vue # 表格区域
│ └── detail-page.vue # 详情页面(page模式使用)
├── modals/
│ ├── insert.modal.vue # 新增弹窗
│ ├── update.modal.vue # 编辑弹窗
│ └── detail.modal.vue # 详情弹窗
├── _[模块名].routes.ts # 路由定义
└── _[模块名].validator.ts # Yup校验规则<script setup>listActionresetActionlistMovePage@submit.prevent="listAction"@change="listAction"_commonmock/<script setup>listActionresetActionlistMovePage@submit.prevent="listAction"@change="listAction"_commonmock/┌─────────────────────────────────────┐
│ 완료 체크리스트 │
│ □ UI 패턴 선택 완료 │
│ □ Mock 데이터 생성 완료 │
│ □ Store (Mock 경유) 생성 완료 │
│ □ 페이지/모달 컴포넌트 생성 │
│ □ vue-tsc (타입체크) 통과 │
│ □ lint 통과 │
│ □ build 성공 │
└─────────────────────────────────────┘빌드 성공 없이 완료 선언 금지!
┌─────────────────────────────────────┐
│ 完成检查清单 │
│ □ UI模式选择完成 │
│ □ Mock数据生成完成 │
│ □ Store(Mock版)生成完成 │
│ □ 页面/弹窗组件生成 │
│ □ vue-tsc(类型检查)通过 │
│ □ lint通过 │
│ □ build成功 │
└─────────────────────────────────────┘未构建成功不得声明完成!
UI 프로토타입 생성이 완료되었습니다.
**생성된 파일**:
- front/src/modules/[모듈명]/mock/ ← Mock 데이터
- front/src/modules/[모듈명]/store/ ← Mock Store
- front/src/modules/[모듈명]/pages/ ← UI 페이지
- front/src/modules/[모듈명]/modals/ ← 모달 컴포넌트
**검증 결과**:
- vue-tsc: 통과
- lint: 통과
- build: 통과
**확인 방법**:
cd front && bun run devUI原型生成已完成。
**生成的文件**:
- front/src/modules/[模块名]/mock/ ← Mock数据
- front/src/modules/[模块名]/store/ ← Mock Store
- front/src/modules/[模块名]/pages/ ← UI页面
- front/src/modules/[模块名]/modals/ ← 弹窗组件
**校验结果**:
- vue-tsc: 通过
- lint: 通过
- build: 通过
**预览方法**:
cd front && bun run dev
---
---중요: 선택된 패턴의 참조 파일만 읽으세요! 모든 references를 한 번에 로드하지 마세요.
重要:仅读取选中模式对应的参考文件! 不要一次性加载所有reference文件。
경고: 아래 파일은 어떤 패턴을 선택하든 반드시 먼저 읽어야 합니다! 이 파일을 읽지 않으면 검색, 페이징, URL 상태관리 패턴이 누락됩니다.
警告:无论选择哪种模式,都必须先读取以下文件! 不读取会导致搜索、分页、URL状态管理模式遗漏。
| 선택 패턴 | 읽어야 할 파일 |
|---|---|
| crud | basic/page-pattern.md + basic/modal-pattern.md |
| page | basic/page-pattern.md |
| two-depth | basic/two-depth-pattern.md |
| infinite-scroll | basic/infinite-scroll-pattern.md |
| select-list | basic/select-list-pattern.md |
| batch-process | basic/batch-process-pattern.md |
| adv-search | advanced/adv-search-pattern.md |
| calendar | advanced/calendar-pattern.md |
| kanban | advanced/kanban-pattern.md |
| mega-form | advanced/mega-form-pattern.md |
| tab-list | advanced/tab-list-pattern.md |
| 选择的模式 | 需要读取的文件 |
|---|---|
| crud | basic/page-pattern.md + basic/modal-pattern.md |
| page | basic/page-pattern.md |
| two-depth | basic/two-depth-pattern.md |
| infinite-scroll | basic/infinite-scroll-pattern.md |
| select-list | basic/select-list-pattern.md |
| batch-process | basic/batch-process-pattern.md |
| adv-search | advanced/adv-search-pattern.md |
| calendar | advanced/calendar-pattern.md |
| kanban | advanced/kanban-pattern.md |
| mega-form | advanced/mega-form-pattern.md |
| tab-list | advanced/tab-list-pattern.md |
| 옵션 | 읽어야 할 파일 |
|---|---|
| excel=Y | options/excel-pattern.md |
| file=Y | options/file-upload-pattern.md |
| validator 필요 | options/validator-pattern.md |
| 选项 | 需要读取的文件 |
|---|---|
| excel=Y | options/excel-pattern.md |
| file=Y | options/file-upload-pattern.md |
| 需要校验规则 | options/validator-pattern.md |
| 상황 | 읽어야 할 파일 |
|---|---|
| 로딩 상태 필요 | core/loading-state-pattern.md |
| 에러 처리 필요 | core/error-handling-pattern.md |
| 场景 | 需要读取的文件 |
|---|---|
| 需要加载状态 | core/loading-state-pattern.md |
| 需要错误处理 | core/error-handling-pattern.md |
| 카테고리 | 파일 | 용도 |
|---|---|---|
| core/ | mock-service, mock-store, store, type, common, loading-state, error-handling, ui-patterns, visual-guide, common-component-guide | 핵심 가이드 |
| basic/ | page, modal, two-depth, infinite-scroll, select-list, batch-process | 기본 UI 패턴 |
| advanced/ | adv-search, calendar, kanban, mega-form, tab-list | 고급 패턴 |
| options/ | excel, file-upload, validator | 추가 옵션 |
| guides/ | validation, completion | 프로세스 가이드 |
| 分类 | 文件 | 用途 |
|---|---|---|
| core/ | mock-service、mock-store、store、type、common、loading-state、error-handling、ui-patterns、visual-guide、common-component-guide | 核心指南 |
| basic/ | page、modal、two-depth、infinite-scroll、select-list、batch-process | 基础UI模式 |
| advanced/ | adv-search、calendar、kanban、mega-form、tab-list | 高级模式 |
| options/ | excel、file-upload、validator | 附加选项 |
| guides/ | validation、completion | 流程指南 |
front/src/modules/test-data/front/src/modules/[모듈명]/mock/front/src/modules/[모듈명]/store/test-data 가이드 코드를 기준 골격으로 참조하되, Mock 특화 + 도메인 특성에 맞게 Bounded Autonomy 범위 내에서 적응
front/src/modules/test-data/front/src/modules/[模块名]/mock/front/src/modules/[模块名]/store/以test-data示例代码为基础骨架,在有限自主适配规则范围内,结合Mock场景与业务特性做调整