From a62154b7b3602592cb64dfc54f2c1b77df14a509 Mon Sep 17 00:00:00 2001 From: luoyifan Date: Tue, 20 May 2025 22:20:45 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=A9=E6=B5=81=E5=8D=95=E5=85=83=E5=AE=9A?= =?UTF-8?q?=E4=B9=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modelItem/line/LineMeta.ts | 7 +++++++ src/modelItem/point/PointMeta.ts | 7 +++++++ src/modelItem/store/QueueMeta.ts | 7 +++++++ src/runtime/DefineItem.ts | 28 ++++++++++++++++++++++++++++ 4 files changed, 49 insertions(+) create mode 100644 src/modelItem/line/LineMeta.ts create mode 100644 src/modelItem/point/PointMeta.ts create mode 100644 src/modelItem/store/QueueMeta.ts create mode 100644 src/runtime/DefineItem.ts diff --git a/src/modelItem/line/LineMeta.ts b/src/modelItem/line/LineMeta.ts new file mode 100644 index 0000000..7f6fc25 --- /dev/null +++ b/src/modelItem/line/LineMeta.ts @@ -0,0 +1,7 @@ +import { defineItem } from '@/runtime/DefineItem.ts' + +export default defineItem({ + name: 'line', + label: '辅助线', + category: 'line' +}) \ No newline at end of file diff --git a/src/modelItem/point/PointMeta.ts b/src/modelItem/point/PointMeta.ts new file mode 100644 index 0000000..650f231 --- /dev/null +++ b/src/modelItem/point/PointMeta.ts @@ -0,0 +1,7 @@ +import { defineItem } from '@/runtime/DefineItem.ts' + +export default defineItem({ + name: 'point', + label: '辅助点', + category: 'point' +}) \ No newline at end of file diff --git a/src/modelItem/store/QueueMeta.ts b/src/modelItem/store/QueueMeta.ts new file mode 100644 index 0000000..4ab06eb --- /dev/null +++ b/src/modelItem/store/QueueMeta.ts @@ -0,0 +1,7 @@ +import { defineItem } from '@/runtime/DefineItem.ts' + +export default defineItem({ + name: 'queue', + label: '暂存区', + category: 'store' +}) \ No newline at end of file diff --git a/src/runtime/DefineItem.ts b/src/runtime/DefineItem.ts new file mode 100644 index 0000000..cfc9ab6 --- /dev/null +++ b/src/runtime/DefineItem.ts @@ -0,0 +1,28 @@ +/** + * 定义一个 物流单元 + */ +export class ItemDefine { + option!: ItemOption + + constructor(option: ItemOption) { + this.option = option + } +} + +export type ItemCategory = 'point' | 'line' | 'store' | 'executer' | 'flow_item' | 'other' + +export interface ItemOption { + name: string + label: string + category: ItemCategory +} + +/** + * 定义一个 物流单元 + */ +export function defineItem(option: ItemOption): Promise { + return new Promise((resolve, reject) => { + const item = new ItemDefine(option) + resolve(item) + }) +} \ No newline at end of file