dedsi-vue3-coding
15
总安装量
10
周安装量
#22891
全站排名
安装命令
npx skills add https://github.com/dedsiteam/dedsi-skills --skill dedsi-vue3-coding
Agent 安装分布
claude-code
6
opencode
5
cursor
5
gemini-cli
4
antigravity
4
codex
4
Skill 文档
Dedsi Vue3 Coding
Vue 3 + TypeScript 项ç®å¼åè§èï¼ä½¿ç¨ Dedsi UI ç»ä»¶åºã
使¶ä½¿ç¨
- å建æ°ç Vue 3 页é¢ç»ä»¶
- å®ç° CRUDï¼å¢å æ¹æ¥ï¼åè½
- å®ä¹ API æå¡å±
- ä½¿ç¨ Dedsi UI ç»ä»¶
- å¤ç表ååè¡¨æ ¼æ°æ®
- éµå¾ªé¡¹ç®ä»£ç è§è
è½åè§å
没æè¿äºè§åï¼AI æ æ³è§£å³é®é¢æçæçä»£ç æ æ³æ£ç¡®è¿è¡ã
API æå¡å±
| è§å | å½±å | æè¿° |
|---|---|---|
| api-service-patterns.md | HIGH | API æå¡ç±»å®ä¹åæ åæ¹æ³ |
View ç»ä»¶
| è§å | å½±å | æè¿° |
|---|---|---|
| view-component-patterns.md | HIGH | 页é¢ç»ä»¶ç»æåç¶æç®¡ç |
| component-mapping.md | HIGH | Dedsi UI ç»ä»¶æ å° |
| icon-usage.md | MEDIUM | 徿 使ç¨è§è |
æ°æ®å¤ç
| è§å | å½±å | æè¿° |
|---|---|---|
| table-data-handling.md | HIGH | Table æ°æ®å è½½åå页 |
| form-handling.md | HIGH | 表åç¶æåæäº¤å¤ç |
| form-validation.md | HIGH | 表åéªè¯è§å |
| delete-operations.md | MEDIUM | å 餿ä½å确认 |
| view-detail-modal.md | MEDIUM | æ¥ç详æ å¼¹çª |
æçè§å
è¿äºè§åå¸®å© AI æ´ææãæ´ä¸è´å°è§£å³é®é¢ã
ä»£ç æ¨¡æ¿
| è§å | å½±å | æè¿° |
|---|---|---|
| code-templates.md | MEDIUM | æ å API Service å View ç»ä»¶æ¨¡æ¿ |
ææ¯æ
- æ¡æ¶: Vue 3 (Composition API)
- è¯è¨: TypeScript
- UI ç»ä»¶åº: Dedsi UI
- åç¼:
dedsi-(å¦dedsi-button,dedsi-table)
- åç¼:
- 徿 :
@ant-design/icons-vue - æ¥æå¤ç:
dayjs - HTTP 客æ·ç«¯: èªå®ä¹
AxiosRequestå°è£
项ç®ç»æ
src/
âââ apiServices/ # API æå¡å±
â âââ identitys/ # èº«ä»½è®¤è¯æå¡
â â âââ userService.ts
â â âââ types.ts
â â âââ index.ts
â âââ index.ts # ç»ä¸å¯¼åº
âââ components/ # å¯å¤ç¨ç»ä»¶
âââ configs/ # é
ç½®æä»¶
âââ layouts/ # å¸å±ç»ä»¶
âââ router/ # è·¯ç±é
ç½®
âââ stores/ # Pinia ç¶æç®¡ç
âââ utils/ # å·¥å
·å½æ°
âââ views/ # 页é¢è§å¾
âââ App.vue
å¼åè§è
æ ¸å¿åå
- ç»ä»¶ä¼å
: ä¼å
使ç¨
dedsi-åç¼ç Dedsi UI ç»ä»¶ - Composition API: ææç»ä»¶ä½¿ç¨
<script setup lang="ts"> - ç±»åå®å ¨: ä¸¥æ ¼ä½¿ç¨ TypeScript ç±»åå®ä¹
- é误å¤ç: ç»ä¸ä½¿ç¨ try-catch å
DedsiMessage
API æå¡å±
ä½ç½®: src/apiServices/{module}/
- 使ç¨
classå®ä¹æå¡ - å¯¼åºæå¡å®ä¾ï¼å便¨¡å¼ï¼
- DTO ç±»åå®ä¹å¨
types.tsä¸ - å®ç°æ åæ¹æ³ï¼
pagedQuery,get,create,update,delete
View ç»ä»¶
ä½¿ç¨ Composition API:
<script setup lang="ts">
import { reactive, ref, onMounted } from 'vue'
</script>
æ å页é¢ç»æ:
- æç´¢å¡ç (
dedsi-card+dedsi-form) - è¡¨æ ¼å¡ç (
dedsi-card+dedsi-table) - å¼¹çªè¡¨å (
dedsi-modal+dedsi-form)
æ ¸å¿ç¶æ
// è¡¨æ ¼æ°æ®
const tableLoading = ref(false)
const tableData = ref<Dto[]>()
// å页é
ç½®
const pagination = reactive({
current: 1,
pageSize: 10,
total: 0
})
// æ¥è¯¢åæ°
const queryParam = reactive<Partial<InputDto>>({ ... })
// å¼¹çªè¡¨å
const modalVisible = ref(false)
const formState = reactive<any>({ ... })
æä½³å®è·µ
1. Table åå®ä¹
- ä¼å
使ç¨
slotæ¹å¼å®ä¹åï¼ä¾¿äºèªå®ä¹æ¸²æ - æ¶é´å段使ç¨
dayjsæ ¼å¼å - æä½å使ç¨
template #actionsææ§½
2. æ°æ®å è½½
- ç»ä¸å°è£
fetchDataæ¹æ³ try-catchå 裹 API 请æ±finallyä¸éç½®tableLoading.value = false
3. 表åå¤ç
- ç¼è¾æ¶ä½¿ç¨
Object.assign(formState, detail)åå¡«æ°æ® - æ°å¢æ¶ééç½®
formState - æäº¤æ¶æ ¹æ®æ¯å¦æ
idå¤ææ¯ Create è¿æ¯ Update - 使ç¨
formRefè¿è¡è¡¨åéªè¯
4. 表åéªè¯
- 使ç¨
:ruleså®ä¹éªè¯è§å - æå¨è°ç¨
formRef.value?.validate()éªè¯ - å
³éå¼¹çªæ¶è°ç¨
formRef.value?.clearValidate()æ¸ é¤éªè¯
5. 徿 使ç¨
- ä»
@ant-design/icons-vueå¯¼å ¥å¾æ - 使ç¨
<template #icon>ææ§½æ·»å 徿 å°æé®
6. å 餿ä½
- 使ç¨
dedsi-popconfirmå 裹å é¤æé® - 鲿¢è¯¯æä½
7. æ¥ç详æ
- æä¾ç¬ç«çæ¥ç详æ å¼¹çª
- 对å
³é®å段使ç¨
dedsi-typography:copyableæ¯æå¤å¶
åè
- Dedsi Vue-UI – Dedsi UI ç»ä»¶åºææ¡£
- Vue 3 Documentation – Vue 3 宿¹ææ¡£
- TypeScript Documentation – TypeScript 宿¹ææ¡£