{ "type": "panel", "id": "pbl_domain_ext_index", "title": "PBL 基础域薄扩展 world/scene/entity(M8)", "layout": "vbox", "items": [ { "type": "html", "id": "hdr", "html": "

PBL 基础域薄扩展契约面板

world / scene / entity 三模块的 PBL 侧薄扩展:仅新增关联表 pbl_domain_ref 与只读查询契约,不改三张基表结构(Q-OPEN-3)。下列 13 个契约卡片 url 全部使用 entire_url() 生成,避免 RBAC 403 与路由错误。

" }, { "type": "panel", "id": "grp_ref", "title": "一、关联表 pbl_domain_ref 契约(6)", "layout": "hbox", "items": [ { "type": "button", "id": "card_ref_list", "text": "1. 关联列表 pbl_domain_ref_list", "url": "{{entire_url('/pbl_domain_ext/api/pbl_domain_ref_list.dspy')}}" }, { "type": "button", "id": "card_ref_get", "text": "2. 关联详情 pbl_domain_ref_get", "url": "{{entire_url('/pbl_domain_ext/api/pbl_domain_ref_get.dspy')}}" }, { "type": "button", "id": "card_ref_bind", "text": "3. 绑定 pbl_domain_ref_bind", "url": "{{entire_url('/pbl_domain_ext/api/pbl_domain_ref_bind.dspy')}}" }, { "type": "button", "id": "card_ref_update", "text": "4. 更新 pbl_domain_ref_update", "url": "{{entire_url('/pbl_domain_ext/api/pbl_domain_ref_update.dspy')}}" }, { "type": "button", "id": "card_ref_unbind", "text": "5. 解绑 pbl_domain_ref_unbind", "url": "{{entire_url('/pbl_domain_ext/api/pbl_domain_ref_unbind.dspy')}}" }, { "type": "button", "id": "card_ref_check_access", "text": "6. 访问判定 pbl_domain_ref_check_access", "url": "{{entire_url('/pbl_domain_ext/api/pbl_domain_ref_check_access.dspy')}}" } ] }, { "type": "panel", "id": "grp_world", "title": "二、world 薄扩展契约(2)", "layout": "hbox", "items": [ { "type": "button", "id": "card_world_list", "text": "7. 租户世界列表 pbl_world_list_by_tenant", "url": "{{entire_url('/pbl_domain_ext/api/pbl_world_list_by_tenant.dspy')}}" }, { "type": "button", "id": "card_world_ctx", "text": "8. 世界上下文 pbl_world_get_context", "url": "{{entire_url('/pbl_domain_ext/api/pbl_world_get_context.dspy')}}" } ] }, { "type": "panel", "id": "grp_scene_entity", "title": "三、scene / entity 薄扩展契约(2)", "layout": "hbox", "items": [ { "type": "button", "id": "card_scene_list", "text": "9. 世界下场景 pbl_scene_list_by_world", "url": "{{entire_url('/pbl_domain_ext/api/pbl_scene_list_by_world.dspy')}}" }, { "type": "button", "id": "card_entity_list", "text": "10. 场景下实体 pbl_entity_list_by_scene", "url": "{{entire_url('/pbl_domain_ext/api/pbl_entity_list_by_scene.dspy')}}" } ] }, { "type": "panel", "id": "grp_team", "title": "四、班级/团队关联契约(3)", "layout": "hbox", "items": [ { "type": "button", "id": "card_team_bind", "text": "11. 团队绑定世界 pbl_team_bind_world", "url": "{{entire_url('/pbl_domain_ext/api/pbl_team_bind_world.dspy')}}" }, { "type": "button", "id": "card_team_world_list", "text": "12. 团队世界列表 pbl_team_world_list", "url": "{{entire_url('/pbl_domain_ext/api/pbl_team_world_list.dspy')}}" }, { "type": "button", "id": "card_team_by_class", "text": "13. 班级团队列表 pbl_team_list_by_class", "url": "{{entire_url('/pbl_domain_ext/api/pbl_team_list_by_class.dspy')}}" } ] }, { "type": "dataviewer", "id": "ref_viewer", "title": "关联记录浏览(CRUD: json/pbl_domain_ref.json)", "url": "{{entire_url('/pbl_domain_ext/api/pbl_domain_ref_list.dspy')}}" } ] }