节点在线、应用在线、配置在线使用令牌查询
|
# ç¼–ç 规范 — 星尘(Stardust)
> 本文件从 AGENTS.md §4.2 拆出,记录å‰åŽç«¯ç¼–ç 规范。
## å‰ç«¯ï¼ˆStardust.Web.Vue / cube-vue)
### 组件拆分
æ¯ä¸ªé¢æ¿/功能区独立 `.vue` 文件,ä¸å…è®¸å¤§æ–‡ä»¶å †å¤šé¢æ¿é€»è¾‘。
### æ ·å¼
- 使用 Element Plus 组件 + Tailwind 布局类,颜色åªèµ° `--el-*` å˜é‡
- **ç¦æ¢**新增 `--app-*` ç‰å¹³è¡Œ token
- **ç¦æ¢**硬编ç `bg-red-500` 之类默认调色æ¿
### 关注点分离
- `index.vue` 的 `<script setup>` ≤ 50 行
- ä¸šåŠ¡é€»è¾‘æŠ½æˆ `*.logic.ts` 纯函数
- 模æ¿ä¸Žè„šæœ¬ä¸å¾—写业务逻辑(`new Date()`ã€`fetch()`ã€å¤æ‚ `filter/map` ç‰ï¼‰
### 页é¢å®šåˆ¶
统一用 `CubeTable` å…·åæ’æ§½ï¼›`useSections` / `SectionKeyMap` 覆盖机制为é—ç•™ã€ç¦æ¢æ–°å¢žã€‚
### Element Plus 组件导入
**ç¦æ¢æ˜¾å¼ `import { ElXxx } from 'element-plus'`**(type 导入如 `FormInstance`/`FormRules` é™¤å¤–ï¼‰ï¼šç»„ä»¶æ ·å¼ä¾èµ–按需注入,显å¼å¯¼å…¥ç»•过自动解æžå¯¼è‡´ç»„ä»¶æ— æ ·å¼ï¼ˆå·²éªŒè¯ï¼‰ã€‚统一在模æ¿ä¸ä½¿ç”¨ `<ElXxx>` ç”±æ’件自动解æžã€‚
### cube-vue 组件导入
逿–‡ä»¶å¯¼å…¥ï¼ˆè§ `Doc/DEV-02-踩å‘速记.md`ï¼‰ï¼Œç¦æ¢ `core/components` 目录导入。
### 类型
所有新代ç 必须有 TypeScript 类型,ä¸ç”¨ `any`。
### 技能调用
新增页é¢/布局/微应用/LOV/页é¢è¦†å†™å‰ï¼Œå…ˆè°ƒç”¨å¯¹åº” cube-vue 技能:`cube-init`/`cube-layout`/`cube-add-page`/`cube-add-app`/`cube-lov`/`cube-page-override`(固化了红线:页é¢åªç”¨è‡ªèº« class + `--el-*`;布局用 Tailwind 工具类;`usePageApi` 真实路径;LOV çš„ `requestUrl` 以 `/` 开头须 `proxyRequest=false`)。
### 测试(TDD 优先)
新增逻辑先写 vitest 测试定义预期行为,å†å†™å®žçŽ°ä½¿æµ‹è¯•é€šè¿‡ï¼›ä¿®æ”¹é€»è¾‘å…ˆè¡¥/æ”¹æµ‹è¯•è¦†ç›–æ–°è¡Œä¸ºï¼Œå†æ”¹å®žçŽ°ã€‚
---
## åŽç«¯ï¼ˆ.NET)
### 分层
éµå¾ªçŽ°æœ‰åˆ†å±‚ï¼šå®žä½“ï¼ˆ`Stardust.Data`,XCode ORM)→ Services → Controllers(NewLife.Cube Controller-First CRUD)。
### 软链接å¤ç”¨
`Stardust.Web` çš„ csproj 通过 `<Compile Include>` 软链接å¤ç”¨ `Stardust.Server` çš„ `Services/*` 与 `Setting.cs`,改共享业务逻辑时注æ„两处生效。
### 异æ¥
å¼‚æ¥æ–¹æ³•统一 `async/await`ï¼Œä¸ `.Result` 阻塞。
### 测试(TDD 优先)
新增/修改业务逻辑先写 xUnit 测试,å†å†™å®žçŽ°ã€‚
### æ•°æ®åº“å˜æ›´
èµ° XCode 自动è¿ç§»ï¼Œæ³¨æ„å¯å›žæ»šã€‚
å˜æ›´æ€Žä¹ˆæ‹†ã€ä»€ä¹ˆå¯ä»¥æäº¤ï¼š`Doc/DEV-08-å˜æ›´åŽŸåˆ™.md`。
å‰ç«¯å®¡æŸ¥ä¸Žæäº¤ç”¨åŒä¸€å¥—验收:`Doc/DEV-09-å‰ç«¯éªŒæ”¶æ ‡å‡†.md`。
|