import { z } from 'zod'; const targetPlatformEnum = z.enum(['default', 'intl', 'private']); // module 为 general-option 枚举,存选项代码而非展示标签: // scf=云函数 / tcbr=云托管 / static_hosting=静态托管 / storage=云存储 const moduleEnum = z.enum(['scf', 'tcbr', 'static_hosting', 'storage']); const row = z .object({ _id: z.string(), title: z.string(), targetPlatform: z.array(targetPlatformEnum).min(1), lang: z.enum(['zh', 'en']), configKey: z.string().optional(), titleIcon: z.string().optional(), module: moduleEnum.optional(), featurePermissionName: z.string().optional(), docUrl: z.string().optional(), sampleCode: z.string().optional(), description: z.string().optional(), docOrder: z.number().int().optional(), // —— 旧 cms 平台系统字段,保留以保证使用处兼容性 —— // 创建/更新时间在 xlsx 中导出为日期时间字符串,按实际数据形态用 z.string() createdAt: z.string(), updatedAt: z.string(), owner: z.string().optional(), createBy: z.string().optional(), updateBy: z.string().optional(), _mainDep: z.string().optional(), _openid: z.string().optional(), }) .strict(); export default z.array(row);