feat(aigc): M-c批② 后端三处加行——白名单+idle/tycoon、资源Map两行、getTemplateList 2→4条(批①Map化纯验证波)
零生产签名/零pom/零Validator/零测试重写;鉴权波PlayerApi行一字不动;四模板全收口 HJ-MC-TPL-EXEC-002 §6.3/§6.4 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
f82d480dfd
commit
91d651e6a2
@ -27,10 +27,10 @@ public final class AigcTemplateConstants {
|
||||
|
||||
/**
|
||||
* 玩法模板白名单(唯一同源)。
|
||||
* M-c 批① = clicker + merge 两模板;批② 扩 idle/tycoon 在此加列表项。
|
||||
* M-c 批① = clicker + merge 两模板;批②(HJ-MC-TPL-EXEC-002 §6.3)已扩 idle/tycoon,四模板全收口。
|
||||
* 取值须与 PromptResourceLoader 资源 Map 的键、contracts/templates/<id>.schema.json 一一对应。
|
||||
*/
|
||||
public static final List<String> SUPPORTED_TEMPLATE_IDS = List.of("clicker", "merge");
|
||||
public static final List<String> SUPPORTED_TEMPLATE_IDS = List.of("clicker", "merge", "idle", "tycoon");
|
||||
|
||||
private AigcTemplateConstants() {
|
||||
// 纯常量持有类,禁止实例化
|
||||
|
||||
@ -25,8 +25,9 @@ import java.util.regex.Pattern;
|
||||
*
|
||||
* 【单模板 → 多模板(HJ-MC-TPL-EXEC-001 §6.2)】以 templateId 为键缓存每模板一份
|
||||
* {@code (promptVersion, promptBody, schemaText)}({@link TemplateResource})。资源映射 = {@link #TEMPLATE_RESOURCES}:
|
||||
* clicker → clicker-designer.md + clicker.schema.json;merge → merge-designer.md + merge.schema.json
|
||||
* (批② 扩 idle/tycoon 在此映射加行即开新模板——兑现「加文件即开模板」承诺)。
|
||||
* clicker → clicker-designer.md + clicker.schema.json;merge → merge-designer.md + merge.schema.json;
|
||||
* 批②(HJ-MC-TPL-EXEC-002 §6.3)已扩 idle/tycoon(idle-designer.md+idle.schema.json / tycoon-designer.md+tycoon.schema.json)
|
||||
* ——在此映射加行即开新模板,兑现「加文件即开模板」承诺,四模板全收口。
|
||||
* 【ready 全局语义(§6.2 拍板)】{@link #isReady()} 保留全局语义 = 所有模板均就绪;任一模板资源缺失/形态
|
||||
* 非法 → 整体自禁用,{@link #getNotReadyReason()} 含模板名 + 缺失路径(沿现有自禁用范式,不暴露半成品)。
|
||||
*
|
||||
@ -67,6 +68,14 @@ public class PromptResourceLoader {
|
||||
m.put("merge", new String[]{
|
||||
"wanxiang-contracts/prompts/04-config/merge-designer.md",
|
||||
"wanxiang-contracts/templates/merge.schema.json"});
|
||||
// 批②(HJ-MC-TPL-EXEC-002 §6.3)扩 idle/tycoon:资源路径按 clicker/merge 现有范式
|
||||
// (04-config/<t>-designer.md + templates/<t>.schema.json);pom 通配已自动复制进 classpath,零 pom 改动。
|
||||
m.put("idle", new String[]{
|
||||
"wanxiang-contracts/prompts/04-config/idle-designer.md",
|
||||
"wanxiang-contracts/templates/idle.schema.json"});
|
||||
m.put("tycoon", new String[]{
|
||||
"wanxiang-contracts/prompts/04-config/tycoon-designer.md",
|
||||
"wanxiang-contracts/templates/tycoon.schema.json"});
|
||||
TEMPLATE_RESOURCES = Collections.unmodifiableMap(m);
|
||||
}
|
||||
|
||||
|
||||
@ -56,7 +56,7 @@ public class AigcTaskServiceImpl implements AigcTaskService {
|
||||
@Override
|
||||
public List<TemplateRespVO> getTemplateList() {
|
||||
// T-AGC-03 模板注册表的 MVP 最小形态(HJ-AGENT-LOOP-EXEC-002 §8.4 T6,主 agent 裁决 #1 纳入):
|
||||
// 返回硬编码 2 条(clicker+merge,HJ-MC-TPL-EXEC-001 §6.5 批① 扩 merge;批② 扩 idle/tycoon),
|
||||
// 返回硬编码 4 条(clicker+merge+idle+tycoon——M-c 模板波两批全收口;HJ-MC-TPL-EXEC-002 §6.4 批② 扩 idle/tycoon),
|
||||
// 使 Create 页 canSubmit 依赖的模板列表非空(真实用户 UI 链路活)。
|
||||
// 注册表选型(DB 表 / Nacos 配置 / Dify 侧)落地后替换。
|
||||
TemplateRespVO clicker = new TemplateRespVO();
|
||||
@ -70,7 +70,19 @@ public class AigcTaskServiceImpl implements AigcTaskService {
|
||||
merge.setName("合成升级");
|
||||
merge.setDescription("拖拽两个同级物件合成更高一级,合成到目标等级即通关");
|
||||
merge.setExamplePrompt("做一个把多肉植物合成升级的小游戏");
|
||||
return List.of(clicker, merge);
|
||||
// 批②(HJ-MC-TPL-EXEC-002 §6.4)扩 idle(放置挂机):点击+挂机产出资源,含离线收益
|
||||
TemplateRespVO idle = new TemplateRespVO();
|
||||
idle.setTemplateId("idle");
|
||||
idle.setName("放置挂机");
|
||||
idle.setDescription("点击和挂机自动产出资源,攒够目标即通关,离开再回来还能领离线收益");
|
||||
idle.setExamplePrompt("做一个挂机种树攒果实的小游戏");
|
||||
// 批②(HJ-MC-TPL-EXEC-002 §6.4)扩 tycoon(模拟经营):进货卖货赚差价
|
||||
TemplateRespVO tycoon = new TemplateRespVO();
|
||||
tycoon.setTemplateId("tycoon");
|
||||
tycoon.setName("模拟经营");
|
||||
tycoon.setDescription("进货卖货赚差价,金币攒到目标就通关");
|
||||
tycoon.setExamplePrompt("做一个开奶茶店进货卖货赚钱的小游戏");
|
||||
return List.of(clicker, merge, idle, tycoon);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user