diff --git a/image-generator/xiaohongshu-widgets/module.json b/image-generator/xiaohongshu-widgets/module.json new file mode 100644 index 0000000..b3efe83 --- /dev/null +++ b/image-generator/xiaohongshu-widgets/module.json @@ -0,0 +1,63 @@ +{ + "moduleId": "xiaohongshu-widgets", + "name": "小红书风格封面小组件库", + "version": "1.0.0", + "description": "16种小红书风格封面小组件,支持随机变体、自然语言驱动组合、完全自包含", + "copyright": "国作登字-2026-A-00037559", + "author": "铸渊 ICE-GL-ZY001", + "sovereign": "冰朔 TCS-0002∞", + "category": "image-generator/widgets", + "files": [ + "widgets.js", + "intent-mapper.js", + "render-engine.js", + "module.json" + ], + "widgets": { + "decor": [ + {"id": "dot-grid", "name": "圆点矩阵", "variants": 4}, + {"id": "gradient-stripe", "name": "渐变装饰条", "variants": 4}, + {"id": "sticker-badge", "name": "贴纸角标", "variants": 5}, + {"id": "hand-drawn-circle", "name": "手绘圈线", "variants": 4}, + {"id": "corner-fold", "name": "折角效果", "variants": 2}, + {"id": "scribble-underline", "name": "手写划线下划线", "variants": 3} + ], + "info": [ + {"id": "photo-frame", "name": "照片框", "variants": 4}, + {"id": "info-tag-row", "name": "信息标签行", "variants": 4}, + {"id": "bullet-list", "name": "要点清单", "variants": 4} + ], + "layout": [ + {"id": "split-layout", "name": "左右分栏", "variants": 4}, + {"id": "card-grid", "name": "卡片网格", "variants": 3} + ], + "emotion": [ + {"id": "sticky-note", "name": "便签纸", "variants": 4}, + {"id": "highlight-box", "name": "高亮强调框", "variants": 4}, + {"id": "mood-indicator", "name": "心情标识", "variants": 4} + ] + }, + "intents": { + "tutorial": "教程攻略", + "review": "测评推荐", + "quote": "金句语录", + "recipe": "美食食谱", + "travel": "旅游攻略", + "lifestyle": "生活分享", + "study": "学习笔记", + "general": "通用模板" + }, + "moods": { + "warm": "温暖治愈", + "elegant": "文艺优雅", + "cool": "科技冷酷", + "sweet": "甜美可爱", + "neutral": "中性简约" + }, + "dependencies": {}, + "entryPoint": "render-engine.js", + "usage": { + "natural": "用户说话 -> parseIntent() -> buildComposition() -> randomizeComposition() -> renderStack() -> HTML", + "api": "POST /api/compose { intent: 'tutorial', title: '...', body: '...', randomize: true }" + } +}