创建模块
文件结构
src/tables/{mod}/
├── {mod}.sql # 表结构
└── {mod}.ts # 表配置
步骤
- 检查模块名
- 确保
{mod}在src/tables/下唯一,不与现有模块重名。
- 创建文件
- 创建
src/tables/{mod}/{mod}.sql - 创建
src/tables/{mod}/{mod}.ts
- 注册模块
- 在
src/tables/tables.ts注册:
import { defineConfig } from "../config.ts";
import base from "./base/base.ts";
import {mod} from "./{mod}/{mod}.ts";
export default defineConfig({
...base,
...{mod},
});
- 配置菜单
- 创建菜单 CSV:
src/tables/{mod}/base_menu.{mod}.sql.csv
id,parent_id,lbl,route_path,is_home_hide,is_enabled,is_hidden,order_by
{uuid},,模块名称,,0,1,0,60000
{uuid},{parent_uuid},子菜单,/{mod}/{table},0,1,0,60001
parent_id为空表示根菜单is_hidden=1, is_enabled=0表示隐藏菜单 (通常用于被其他页面内联查看的子表)- 不要手动创建
base_tenant_menu和base_role_menu文件,它们会在npm run importCsv时自动生成 - 无需创建
base_menu_lang, 国际化菜单仅在启用 i18n 时需要, 大部分系统不需要
示例
模块名: ec(电商)
// src/tables/ec/ec.ts
import { defineConfig } from "../../config.ts";
export default defineConfig({
// 订单
ec_order: { /* 订单表配置 */ },
// 订单明细
ec_order_detail: { /* 订单明细配置 */ },
});