初始提交:用户交流技术实现方案及31张SVG/JPG图
@@ -0,0 +1,284 @@
|
||||
<!--
|
||||
PDF源文件: 延安精神(大湾区)学习展示中心项目报告(优化版)对外交流版 2026.7.9V1.0.pdf
|
||||
转换日期: 2026-07-12
|
||||
-->
|
||||
|
||||
# 延安精神(大湾区)学习展示中心项目报告
|
||||
## 总述
|
||||
延安精神是中国共产党的核心精神内核,是我党百年奋斗积淀的宝贵
|
||||
精神财富。立足数字经济新时代,运用人工智能、元宇宙等前沿技术创新
|
||||
阐释、传播延安精神,既是坚守正确政治方向、落实解放思想实事求是思
|
||||
想路线的重要实践,也是延安精神创造性转化、创新性发展,建设新时代
|
||||
思想文化建设的标杆工程,兼具政治性、前瞻性和时代性。
|
||||
本项目依托粤港澳大湾区位、产业和人口优势,打造集理论研究、党
|
||||
性实训、数字沉浸体验、思政研学、IP 孵化于一体的延安精神数智化展
|
||||
示枢纽。
|
||||
项目突破传统红色展馆静态展陈、单向宣讲短板,以数字技术焕活延
|
||||
安精神,构建涵盖党政、校园、社会三级常态化必修教育体系,覆盖党员
|
||||
干部、师生、港澳青年、企业职工、社区群众的延安精神一站式全业态学
|
||||
习综合体。
|
||||
## 一、项目总览
|
||||
### 1.2 核心定位
|
||||
立足广东、辐射全国、联动港澳,建成两大核心载体:
|
||||
1. 数智化展示枢纽:打造集理论研究、党性实训、数字沉浸体验、思
|
||||
政研学、IP 产业孵化于一体的延安精神数智化展示枢纽;
|
||||
2. 复合型学习综合体:构建涵盖党政党性教育、大中小学思政培育、
|
||||
全民红色普及的延安精神一站式全业态学习综合体。
|
||||
|
||||
### 1.3 项目目标
|
||||
#### 1. 补齐湾区延安精神专属阵地短板
|
||||
严格对标总书记贺信精神与全国红色文化建设工作要求,填补大湾区
|
||||
大型数字化延安精神专属教育阵地的空白,搭建标准化、常态化学习实践
|
||||
平台。
|
||||
#### 2. 打造全国可复制样板
|
||||
以AI、VR/AR/MR、8K 超高清数字技术重构红色学习场景,建成可
|
||||
复制、可对外输出的延安精神数字化标杆。
|
||||
#### 3. 打造岭南红色叙事
|
||||
融合延安根脉,深度挖掘东江纵队革命历史、广东改革开放历程、
|
||||
XXX 自贸片区发展实践,构建岭南地域特色的红色教育内容体系。
|
||||
#### 4. 实现青少年群体全覆盖
|
||||
搭建分龄分层研学课程,打通线下实体场馆+线上3D 云展馆双通道,
|
||||
推动延安精神年轻化传播。
|
||||
#### 5. 筑牢港澳青年家国认同
|
||||
依托毗邻港澳区位优势,搭建港澳青年专属国情教育平台,以轻量化、
|
||||
双语化、数字化体验降低认知门槛,增强港澳青年国家认同、民族认同、
|
||||
文化认同。
|
||||
## 二、六大核心功能板块规划
|
||||
### 2.1 延安革命文物展示中心(项目核心实物载体)
|
||||
调配延安革命文物原件长期驻馆展出,实现“实物展陈+数字复原”双
|
||||
线展示。
|
||||
#### 1. 实物展陈
|
||||
陈列延安时期生产生活器具、革命手稿、报刊文献、军装武器、领导
|
||||
人书信、大生产运动实物等一、二级革命文物,完整还原延安十三年艰苦
|
||||
奋斗历史图景;同步配套展出东江纵队华南抗战文物,打通“延安根脉—
|
||||
华南红色实践”完整叙事脉络。
|
||||
#### 2. 数字化配套
|
||||
配套AI 智能讲解、全息文物复原;配套恒温恒湿专业文物库房,实
|
||||
现文物数字化建档,搭建和开放线上数字馆藏库。
|
||||
#### 3. 专题文物临展机制
|
||||
联动全国各大红色纪念馆开展革命文物展巡回展,打造华南唯一常态
|
||||
化延安革命文物固定展示窗口,兼具文物保护、党史研究、公众科普多重
|
||||
功能。
|
||||
### 2.2 权威党建思政宣教平台
|
||||
构建“干部党性锤炼+校园思政教学+红色师资培育”三位一体必修教育
|
||||
体系,全部内容由中国延安精神研究会编审。
|
||||
#### 1. 党政党性教育主阵地
|
||||
作为全省机关、国企、两新组织(新经济组织、新社会组织)主题教
|
||||
育、组织生活会、入党宣誓固定点位;围绕延安精神四大内涵,开发廉政
|
||||
教育、湾区发展专题党课,承接各单位集中轮训、主题党日活动。
|
||||
#### 2. 分层青少年思政研学基地
|
||||
联合中国人民大学,分层研发梯度课程:
|
||||
• 小学段:红色故事沉浸式互动体验,侧重情感熏陶;
|
||||
• 中学段:系统梳理革命历史脉络,强化历史逻辑认知;
|
||||
• 高校段:延安精神理论深度研讨、社会实践课题研究。
|
||||
同步申报省级、国家级研学基地,与全省千余所院校签订长期研学合
|
||||
作框架。
|
||||
#### 3. 华南红色师资培育总部
|
||||
面向党务干部、思政教师、讲解员开设持证研修班;建立红色师资人
|
||||
才库,输出标准化课件与数字化教学工具。
|
||||
### 2.3 AI+XR 数字红色沉浸式体验中心(项目标志性特色板块)
|
||||
布局一层14.3 米超高无柱核心空间,搭建专属延安精神AI 大模型、
|
||||
VR/AR/MR、8K 影音、全身动态体感交互设备。
|
||||
#### 1. VR 实景体验舱
|
||||
1:1 复原南泥湾大生产、敌后根据地、延安窑洞生活、东江纵队游击
|
||||
战场,游客沉浸式参与纺线、开荒、战地送信等情景互动,实现由“被动
|
||||
观看”向“主动亲历”转变,强化历史共情。
|
||||
#### 2. AI 智能党史互动馆
|
||||
设置中英双语AI 宣讲人,实时解答党史理论问题;布设多点触控大
|
||||
屏,可开展党史竞赛、红色剧本演绎、云端党史连线对话,适配团体研学
|
||||
互动教学需求。
|
||||
#### 3. 6 座标准化环幕影院矩阵
|
||||
分区设置多规格环幕放映厅,循环播放延安精神纪录片、广东改革开
|
||||
放纪实、自贸区发展专题片、港澳青年家国主题短片。
|
||||
#### 4. 全国云端演播基地
|
||||
永久上线3D 云展馆,常态化开展云端党课、线上公益微课、粤港澳
|
||||
青年线上沙龙,打破地域限制。
|
||||
### 2.4 延安精神与国家级非遗太极融合传播区
|
||||
坚持延安精神与中华优秀传统文化双向融合,打造特色修身文化空间。
|
||||
#### 1. AI+太极教学空间
|
||||
配备骨骼动作捕捉、AI 动作矫正系统、虚拟太极数字大屏,面向党员
|
||||
干部、青少年、社区群众开设公益课程;将自力更生、坚韧不拔的延安奋
|
||||
斗精神融入太极教学。
|
||||
#### 2. 非遗太极主题系列活动
|
||||
定期举办大湾区非遗太极交流赛、党员修身研学营;联动港澳社团开
|
||||
展跨境太极交流,柔性拉近港澳青年情感距离。
|
||||
#### 3. 融合IP 开发
|
||||
开发“延安精神+太极”融合数字课程、短视频,纳入云端内容矩阵,
|
||||
形成差异化特色IP。
|
||||
### 2.5 人工智能通识研学与数字创作实训空间
|
||||
依托北京邮电大学,聚焦AI 通识与数字创作。
|
||||
#### 1. AI 通识科普课堂
|
||||
面向中小学生、港澳青年开设人工智能、元宇宙、数字建模等通识课
|
||||
程。
|
||||
#### 2. 数字创作实训工坊
|
||||
配备专业数字创作设备,组织创作红色短视频、AI 党史绘画、虚拟党
|
||||
史宣讲脚本,优质原创数字作品同步上云展示。
|
||||
#### 3. 分层实训教室集群
|
||||
划分小型研讨室、中型阶梯教室、团体实训教室,支持粤港澳三地同
|
||||
步线上研讨交流。
|
||||
### 2.6 文献典藏、文创巡展综合配套区
|
||||
作为场馆基础配套支撑板块,布局二层模块化灵活配套空间,承载史
|
||||
料保存、廉政教育、文创开发、临时展览功能。
|
||||
#### 1. 党史文献典藏馆
|
||||
落地延安精神理论著作、华南革命史料、港澳国情教育文献,面向专
|
||||
家学者、思政教师、党员开放查阅,打造华南红色理论研究核心资料中心。
|
||||
配套恒温恒湿革命文物数字化库房,完成文物数字化采集、修复、归档全
|
||||
流程管理。
|
||||
#### 2. 廉政与党务实训展厅
|
||||
结合延安时期从严治党历史与新时代党风廉政建设典型案例开展警示
|
||||
教育;配套党务模拟实训空间,提供入党流程、组织生活、党务材料规范
|
||||
实操教学。
|
||||
#### 3. 红色文创与青少年手工工坊
|
||||
开发延安精神、东江纵队、大湾区、港澳家国主题文创产品;设立青
|
||||
少年红色泥塑、版画手作研学活动,轻量化、生活化传播红色文化。
|
||||
#### 4. 移动临时巡展厅
|
||||
采用模块化可移动展墙,承接全国红色巡展、地方党史专题展、港澳
|
||||
青年艺术展、时代楷模事迹展,提升场馆内容更新活力。
|
||||
#### 5. 多功能报告厅与读书空间
|
||||
设置党史读书会客厅,常态化开展红色读书会;配备大中型报告厅承
|
||||
办全国理论论坛、省级延安精神宣讲大会、年度主题教育集中轮训、红色
|
||||
师资长期研修班。
|
||||
## 三、13000 ㎡空间分区与专属参观动线
|
||||
一层平面图
|
||||
|
||||
二层平面图
|
||||
### 3.1 面积与功能分配(适配弧形中空建筑结构)
|
||||
功能分区
|
||||
面积
|
||||
楼层位置
|
||||
核心承载业态
|
||||
序厅党员宣誓集散区
|
||||
1500 ㎡
|
||||
一层入口
|
||||
智能票务、AI 导览、千人宣誓大
|
||||
厅、人员前置分流
|
||||
延安精神主题主展馆
|
||||
4500 ㎡
|
||||
一二层连通
|
||||
革命文物常设展、历史叙事展区、
|
||||
湾区楷模展厅
|
||||
沉浸式研学体验区
|
||||
3500 ㎡
|
||||
一层高区核心
|
||||
VR 体验舱、AI 互动馆、环幕影院、
|
||||
云端演播中心
|
||||
党建研学教育培训区
|
||||
2000 ㎡
|
||||
二层独立分区
|
||||
师资研修教室、廉政实训、AI 通识
|
||||
课堂、报告厅
|
||||
文献典藏文创巡展区
|
||||
1000 ㎡
|
||||
二层边角配套
|
||||
党史图书馆、文创工坊、太极教
|
||||
学、临时巡展厅
|
||||
AI 运维保障后勤区
|
||||
500 ㎡
|
||||
一层附属后勤
|
||||
中控机房、安防消防、办公仓储、
|
||||
应急医疗点
|
||||
### 3.2 4 条独立闭环参观动线(错峰分流,互不交叉)
|
||||
依托建筑多独立分区、中央中空通道布局,规划4 条互不交叉的独立
|
||||
闭环参观动线,适配不同群体学习需求,实现错峰高效运营:
|
||||
1. 中小学研学专线:序厅→延安精神主题主展馆→AI 数字沉浸式体验
|
||||
区→二层AI 研学教室(专题授课+结业仪式+红色手工工坊+非遗太极体验
|
||||
区)。
|
||||
2. 党政党建培训专线:序厅→千人宣誓大厅→主题主展馆→二层多功
|
||||
能报告厅→廉政与党务模拟实训空间。
|
||||
3. 散客游览专线:序厅→精简主线展厅→二层文创。
|
||||
4. 专家教研专线:二层党史文献图书馆→小型专题研讨室→数字课程
|
||||
研发基地。
|
||||
## 四、运营管理核心原则
|
||||
### 4.2 AI 客流分区管控
|
||||
全面实行线上分时预约、分区分流、错峰授课数字化管理;全域部署
|
||||
AI 客流实时监控系统,设置人流超标自动限流;配套专职安保、应急医疗,
|
||||
定期开展安全疏散演练。
|
||||
### 4.4 模块化动态迭代更新原则
|
||||
建立标准化年度展陈改版更新机制,线上数字内容按月更新;空间采
|
||||
用标准化模块化展陈、可移动隔断设计,可快速适配重大主题宣传、临时
|
||||
专题巡展、新兴研学业态拓展需求,有效延长场馆全生命周期,持续保持
|
||||
内容时代性与新鲜感。
|
||||
## 五、港澳青年国情教育专项体系(湾区特色板块)
|
||||
依托毗邻港澳独特区位优势,打造面向港澳青年的国情教育平台:
|
||||
#### 1. 全场景双域数字化适配
|
||||
全域配置中英双语AI 宣讲、双语史料库、轻量化沉浸式红色体验课
|
||||
程,简化理论表述、适配港澳青年认知习惯。
|
||||
#### 2. 跨境研学专属闭环线路
|
||||
联动港澳爱国社团、院校定制研学行程,配套双语专人接待、跨境交
|
||||
通协调、轻量化定制数字体验课程。
|
||||
#### 3. 常态化粤港澳青年交流品牌活动
|
||||
定期举办延安精神交流论坛、AI+创作大赛、非遗太极跨境交流营;
|
||||
搭建线上常态化交流平台,促进粤港澳青年文化交融、思想认同,持续厚
|
||||
植家国情怀。
|
||||
## 六、项目实施计划
|
||||
### 6.1 前期筹备阶段(第1-8 个月)
|
||||
1. 签订多方合作协议,落实资源、政策、资金条款;
|
||||
2. 场地勘测、建筑结构、消防荷载评估,完成全空间功能、机电、文
|
||||
物库房专项设计;
|
||||
3. 党史内容编审、AI 数字脚本研发、展陈方案专家评审、专项资金申
|
||||
报、港澳渠道前期对接。
|
||||
### 6.2 场地改造与设备进场阶段(第9-20 个月)
|
||||
1. 一层高区结构加固、VR / 环幕基建;二层展厅、教室、库房、太极
|
||||
空间装修,同步完成恒温恒湿、消防专项工程;
|
||||
|
||||
2. AI 大模型、XR 体感、全域监控、双语导览全套软硬件采购、安装、
|
||||
联调;
|
||||
3. 革命文物数字化修复、实物馆藏运输入库、党史图书馆文献征集、
|
||||
太极数字课程开发。
|
||||
### 6.3 试运营与内容迭代阶段(第21-26 个月)
|
||||
1. 党政单位封闭内测,优化党性培训流程、史实内容;
|
||||
2. 中小学研学专场测试,迭代分龄课程、数字互动体验;
|
||||
3. 港澳青年专场优化双语系统、跨境研学配套;
|
||||
同步完成:首期红色师资研修班开班、3D 云展馆上线、港澳预约通
|
||||
道开通;申报国家级/ 省级研学基地、红色文化专项资金,完成XXX 示
|
||||
范基地授牌。
|
||||
### 6.4 正式运营阶段(第27-48 个月)
|
||||
1. 全业态对外开放:党政培训、校园研学、散客参观、港澳跨境研学、
|
||||
论坛会务、师资研修;
|
||||
2. 每年更新数字内容、增设临时专题巡展,持续举办粤港澳青年交流
|
||||
活动;
|
||||
3. 对外输出标准化红色场馆解决方案,开展技术输出、数字课程定制、
|
||||
全国师资共建,延伸红色产业。
|
||||
### 6.5 中长期迭代升级阶段(第49 个月及以后)
|
||||
每3 年组织一次场馆整体展陈改版升级;持续拓展延安精神数字IP
|
||||
开发、全国研学联盟运营、跨境文化交流,不断丰富业态,实现项目长期
|
||||
可持续发展。
|
||||
## 八、项目战略价值与时代意义
|
||||
#### 1. 行业创新样板价值:全国首个AI 深度融合延安精神学习展示标杆
|
||||
工程,打破传统展馆单向宣讲模式,形成可全国复制的红色思政数字化转
|
||||
型标准范式。
|
||||
#### 2. 大湾区区位战略价值:填补XXX 乃至大湾区延安精神专属教育阵
|
||||
地空白,联动港澳打造对外开放前沿国情交流窗口,服务粤港澳融合发展。
|
||||
#### 3. 多业态融合产业价值:整合党史理论、党性培训、校园思政、数字
|
||||
科创、中华非遗五大业态,构建国内政产学研培一体化发展生态圈。
|
||||
#### 4. 全国示范辐射价值:依托XXX 统筹指导,建成大湾区延安精神宣
|
||||
传、研学、师资培训核心枢纽,为延安精神传承提供落地范本。
|
||||
#### 5. 港澳统战育人价值:以轻量化、双语化、数字化研学降低港澳青年
|
||||
认知门槛,持续强化国家认同、民族认同,助力“一国两制” 行稳致远。
|
||||
## 九、全维度风控保障机制
|
||||
#### 1. 政治合规风控:建立史料溯源、分级审核、年度内容巡检制度,严
|
||||
守史实底线与宣传政治标准。
|
||||
#### 2. 客流安全运营风控:政企校合作锁定稳定客源;AI 预约限流、分
|
||||
线参观杜绝拥堵;常态化消防、人流疏散应急演练。
|
||||
#### 3. 可持续经营风控:双轨收益模式降低单一收入依赖;模块化空间适
|
||||
配政策主题动态调整;拓展IP 授权、技术输出长效增收业务对冲客流波
|
||||
|
||||
动。
|
||||
#### 4. 场地运维风控:依托文化体育中心成熟标准化物业;申请XXX 5
|
||||
年及以上场地租金全免政策,长期压缩场地固定成本。
|
||||
## 十、项目所需配套与支持
|
||||
### 10.1 政策支持
|
||||
1.将本中心定为全省党政机关、企事业单位、大中小学延安精神必修
|
||||
定点阵地,统筹全省党建、研学资源定向导入;
|
||||
2.开通专项资金申报绿色通道,优先申报红色文化、思政教育、数字
|
||||
文旅、文物保护各级扶持资金。
|
||||
### 10.2 属地场地与资金配套
|
||||
1.给予7# 配套楼5 年及以上全额租金减免,配套场地改造、物业、
|
||||
能耗专项补贴;
|
||||
2.纳入大湾区重点文化标杆工程,拨付属地专项发展资金。
|
||||
### 10.3 属地交通、治安保障配套
|
||||
1.交通配套:交通局优化沿线公交、潮汐车道,划定临时停车区、配
|
||||
置摆渡接驳车,大型活动制定专项疏导方案;
|
||||
2.治安安保配套:区公安统筹交警、派出所、专业安保定点值守、全
|
||||
域巡逻;落实1/3/5 分钟快速出警机制,联动街道、志愿者现场引导,完
|
||||
善人流踩踏、极端天气、突发纠纷全套应急预案。
|
||||
@@ -0,0 +1,180 @@
|
||||
from pathlib import Path
|
||||
import re, os
|
||||
from docx import Document
|
||||
from docx.shared import Inches, Pt, RGBColor
|
||||
from docx.enum.text import WD_ALIGN_PARAGRAPH
|
||||
from docx.enum.section import WD_SECTION_START
|
||||
from docx.enum.table import WD_TABLE_ALIGNMENT, WD_CELL_VERTICAL_ALIGNMENT
|
||||
from docx.oxml import OxmlElement
|
||||
from docx.oxml.ns import qn
|
||||
from PIL import Image, ImageDraw, ImageFont
|
||||
|
||||
ROOT=Path(__file__).parent
|
||||
SRC=ROOT/'终极目标导向创新升级方案.md'
|
||||
OUT=ROOT/'延安精神(大湾区)学习展示中心—终极目标导向创新升级方案.docx'
|
||||
AS=ROOT/'docx_assets'; AS.mkdir(exist_ok=True)
|
||||
RED='9E1B1B'; DARK='4A0F12'; GOLD='C59B53'; INK='252525'; MUTED='666666'; PALE='F7F2EC'; GRID='D8CCC0'
|
||||
|
||||
def shade(cell, fill):
|
||||
pr=cell._tc.get_or_add_tcPr(); x=pr.find(qn('w:shd'))
|
||||
if x is None: x=OxmlElement('w:shd'); pr.append(x)
|
||||
x.set(qn('w:fill'),fill)
|
||||
def margins(cell,t=90,b=90,s=120,e=120):
|
||||
pr=cell._tc.get_or_add_tcPr(); tc=pr.first_child_found_in('w:tcMar')
|
||||
if tc is None: tc=OxmlElement('w:tcMar'); pr.append(tc)
|
||||
for k,v in [('top',t),('bottom',b),('start',s),('end',e)]:
|
||||
n=tc.find(qn('w:'+k))
|
||||
if n is None: n=OxmlElement('w:'+k); tc.append(n)
|
||||
n.set(qn('w:w'),str(v)); n.set(qn('w:type'),'dxa')
|
||||
def set_repeat(row):
|
||||
trPr=row._tr.get_or_add_trPr(); e=OxmlElement('w:tblHeader'); e.set(qn('w:val'),'true'); trPr.append(e)
|
||||
def cant_split(row):
|
||||
trPr=row._tr.get_or_add_trPr(); trPr.append(OxmlElement('w:cantSplit'))
|
||||
def set_cell_width(cell,dxa):
|
||||
tcPr=cell._tc.get_or_add_tcPr(); tcW=tcPr.find(qn('w:tcW'))
|
||||
if tcW is None: tcW=OxmlElement('w:tcW'); tcPr.append(tcW)
|
||||
tcW.set(qn('w:w'),str(dxa)); tcW.set(qn('w:type'),'dxa')
|
||||
def font(run,name='Arial Unicode MS',size=None,bold=None,color=None):
|
||||
run.font.name=name
|
||||
rf=run._element.get_or_add_rPr().rFonts
|
||||
for key in ('ascii','hAnsi','eastAsia','cs'): rf.set(qn('w:'+key),name)
|
||||
if size: run.font.size=Pt(size)
|
||||
if bold is not None: run.bold=bold
|
||||
if color: run.font.color.rgb=RGBColor.from_string(color)
|
||||
def keep(p,next_=False):
|
||||
pr=p._p.get_or_add_pPr(); pr.append(OxmlElement('w:keepNext' if next_ else 'w:keepLines'))
|
||||
def add_runs(p,text,base_size=10.5,color=INK):
|
||||
parts=re.split(r'(\*\*.*?\*\*)',text)
|
||||
for x in parts:
|
||||
if not x: continue
|
||||
bold=x.startswith('**') and x.endswith('**'); val=x[2:-2] if bold else x
|
||||
r=p.add_run(val); font(r,size=base_size,bold=bold,color=(RED if bold else color))
|
||||
def border_bottom(p,color=GOLD,size='16'):
|
||||
pPr=p._p.get_or_add_pPr(); pbdr=OxmlElement('w:pBdr'); b=OxmlElement('w:bottom')
|
||||
for k,v in [('val','single'),('sz',size),('space','5'),('color',color)]: b.set(qn('w:'+k),v)
|
||||
pbdr.append(b); pPr.append(pbdr)
|
||||
|
||||
def diagram(lines,idx):
|
||||
items=[]
|
||||
raw='\n'.join(lines).strip()
|
||||
if ':' in raw and '→' in raw and '\n' in raw:
|
||||
for ln in lines:
|
||||
if ':' in ln: items.append((ln.split(':',1)[0], [x.strip() for x in ln.split(':',1)[1].split('→')]))
|
||||
else:
|
||||
toks=[x.strip() for x in re.split(r'→|↓|\n\s*\+\s*|\n',raw) if x.strip() and x.strip()!='+']
|
||||
items=[('',toks)]
|
||||
W=1400; pad=70; boxh=74; gap=30; titleh=38
|
||||
H=pad*2+sum((titleh if a else 0)+len(b)*(boxh+gap) for a,b in items)
|
||||
im=Image.new('RGB',(W,H),'white'); d=ImageDraw.Draw(im)
|
||||
candidates=['/System/Library/Fonts/PingFang.ttc','/System/Library/Fonts/STHeiti Light.ttc']
|
||||
fp=next((x for x in candidates if os.path.exists(x)),None)
|
||||
f=ImageFont.truetype(fp,28) if fp else ImageFont.load_default(); fs=ImageFont.truetype(fp,24) if fp else f
|
||||
y=pad
|
||||
for label,seq in items:
|
||||
if label: d.text((pad,y),label,fill='#9E1B1B',font=f); y+=titleh
|
||||
n=len(seq); bw=min(1120,max(400,1000)); x=(W-bw)//2
|
||||
for j,t in enumerate(seq):
|
||||
fill='#9E1B1B' if j==0 else ('#4A0F12' if j==n-1 else '#F7F2EC')
|
||||
tc='white' if j in (0,n-1) else '#252525'
|
||||
d.rounded_rectangle((x,y,x+bw,y+boxh),radius=16,fill=fill,outline='#C59B53',width=3)
|
||||
bb=d.textbbox((0,0),t,font=fs); d.text((W/2-(bb[2]-bb[0])/2,y+(boxh-(bb[3]-bb[1]))/2-3),t,fill=tc,font=fs)
|
||||
if j<n-1:
|
||||
cx=W//2; d.line((cx,y+boxh,cx,y+boxh+gap-7),fill='#C59B53',width=4)
|
||||
d.polygon([(cx-8,y+boxh+gap-14),(cx+8,y+boxh+gap-14),(cx,y+boxh+gap)],fill='#C59B53')
|
||||
y+=boxh+gap
|
||||
path=AS/f'diagram_{idx}.png'; im.save(path,dpi=(180,180)); return path
|
||||
|
||||
doc=Document(); sec=doc.sections[0]
|
||||
sec.page_width=Inches(8.27); sec.page_height=Inches(11.69)
|
||||
sec.top_margin=Inches(.78); sec.bottom_margin=Inches(.72); sec.left_margin=Inches(.85); sec.right_margin=Inches(.75)
|
||||
sec.header_distance=Inches(.35); sec.footer_distance=Inches(.35)
|
||||
styles=doc.styles
|
||||
normal=styles['Normal']; normal.font.name='Arial Unicode MS'; normal._element.rPr.rFonts.set(qn('w:eastAsia'),'Arial Unicode MS'); normal.font.size=Pt(10.5)
|
||||
normal.paragraph_format.space_after=Pt(6); normal.paragraph_format.line_spacing=1.35
|
||||
for nm,sz,col,bef,aft in [('Title',25,DARK,0,14),('Heading 1',17,RED,18,9),('Heading 2',13.5,DARK,13,6),('Heading 3',11.5,RED,9,4),('Heading 4',10.5,DARK,7,3)]:
|
||||
s=styles[nm]; s.font.name='Arial Unicode MS'; s._element.rPr.rFonts.set(qn('w:eastAsia'),'Arial Unicode MS'); s.font.size=Pt(sz); s.font.bold=True; s.font.color.rgb=RGBColor.from_string(col)
|
||||
s.paragraph_format.space_before=Pt(bef); s.paragraph_format.space_after=Pt(aft); s.paragraph_format.keep_with_next=True
|
||||
|
||||
# Cover
|
||||
p=doc.add_paragraph(); p.paragraph_format.space_before=Pt(72); p.alignment=WD_ALIGN_PARAGRAPH.CENTER
|
||||
r=p.add_run('延安精神(大湾区)\n学习展示中心'); font(r,size=29,bold=True,color=DARK)
|
||||
p=doc.add_paragraph(); p.alignment=WD_ALIGN_PARAGRAPH.CENTER; border_bottom(p,GOLD,'22')
|
||||
r=p.add_run('终极目标导向创新升级方案'); font(r,size=21,bold=True,color=RED)
|
||||
p.paragraph_format.space_before=Pt(22); p.paragraph_format.space_after=Pt(22)
|
||||
p=doc.add_paragraph(); p.alignment=WD_ALIGN_PARAGRAPH.CENTER
|
||||
r=p.add_run('从数字化展馆到可复制的精神传承操作系统'); font(r,size=12,color=MUTED)
|
||||
p=doc.add_paragraph(); p.paragraph_format.space_before=Pt(155); p.alignment=WD_ALIGN_PARAGRAPH.CENTER
|
||||
r=p.add_run('专业方案文本 · 2026年7月'); font(r,size=10.5,color=MUTED)
|
||||
doc.add_page_break()
|
||||
|
||||
# contents
|
||||
p=doc.add_paragraph('目录',style='Heading 1'); border_bottom(p)
|
||||
for n,t in [('一','先重新定义项目的终极目标'),('二','创新总体架构'),('三','八个旗舰创新产品'),('四','可信AI不是一个展项,而是全馆公共能力'),('五','六类人群的完整体验旅程'),('六','对现有八大子系统的创新升级'),('七','内容与技术的投资优先级'),('八','分阶段实施建议'),('九','建议首个重点原型'),('十','评价体系'),('十一','最终形成的项目壁垒')]:
|
||||
p=doc.add_paragraph(); p.paragraph_format.space_after=Pt(5); r=p.add_run(f'{n} {t}'); font(r,size=11,bold=True if n in ('一','三','八') else False,color=DARK)
|
||||
doc.add_page_break()
|
||||
|
||||
lines=SRC.read_text(encoding='utf-8').splitlines(); i=0; dnum=0; first_title=True
|
||||
while i<len(lines):
|
||||
ln=lines[i].rstrip()
|
||||
if first_title and ln.startswith('# '): first_title=False; i+=1; continue
|
||||
if ln.strip() in ('---',''): i+=1; continue
|
||||
if ln.startswith('```'):
|
||||
block=[]; i+=1
|
||||
while i<len(lines) and not lines[i].startswith('```'): block.append(lines[i]); i+=1
|
||||
dnum+=1; path=diagram(block,dnum); p=doc.add_paragraph(); p.alignment=WD_ALIGN_PARAGRAPH.CENTER; keep(p)
|
||||
p.add_run().add_picture(str(path),width=Inches(5.65)); i+=1; continue
|
||||
if ln.startswith('|'):
|
||||
rows=[]
|
||||
while i<len(lines) and lines[i].startswith('|'):
|
||||
cells=[x.strip() for x in lines[i].strip().strip('|').split('|')]
|
||||
if not all(re.fullmatch(r':?-+:?',x) for x in cells): rows.append(cells)
|
||||
i+=1
|
||||
cols=max(map(len,rows)); tbl=doc.add_table(rows=0,cols=cols); tbl.alignment=WD_TABLE_ALIGNMENT.LEFT; tbl.autofit=False
|
||||
# narrative columns get more width
|
||||
lens=[max(len(r[c]) if c<len(r) else 0 for r in rows) for c in range(cols)]; total=sum(max(6,x) for x in lens)
|
||||
widths=[int(9360*max(6,x)/total) for x in lens]; widths[-1]+=9360-sum(widths)
|
||||
for ri,row in enumerate(rows):
|
||||
cells=tbl.add_row().cells; cant_split(tbl.rows[-1])
|
||||
if ri==0: set_repeat(tbl.rows[-1])
|
||||
for c in range(cols):
|
||||
set_cell_width(cells[c],widths[c]); margins(cells[c]); cells[c].vertical_alignment=WD_CELL_VERTICAL_ALIGNMENT.CENTER
|
||||
if ri==0: shade(cells[c],RED)
|
||||
elif ri%2==0: shade(cells[c],PALE)
|
||||
p=cells[c].paragraphs[0]; p.paragraph_format.space_after=Pt(0); p.paragraph_format.line_spacing=1.15
|
||||
add_runs(p,row[c] if c<len(row) else '',9.2,'FFFFFF' if ri==0 else INK)
|
||||
if ri==0:
|
||||
for rr in p.runs: rr.bold=True
|
||||
doc.add_paragraph().paragraph_format.space_after=Pt(1); continue
|
||||
m=re.match(r'^(#{2,5})\s+(.*)',ln)
|
||||
if m:
|
||||
level=len(m.group(1))-1; text=m.group(2)
|
||||
if level==1 and doc.paragraphs[-1].text: doc.add_page_break()
|
||||
p=doc.add_paragraph(style=f'Heading {min(level,4)}'); add_runs(p,text,styles[f'Heading {min(level,4)}'].font.size.pt)
|
||||
if level==1: border_bottom(p)
|
||||
i+=1; continue
|
||||
if ln.startswith('>'):
|
||||
vals=[]
|
||||
while i<len(lines) and lines[i].startswith('>'): vals.append(lines[i].lstrip('> ').strip()); i+=1
|
||||
t=doc.add_table(rows=1,cols=1); t.alignment=WD_TABLE_ALIGNMENT.LEFT; t.autofit=False; set_cell_width(t.cell(0,0),9360); margins(t.cell(0,0),170,170,220,220); shade(t.cell(0,0),PALE)
|
||||
p=t.cell(0,0).paragraphs[0]; p.paragraph_format.space_after=Pt(0); p.paragraph_format.line_spacing=1.3; add_runs(p,' '.join(vals),11,DARK)
|
||||
for r in p.runs: r.bold=True
|
||||
continue
|
||||
lm=re.match(r'^\s*(-|\d+\.)\s+(.*)',ln)
|
||||
if lm:
|
||||
style='List Bullet' if lm.group(1)=='-' else 'List Number'; p=doc.add_paragraph(style=style); add_runs(p,lm.group(2)); p.paragraph_format.left_indent=Inches(.28); p.paragraph_format.first_line_indent=Inches(-.18); p.paragraph_format.space_after=Pt(3); i+=1; continue
|
||||
p=doc.add_paragraph(); p.alignment=WD_ALIGN_PARAGRAPH.JUSTIFY; add_runs(p,ln); keep(p); i+=1
|
||||
|
||||
# header/footer
|
||||
for s in doc.sections:
|
||||
hp=s.header.paragraphs[0]; hp.alignment=WD_ALIGN_PARAGRAPH.RIGHT; r=hp.add_run('延安精神(大湾区)学习展示中心 · 创新升级方案'); font(r,size=8.5,color=MUTED); border_bottom(hp,GRID,'6')
|
||||
fp=s.footer.paragraphs[0]; fp.alignment=WD_ALIGN_PARAGRAPH.CENTER
|
||||
r=fp.add_run('— '); font(r,size=8,color=MUTED)
|
||||
fld=OxmlElement('w:fldSimple'); fld.set(qn('w:instr'),'PAGE'); fp._p.append(fld)
|
||||
r=fp.add_run(' —'); font(r,size=8,color=MUTED)
|
||||
|
||||
# cover no header
|
||||
doc.sections[0].different_first_page_header_footer=True
|
||||
doc.core_properties.title='延安精神(大湾区)学习展示中心—终极目标导向创新升级方案'
|
||||
doc.core_properties.subject='专业创新升级方案'
|
||||
doc.save(OUT)
|
||||
print(OUT)
|
||||
@@ -0,0 +1,238 @@
|
||||
from pathlib import Path
|
||||
import re, os, subprocess, html
|
||||
from docx import Document
|
||||
from docx.shared import Inches, Pt, RGBColor
|
||||
from docx.enum.text import WD_ALIGN_PARAGRAPH
|
||||
from docx.enum.section import WD_SECTION_START
|
||||
from docx.enum.table import WD_TABLE_ALIGNMENT, WD_CELL_VERTICAL_ALIGNMENT
|
||||
from docx.oxml import OxmlElement
|
||||
from docx.oxml.ns import qn
|
||||
from PIL import Image, ImageDraw, ImageFont
|
||||
|
||||
ROOT=Path(__file__).parent
|
||||
SRC=ROOT/'用户交流技术实现方案.md'
|
||||
OUT=ROOT/'延安精神(大湾区)学习展示中心—技术实现方案.docx'
|
||||
AS=ROOT/'docx_assets'; AS.mkdir(exist_ok=True)
|
||||
RED='9E1B1B'; DARK='4A0F12'; GOLD='C59B53'; INK='252525'; MUTED='666666'; PALE='F7F2EC'; GRID='D8CCC0'
|
||||
|
||||
def shade(cell, fill):
|
||||
pr=cell._tc.get_or_add_tcPr(); x=pr.find(qn('w:shd'))
|
||||
if x is None: x=OxmlElement('w:shd'); pr.append(x)
|
||||
x.set(qn('w:fill'),fill)
|
||||
def margins(cell,t=90,b=90,s=120,e=120):
|
||||
pr=cell._tc.get_or_add_tcPr(); tc=pr.first_child_found_in('w:tcMar')
|
||||
if tc is None: tc=OxmlElement('w:tcMar'); pr.append(tc)
|
||||
for k,v in [('top',t),('bottom',b),('start',s),('end',e)]:
|
||||
n=tc.find(qn('w:'+k))
|
||||
if n is None: n=OxmlElement('w:'+k); tc.append(n)
|
||||
n.set(qn('w:w'),str(v)); n.set(qn('w:type'),'dxa')
|
||||
def set_repeat(row):
|
||||
trPr=row._tr.get_or_add_trPr(); e=OxmlElement('w:tblHeader'); e.set(qn('w:val'),'true'); trPr.append(e)
|
||||
def cant_split(row):
|
||||
trPr=row._tr.get_or_add_trPr(); trPr.append(OxmlElement('w:cantSplit'))
|
||||
def set_cell_width(cell,dxa):
|
||||
tcPr=cell._tc.get_or_add_tcPr(); tcW=tcPr.find(qn('w:tcW'))
|
||||
if tcW is None: tcW=OxmlElement('w:tcW'); tcPr.append(tcW)
|
||||
tcW.set(qn('w:w'),str(dxa)); tcW.set(qn('w:type'),'dxa')
|
||||
def font(run,name='Arial Unicode MS',size=None,bold=None,color=None):
|
||||
run.font.name=name
|
||||
rf=run._element.get_or_add_rPr().rFonts
|
||||
for key in ('ascii','hAnsi','eastAsia','cs'): rf.set(qn('w:'+key),name)
|
||||
if size: run.font.size=Pt(size)
|
||||
if bold is not None: run.bold=bold
|
||||
if color: run.font.color.rgb=RGBColor.from_string(color)
|
||||
def keep(p,next_=False):
|
||||
pr=p._p.get_or_add_pPr(); pr.append(OxmlElement('w:keepNext' if next_ else 'w:keepLines'))
|
||||
def add_runs(p,text,base_size=10.5,color=INK):
|
||||
parts=re.split(r'(\*\*.*?\*\*)',text)
|
||||
for x in parts:
|
||||
if not x: continue
|
||||
bold=x.startswith('**') and x.endswith('**'); val=x[2:-2] if bold else x
|
||||
r=p.add_run(val); font(r,size=base_size,bold=bold,color=(RED if bold else color))
|
||||
def border_bottom(p,color=GOLD,size='16'):
|
||||
pPr=p._p.get_or_add_pPr(); pbdr=OxmlElement('w:pBdr'); b=OxmlElement('w:bottom')
|
||||
for k,v in [('val','single'),('sz',size),('space','5'),('color',color)]: b.set(qn('w:'+k),v)
|
||||
pbdr.append(b); pPr.append(pbdr)
|
||||
|
||||
def diagram(lines,idx):
|
||||
items=[]
|
||||
raw='\n'.join(lines).strip()
|
||||
if any(ch in raw for ch in '┌┐└┘├┤│─'):
|
||||
clean=[x.rstrip() for x in lines]
|
||||
maxw=max((len(x) for x in clean),default=40)
|
||||
W=min(1900,max(1100,maxw*21+140)); H=max(300,len(clean)*34+120)
|
||||
title=next((re.sub(r'[┌┐─│├┤└┘]','',x).strip() for x in clean if re.sub(r'[┌┐─│├┤└┘]','',x).strip()),'系统架构图')
|
||||
texts=[]
|
||||
for n,line in enumerate(clean):
|
||||
texts.append(f'<text x="70" y="{105+n*31}" class="mono">{html.escape(line)}</text>')
|
||||
svg=f'''<svg xmlns="http://www.w3.org/2000/svg" width="{W}" height="{H}" viewBox="0 0 {W} {H}">
|
||||
<rect width="100%" height="100%" rx="24" fill="#FBF9F6"/>
|
||||
<rect x="0" y="0" width="100%" height="64" rx="24" fill="#8F181B"/>
|
||||
<rect x="0" y="40" width="100%" height="24" fill="#8F181B"/>
|
||||
<text x="42" y="42" class="title">{html.escape(title[:36])}</text>
|
||||
<line x1="42" y1="78" x2="{W-42}" y2="78" stroke="#C59B53" stroke-width="3"/>
|
||||
<style>.title{{font-family:'PingFang SC','Microsoft YaHei',sans-serif;font-size:25px;font-weight:700;fill:white}} .mono{{font-family:'Arial Unicode MS','PingFang SC',monospace;font-size:20px;fill:#2B2B2B;white-space:pre}}</style>
|
||||
{''.join(texts)}</svg>'''
|
||||
sp=AS/f'diagram_{idx}.svg'; pp=AS/f'diagram_{idx}.png'; path=AS/f'diagram_{idx}.jpg'
|
||||
sp.write_text(svg,encoding='utf-8')
|
||||
subprocess.run(['rsvg-convert','-w',str(W*2),'-h',str(H*2),'-o',str(pp),str(sp)],check=True)
|
||||
subprocess.run(['convert',str(pp),'-quality','94',str(path)],check=True)
|
||||
return path
|
||||
if ':' in raw and '→' in raw and '\n' in raw:
|
||||
for ln in lines:
|
||||
if ':' in ln: items.append((ln.split(':',1)[0], [x.strip() for x in ln.split(':',1)[1].split('→')]))
|
||||
else:
|
||||
toks=[x.strip() for x in re.split(r'→|↓|\n\s*\+\s*|\n',raw) if x.strip() and x.strip()!='+']
|
||||
items=[('',toks)]
|
||||
W=1400; pad=70; boxh=74; gap=30; titleh=38
|
||||
H=pad*2+sum((titleh if a else 0)+len(b)*(boxh+gap) for a,b in items)
|
||||
y=pad; nodes=[]; arrows=[]
|
||||
for label,seq in items:
|
||||
if label: nodes.append(f'<text x="{pad}" y="{y+28}" class="label">{html.escape(label)}</text>'); y+=titleh
|
||||
n=len(seq); bw=min(1120,max(400,1000)); x=(W-bw)//2
|
||||
for j,t in enumerate(seq):
|
||||
fill='#9E1B1B' if j==0 else ('#4A0F12' if j==n-1 else '#F7F2EC')
|
||||
tc='white' if j in (0,n-1) else '#252525'
|
||||
nodes.append(f'<rect x="{x}" y="{y}" width="{bw}" height="{boxh}" rx="16" fill="{fill}" stroke="#C59B53" stroke-width="3"/><text x="{W/2}" y="{y+46}" text-anchor="middle" class="node" fill="{tc}">{html.escape(t)}</text>')
|
||||
if j<n-1:
|
||||
cx=W//2; arrows.append(f'<line x1="{cx}" y1="{y+boxh}" x2="{cx}" y2="{y+boxh+gap-5}" stroke="#C59B53" stroke-width="4" marker-end="url(#a)"/>')
|
||||
y+=boxh+gap
|
||||
svg=f'''<svg xmlns="http://www.w3.org/2000/svg" width="{W}" height="{H}" viewBox="0 0 {W} {H}"><defs><marker id="a" markerWidth="8" markerHeight="8" refX="4" refY="4" orient="auto"><path d="M0,0 L8,4 L0,8 Z" fill="#C59B53"/></marker></defs><rect width="100%" height="100%" rx="24" fill="#FBF9F6"/><style>.label{{font-family:'PingFang SC',sans-serif;font-size:28px;font-weight:700;fill:#9E1B1B}} .node{{font-family:'PingFang SC',sans-serif;font-size:24px;font-weight:600}}</style>{''.join(arrows)}{''.join(nodes)}</svg>'''
|
||||
sp=AS/f'diagram_{idx}.svg'; pp=AS/f'diagram_{idx}.png'; path=AS/f'diagram_{idx}.jpg'; sp.write_text(svg,encoding='utf-8')
|
||||
subprocess.run(['rsvg-convert','-w',str(W*2),'-h',str(H*2),'-o',str(pp),str(sp)],check=True)
|
||||
subprocess.run(['convert',str(pp),'-quality','94',str(path)],check=True)
|
||||
return path
|
||||
|
||||
def diagram2(lines,idx):
|
||||
raw='\n'.join(lines).strip()
|
||||
def clean(s):
|
||||
s=re.sub(r'[┌┐└┘├┤┬┴┼│─╭╮╰╯]', ' ', s)
|
||||
return re.sub(r'\s+', ' ', s).strip(' -+→↓')
|
||||
rows=[]
|
||||
for ln in lines:
|
||||
if not ln.strip(): continue
|
||||
s=clean(ln)
|
||||
if not s: continue
|
||||
parts=[clean(x) for x in re.split(r'\s{2,}|\s*\|\s*|\s*→\s*|\s*↓\s*',s) if clean(x)]
|
||||
if parts: rows.append(parts)
|
||||
if not rows: rows=[['技术架构']]
|
||||
is_flow=('→' in raw or '↓' in raw) and len(rows)>=3
|
||||
if not is_flow and len(rows)>6:
|
||||
merged=[]; k=0
|
||||
while k<len(rows):
|
||||
if k+1<len(rows) and len(rows[k])==1 and len(rows[k+1])>=1 and len(rows[k][0])<=18:
|
||||
merged.append([rows[k][0]+'|'+'|'.join(rows[k+1])]); k+=2
|
||||
else:
|
||||
merged.append(rows[k]); k+=1
|
||||
rows=merged
|
||||
if is_flow: rows=[[x] for row in rows for x in row if x not in ('+','-')]
|
||||
title=next((x for row in rows for x in row if len(x)>2), '技术架构')
|
||||
W=1500; margin=70; card_h=86; gap=28; maxcols=max(len(r) for r in rows)
|
||||
col_w=(W-2*margin-(maxcols-1)*24)//maxcols; H=112+len(rows)*(card_h+gap)
|
||||
def wrap(t,n=18): return [t[i:i+n] for i in range(0,len(t),n)] or ['']
|
||||
out=[f'<svg xmlns="http://www.w3.org/2000/svg" width="{W}" height="{H}" viewBox="0 0 {W} {H}">', '<defs><marker id="arrow" markerWidth="10" markerHeight="10" refX="5" refY="5" orient="auto"><path d="M0,0 L10,5 L0,10 Z" fill="#B78B3D"/></marker></defs>', '<rect width="100%" height="100%" rx="28" fill="#FBF8F3"/><rect width="100%" height="64" rx="28" fill="#891A1C"/><rect y="38" width="100%" height="26" fill="#891A1C"/>', f'<text x="44" y="42" class="title">{html.escape(title[:32])}</text>', '<style>.title{font-family:"PingFang SC",sans-serif;font-size:26px;font-weight:700;fill:#fff}.txt{font-family:"PingFang SC",sans-serif;font-size:19px;font-weight:600;fill:#2B2520}</style>']
|
||||
y=94
|
||||
for ri,row in enumerate(rows):
|
||||
if ri>0: out.append(f'<line x1="{W/2}" y1="{y-18}" x2="{W/2}" y2="{y-4}" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/>')
|
||||
for ci,t in enumerate(row):
|
||||
x=margin+ci*(col_w+24); fill='#F2E6D4' if ri%2==0 else '#FFFFFF'
|
||||
out.append(f'<rect x="{x}" y="{y}" width="{col_w}" height="{card_h}" rx="14" fill="{fill}" stroke="#B78B3D" stroke-width="2"/>')
|
||||
for k,tx in enumerate(wrap(t,max(12,int(col_w/19)))[:3]): out.append(f'<text x="{x+col_w/2}" y="{y+32+k*22}" text-anchor="middle" class="txt">{html.escape(tx)}</text>')
|
||||
y+=card_h+gap
|
||||
out.append('</svg>'); sp=AS/f'diagram_{idx}.svg'; pp=AS/f'diagram_{idx}.png'; path=AS/f'diagram_{idx}.jpg'; sp.write_text(''.join(out),encoding='utf-8')
|
||||
subprocess.run(['rsvg-convert','-w',str(W*2),'-h',str(H*2),'-o',str(pp),str(sp)],check=True); subprocess.run(['convert',str(pp),'-quality','94',str(path)],check=True); return path
|
||||
|
||||
doc=Document(); sec=doc.sections[0]
|
||||
sec.page_width=Inches(8.27); sec.page_height=Inches(11.69)
|
||||
sec.top_margin=Inches(.78); sec.bottom_margin=Inches(.72); sec.left_margin=Inches(.85); sec.right_margin=Inches(.75)
|
||||
sec.header_distance=Inches(.35); sec.footer_distance=Inches(.35)
|
||||
styles=doc.styles
|
||||
normal=styles['Normal']; normal.font.name='Arial Unicode MS'; normal._element.rPr.rFonts.set(qn('w:eastAsia'),'Arial Unicode MS'); normal.font.size=Pt(10.5)
|
||||
normal.paragraph_format.space_after=Pt(6); normal.paragraph_format.line_spacing=1.35
|
||||
for nm,sz,col,bef,aft in [('Title',25,DARK,0,14),('Heading 1',17,RED,18,9),('Heading 2',13.5,DARK,13,6),('Heading 3',11.5,RED,9,4),('Heading 4',10.5,DARK,7,3)]:
|
||||
s=styles[nm]; s.font.name='Arial Unicode MS'; s._element.rPr.rFonts.set(qn('w:eastAsia'),'Arial Unicode MS'); s.font.size=Pt(sz); s.font.bold=True; s.font.color.rgb=RGBColor.from_string(col)
|
||||
s.paragraph_format.space_before=Pt(bef); s.paragraph_format.space_after=Pt(aft); s.paragraph_format.keep_with_next=True
|
||||
|
||||
# Cover
|
||||
p=doc.add_paragraph(); p.paragraph_format.space_before=Pt(72); p.alignment=WD_ALIGN_PARAGRAPH.CENTER
|
||||
r=p.add_run('延安精神(大湾区)\n学习展示中心'); font(r,size=29,bold=True,color=DARK)
|
||||
p=doc.add_paragraph(); p.alignment=WD_ALIGN_PARAGRAPH.CENTER; border_bottom(p,GOLD,'22')
|
||||
r=p.add_run('技术实现方案'); font(r,size=23,bold=True,color=RED)
|
||||
p.paragraph_format.space_before=Pt(22); p.paragraph_format.space_after=Pt(22)
|
||||
p=doc.add_paragraph(); p.alignment=WD_ALIGN_PARAGRAPH.CENTER
|
||||
r=p.add_run('业务旅程 · AI能力 · 平台架构 · VR/XR · 安全与实施'); font(r,size=12,color=MUTED)
|
||||
p=doc.add_paragraph(); p.paragraph_format.space_before=Pt(155); p.alignment=WD_ALIGN_PARAGRAPH.CENTER
|
||||
r=p.add_run('专业方案文本 · 2026年7月'); font(r,size=10.5,color=MUTED)
|
||||
doc.add_page_break()
|
||||
|
||||
# contents
|
||||
p=doc.add_paragraph('目录',style='Heading 1'); border_bottom(p)
|
||||
for n,t in [('一','系统总体架构'),('二','AI可信知识引擎'),('三','三引擎技术架构'),('四','八个旗舰产品技术架构与场景'),('五','VR/XR沉浸体验技术架构'),('六','公共平台技术架构'),('七','安全与隐私保护'),('八','最小可行原型'),('九','技术风险与应对'),('十','技术团队与外部协作'),('十一','总结')]:
|
||||
p=doc.add_paragraph(); p.paragraph_format.space_after=Pt(5); r=p.add_run(f'{n} {t}'); font(r,size=11,bold=True if n in ('一','三','八') else False,color=DARK)
|
||||
doc.add_page_break()
|
||||
|
||||
lines=SRC.read_text(encoding='utf-8').splitlines(); i=0; dnum=0; first_title=True
|
||||
while i<len(lines):
|
||||
ln=lines[i].rstrip()
|
||||
if first_title and ln.startswith('# '): first_title=False; i+=1; continue
|
||||
if ln.strip() in ('---',''): i+=1; continue
|
||||
if ln.startswith('```'):
|
||||
block=[]; i+=1
|
||||
while i<len(lines) and not lines[i].startswith('```'): block.append(lines[i]); i+=1
|
||||
dnum+=1; path=diagram2(block,dnum); p=doc.add_paragraph(); p.alignment=WD_ALIGN_PARAGRAPH.CENTER; keep(p)
|
||||
p.add_run().add_picture(str(path),width=Inches(5.65)); i+=1; continue
|
||||
if ln.startswith('|'):
|
||||
rows=[]
|
||||
while i<len(lines) and lines[i].startswith('|'):
|
||||
cells=[x.strip() for x in lines[i].strip().strip('|').split('|')]
|
||||
if not all(re.fullmatch(r':?-+:?',x) for x in cells): rows.append(cells)
|
||||
i+=1
|
||||
cols=max(map(len,rows)); tbl=doc.add_table(rows=0,cols=cols); tbl.alignment=WD_TABLE_ALIGNMENT.LEFT; tbl.autofit=False
|
||||
# narrative columns get more width
|
||||
lens=[max(len(r[c]) if c<len(r) else 0 for r in rows) for c in range(cols)]; total=sum(max(6,x) for x in lens)
|
||||
widths=[int(9360*max(6,x)/total) for x in lens]; widths[-1]+=9360-sum(widths)
|
||||
for ri,row in enumerate(rows):
|
||||
cells=tbl.add_row().cells; cant_split(tbl.rows[-1])
|
||||
if ri==0: set_repeat(tbl.rows[-1])
|
||||
for c in range(cols):
|
||||
set_cell_width(cells[c],widths[c]); margins(cells[c]); cells[c].vertical_alignment=WD_CELL_VERTICAL_ALIGNMENT.CENTER
|
||||
if ri==0: shade(cells[c],RED)
|
||||
elif ri%2==0: shade(cells[c],PALE)
|
||||
p=cells[c].paragraphs[0]; p.paragraph_format.space_after=Pt(0); p.paragraph_format.line_spacing=1.15
|
||||
add_runs(p,row[c] if c<len(row) else '',9.2,'FFFFFF' if ri==0 else INK)
|
||||
if ri==0:
|
||||
for rr in p.runs: rr.bold=True
|
||||
doc.add_paragraph().paragraph_format.space_after=Pt(1); continue
|
||||
m=re.match(r'^(#{2,5})\s+(.*)',ln)
|
||||
if m:
|
||||
level=len(m.group(1))-1; text=m.group(2)
|
||||
if level==1 and doc.paragraphs[-1].text: doc.add_page_break()
|
||||
p=doc.add_paragraph(style=f'Heading {min(level,4)}'); add_runs(p,text,styles[f'Heading {min(level,4)}'].font.size.pt)
|
||||
if level==1: border_bottom(p)
|
||||
i+=1; continue
|
||||
if ln.startswith('>'):
|
||||
vals=[]
|
||||
while i<len(lines) and lines[i].startswith('>'): vals.append(lines[i].lstrip('> ').strip()); i+=1
|
||||
t=doc.add_table(rows=1,cols=1); t.alignment=WD_TABLE_ALIGNMENT.LEFT; t.autofit=False; set_cell_width(t.cell(0,0),9360); margins(t.cell(0,0),170,170,220,220); shade(t.cell(0,0),PALE)
|
||||
p=t.cell(0,0).paragraphs[0]; p.paragraph_format.space_after=Pt(0); p.paragraph_format.line_spacing=1.3; add_runs(p,' '.join(vals),11,DARK)
|
||||
for r in p.runs: r.bold=True
|
||||
continue
|
||||
lm=re.match(r'^\s*(-|\d+\.)\s+(.*)',ln)
|
||||
if lm:
|
||||
style='List Bullet' if lm.group(1)=='-' else 'List Number'; p=doc.add_paragraph(style=style); add_runs(p,lm.group(2)); p.paragraph_format.left_indent=Inches(.28); p.paragraph_format.first_line_indent=Inches(-.18); p.paragraph_format.space_after=Pt(3); i+=1; continue
|
||||
p=doc.add_paragraph(); p.alignment=WD_ALIGN_PARAGRAPH.JUSTIFY; add_runs(p,ln); keep(p); i+=1
|
||||
|
||||
# header/footer
|
||||
for s in doc.sections:
|
||||
hp=s.header.paragraphs[0]; hp.alignment=WD_ALIGN_PARAGRAPH.RIGHT; r=hp.add_run('延安精神(大湾区)学习展示中心 · 创新升级方案'); font(r,size=8.5,color=MUTED); border_bottom(hp,GRID,'6')
|
||||
fp=s.footer.paragraphs[0]; fp.alignment=WD_ALIGN_PARAGRAPH.CENTER
|
||||
r=fp.add_run('— '); font(r,size=8,color=MUTED)
|
||||
fld=OxmlElement('w:fldSimple'); fld.set(qn('w:instr'),'PAGE'); fp._p.append(fld)
|
||||
r=fp.add_run(' —'); font(r,size=8,color=MUTED)
|
||||
|
||||
# cover no header
|
||||
doc.sections[0].different_first_page_header_footer=True
|
||||
doc.core_properties.title='延安精神(大湾区)学习展示中心—技术实现方案'
|
||||
doc.core_properties.subject='专业技术实现方案'
|
||||
doc.save(OUT)
|
||||
print(OUT)
|
||||
|
After Width: | Height: | Size: 567 KiB |
|
After Width: | Height: | Size: 333 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1500" height="1024" viewBox="0 0 1500 1024"><defs><marker id="arrow" markerWidth="10" markerHeight="10" refX="5" refY="5" orient="auto"><path d="M0,0 L10,5 L0,10 Z" fill="#B78B3D"/></marker></defs><rect width="100%" height="100%" rx="28" fill="#FBF8F3"/><rect width="100%" height="64" rx="28" fill="#891A1C"/><rect y="38" width="100%" height="26" fill="#891A1C"/><text x="44" y="42" class="title">用户触达层|线下终端(触屏/VR/环幕/UWB/RFID) 线上</text><style>.title{font-family:"PingFang SC",sans-serif;font-size:26px;font-weight:700;fill:#fff}.txt{font-family:"PingFang SC",sans-serif;font-size:19px;font-weight:600;fill:#2B2520}</style><rect x="70" y="94" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="126" text-anchor="middle" class="txt">用户触达层|线下终端(触屏/VR/环幕/UWB/RFID) 线上(Web/小程序/H5) 节点终端</text><line x1="750.0" y1="190" x2="750.0" y2="204" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="208" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="240" text-anchor="middle" class="txt">应用服务层|F1自适应叙事 F2情境任务 F3文物数字生命 F4成长护照</text><line x1="750.0" y1="304" x2="750.0" y2="318" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="322" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="354" text-anchor="middle" class="txt">F5云上共同体 F6青年共创 F7行动实验室 F8星火节点OS</text><line x1="750.0" y1="418" x2="750.0" y2="432" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="436" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="468" text-anchor="middle" class="txt">公共平台层|X1体验编排引擎 X2成长护照档案 X3内容治理中心 S9节点协同</text><line x1="750.0" y1="532" x2="750.0" y2="546" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="550" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="582" text-anchor="middle" class="txt">AI能力层|可信叙事引擎 学习成长引擎 编审助手引擎 策展助手引擎</text><line x1="750.0" y1="646" x2="750.0" y2="660" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="664" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="696" text-anchor="middle" class="txt">数据资产层|知识图谱 向量检索库 内容资源仓 业务数据库</text><line x1="750.0" y1="760" x2="750.0" y2="774" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="778" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="810" text-anchor="middle" class="txt">时序分析库 实时缓存 消息总线|基础设施层</text><line x1="750.0" y1="874" x2="750.0" y2="888" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="892" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="924" text-anchor="middle" class="txt">私有云容器编排 GPU推理集群 5G专网 IoT网关 CDN 安防网络</text></svg>
|
||||
|
After Width: | Height: | Size: 3.4 KiB |
|
After Width: | Height: | Size: 452 KiB |
|
After Width: | Height: | Size: 236 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1500" height="910" viewBox="0 0 1500 910"><defs><marker id="arrow" markerWidth="10" markerHeight="10" refX="5" refY="5" orient="auto"><path d="M0,0 L10,5 L0,10 Z" fill="#B78B3D"/></marker></defs><rect width="100%" height="100%" rx="28" fill="#FBF8F3"/><rect width="100%" height="64" rx="28" fill="#891A1C"/><rect y="38" width="100%" height="26" fill="#891A1C"/><text x="44" y="42" class="title">F2 情境任务剧场系统|任务引擎 团队协作终端 AI复盘引擎</text><style>.title{font-family:"PingFang SC",sans-serif;font-size:26px;font-weight:700;fill:#fff}.txt{font-family:"PingFang SC",sans-serif;font-size:19px;font-weight:600;fill:#2B2520}</style><rect x="70" y="94" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="126" text-anchor="middle" class="txt">F2 情境任务剧场系统|任务引擎 团队协作终端 AI复盘引擎</text><line x1="750.0" y1="190" x2="750.0" y2="204" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="208" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="240" text-anchor="middle" class="txt">(剧本+状态机) (多屏互动) (学习教练API)</text><line x1="750.0" y1="304" x2="750.0" y2="318" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="322" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="354" text-anchor="middle" class="txt">任务定义: 协作方式: 复盘内容:|历史问题 - 主屏: 情境展示 - 团队方案 vs 历史</text><line x1="750.0" y1="418" x2="750.0" y2="432" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="436" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="468" text-anchor="middle" class="txt">角色分配 - 分屏: 证据查看 - AI追问(史料引用)</text><line x1="750.0" y1="532" x2="750.0" y2="546" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="550" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="582" text-anchor="middle" class="txt">资源约束 - 个人终端: 决策 - 证据使用分析</text><line x1="750.0" y1="646" x2="750.0" y2="660" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="664" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="696" text-anchor="middle" class="txt">证据集 - 团队屏: 方案汇总 - 现实连接问题</text><line x1="750.0" y1="760" x2="750.0" y2="774" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="778" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="810" text-anchor="middle" class="txt">历史事实|评价维度</text></svg>
|
||||
|
After Width: | Height: | Size: 2.9 KiB |
|
After Width: | Height: | Size: 556 KiB |
|
After Width: | Height: | Size: 268 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1500" height="1366" viewBox="0 0 1500 1366"><defs><marker id="arrow" markerWidth="10" markerHeight="10" refX="5" refY="5" orient="auto"><path d="M0,0 L10,5 L0,10 Z" fill="#B78B3D"/></marker></defs><rect width="100%" height="100%" rx="28" fill="#FBF8F3"/><rect width="100%" height="64" rx="28" fill="#891A1C"/><rect y="38" width="100%" height="26" fill="#891A1C"/><text x="44" y="42" class="title">F3 文物数字生命系统</text><style>.title{font-family:"PingFang SC",sans-serif;font-size:26px;font-weight:700;fill:#fff}.txt{font-family:"PingFang SC",sans-serif;font-size:19px;font-weight:600;fill:#2B2520}</style><rect x="70" y="94" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="126" text-anchor="middle" class="txt">F3 文物数字生命系统</text><line x1="750.0" y1="190" x2="750.0" y2="204" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="208" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="240" text-anchor="middle" class="txt">数字采集管理 五层内容管理 关系星图引擎</text><line x1="750.0" y1="304" x2="750.0" y2="318" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="322" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="354" text-anchor="middle" class="txt">3D扫描: 五层结构: 可视化:</text><line x1="750.0" y1="418" x2="750.0" y2="432" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="436" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="468" text-anchor="middle" class="txt">激光扫描任务 L1看见: 图像/3D - 力导向图渲染</text><line x1="750.0" y1="532" x2="750.0" y2="546" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="550" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="582" text-anchor="middle" class="txt">摄影测量任务 L2知道: 元数据 - 交互式星图</text><line x1="750.0" y1="646" x2="750.0" y2="660" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="664" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="696" text-anchor="middle" class="txt">质量检测 L3理解: 关联网络 - 时间轴</text><line x1="750.0" y1="760" x2="750.0" y2="774" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="778" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="810" text-anchor="middle" class="txt">元数据录入 L4研究: 档案 - 点击节点展开</text><line x1="750.0" y1="874" x2="750.0" y2="888" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="892" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="924" text-anchor="middle" class="txt">L5连接: 课程/任务</text><line x1="750.0" y1="988" x2="750.0" y2="1002" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="1006" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="1038" text-anchor="middle" class="txt">数字修复工作台 展示终端 组件生成器</text><line x1="750.0" y1="1102" x2="750.0" y2="1116" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="1120" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="1152" text-anchor="middle" class="txt">(3D建模工具) (扫码</text><line x1="750.0" y1="1216" x2="750.0" y2="1230" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="1234" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="1266" text-anchor="middle" class="txt">星图) (一物一课/短片)</text></svg>
|
||||
|
After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 546 KiB |
|
After Width: | Height: | Size: 197 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1500" height="1594" viewBox="0 0 1500 1594"><defs><marker id="arrow" markerWidth="10" markerHeight="10" refX="5" refY="5" orient="auto"><path d="M0,0 L10,5 L0,10 Z" fill="#B78B3D"/></marker></defs><rect width="100%" height="100%" rx="28" fill="#FBF8F3"/><rect width="100%" height="64" rx="28" fill="#891A1C"/><rect y="38" width="100%" height="26" fill="#891A1C"/><text x="44" y="42" class="title">展柜前扫描二维码</text><style>.title{font-family:"PingFang SC",sans-serif;font-size:26px;font-weight:700;fill:#fff}.txt{font-family:"PingFang SC",sans-serif;font-size:19px;font-weight:600;fill:#2B2520}</style><rect x="70" y="94" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="126" text-anchor="middle" class="txt">展柜前扫描二维码</text><line x1="750.0" y1="190" x2="750.0" y2="204" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="208" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="240" text-anchor="middle" class="txt">手机加载文物星图H5</text><line x1="750.0" y1="304" x2="750.0" y2="318" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="322" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="354" text-anchor="middle" class="txt">默认显示L1:3D模型 + 基本信息</text><line x1="750.0" y1="418" x2="750.0" y2="432" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="436" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="468" text-anchor="middle" class="txt">上滑</text><line x1="750.0" y1="532" x2="750.0" y2="546" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="550" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="582" text-anchor="middle" class="txt">L2:元数据卡片</text><line x1="750.0" y1="646" x2="750.0" y2="660" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="664" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="696" text-anchor="middle" class="txt">点击星图节点</text><line x1="750.0" y1="760" x2="750.0" y2="774" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="778" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="810" text-anchor="middle" class="txt">L3:关联网络可视化</text><line x1="750.0" y1="874" x2="750.0" y2="888" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="892" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="924" text-anchor="middle" class="txt">点击"深度研究"</text><line x1="750.0" y1="988" x2="750.0" y2="1002" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="1006" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="1038" text-anchor="middle" class="txt">L4:档案文献</text><line x1="750.0" y1="1102" x2="750.0" y2="1116" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="1120" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="1152" text-anchor="middle" class="txt">点击"相关课程"</text><line x1="750.0" y1="1216" x2="750.0" y2="1230" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="1234" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="1266" text-anchor="middle" class="txt">L5:课程推荐</text><line x1="750.0" y1="1330" x2="750.0" y2="1344" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="1348" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="1380" text-anchor="middle" class="txt">点击"做一做"</text><line x1="750.0" y1="1444" x2="750.0" y2="1458" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="1462" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="1494" text-anchor="middle" class="txt">跳转到F7行动选择</text></svg>
|
||||
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 564 KiB |
|
After Width: | Height: | Size: 279 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1500" height="1366" viewBox="0 0 1500 1366"><defs><marker id="arrow" markerWidth="10" markerHeight="10" refX="5" refY="5" orient="auto"><path d="M0,0 L10,5 L0,10 Z" fill="#B78B3D"/></marker></defs><rect width="100%" height="100%" rx="28" fill="#FBF8F3"/><rect width="100%" height="64" rx="28" fill="#891A1C"/><rect y="38" width="100%" height="26" fill="#891A1C"/><text x="44" y="42" class="title">F4 成长护照系统</text><style>.title{font-family:"PingFang SC",sans-serif;font-size:26px;font-weight:700;fill:#fff}.txt{font-family:"PingFang SC",sans-serif;font-size:19px;font-weight:600;fill:#2B2520}</style><rect x="70" y="94" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="126" text-anchor="middle" class="txt">F4 成长护照系统</text><line x1="750.0" y1="190" x2="750.0" y2="204" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="208" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="240" text-anchor="middle" class="txt">参观前导学 参观中记录 离馆后回访</text><line x1="750.0" y1="304" x2="750.0" y2="318" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="322" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="354" text-anchor="middle" class="txt">(小程序/H5) (终端+UWB+RFID) (定时推送+反馈)</text><line x1="750.0" y1="418" x2="750.0" y2="432" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="436" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="468" text-anchor="middle" class="txt">人群选择 - 文物查看记录 - 第7天推送回顾</text><line x1="750.0" y1="532" x2="750.0" y2="546" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="550" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="582" text-anchor="middle" class="txt">问题选择 - 任务完成记录 - 第30天进展反馈</text><line x1="750.0" y1="646" x2="750.0" y2="660" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="664" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="696" text-anchor="middle" class="txt">团队目标创建 - AI问答记录 - 第90天成果提交</text><line x1="750.0" y1="760" x2="750.0" y2="774" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="778" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="810" text-anchor="middle" class="txt">参观建议生成 - 理解表达记录 - 后续课程推荐</text><line x1="750.0" y1="874" x2="750.0" y2="888" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="892" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="924" text-anchor="middle" class="txt">导学材料推送 - 行动选择记录 - 临展/活动提醒</text><line x1="750.0" y1="988" x2="750.0" y2="1002" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="1006" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="1038" text-anchor="middle" class="txt">X2 统一成长档案</text><line x1="750.0" y1="1102" x2="750.0" y2="1116" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="1120" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="1152" text-anchor="middle" class="txt">跨系统数据同步</text><line x1="750.0" y1="1216" x2="750.0" y2="1230" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="1234" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="1266" text-anchor="middle" class="txt">GraphQL统一查询</text></svg>
|
||||
|
After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 433 KiB |
|
After Width: | Height: | Size: 243 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1500" height="796" viewBox="0 0 1500 796"><defs><marker id="arrow" markerWidth="10" markerHeight="10" refX="5" refY="5" orient="auto"><path d="M0,0 L10,5 L0,10 Z" fill="#B78B3D"/></marker></defs><rect width="100%" height="100%" rx="28" fill="#FBF8F3"/><rect width="100%" height="64" rx="28" fill="#891A1C"/><rect y="38" width="100%" height="26" fill="#891A1C"/><text x="44" y="42" class="title">F5 云上学习共同体|Web3D云展馆 云端课程平台 协作任务平</text><style>.title{font-family:"PingFang SC",sans-serif;font-size:26px;font-weight:700;fill:#fff}.txt{font-family:"PingFang SC",sans-serif;font-size:19px;font-weight:600;fill:#2B2520}</style><rect x="70" y="94" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="126" text-anchor="middle" class="txt">F5 云上学习共同体|Web3D云展馆 云端课程平台 协作任务平台</text><line x1="750.0" y1="190" x2="750.0" y2="204" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="208" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="240" text-anchor="middle" class="txt">3D渲染引擎 视频点播/直播 实时音视频协作</text><line x1="750.0" y1="304" x2="750.0" y2="318" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="322" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="354" text-anchor="middle" class="txt">虚拟漫游 课程管理 多人同堂任务|AI导览 学时记录 粤港澳三地同步</text><line x1="750.0" y1="418" x2="750.0" y2="432" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="436" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="468" text-anchor="middle" class="txt">文物3D展示 证书发放 在线研讨室|8分钟精华模式 一节课模式 协作任务模式</text><line x1="750.0" y1="532" x2="750.0" y2="546" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="550" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="582" text-anchor="middle" class="txt">(轻量H5) (视频+互动) (实时协作+白板)</text><line x1="750.0" y1="646" x2="750.0" y2="660" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="664" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="696" text-anchor="middle" class="txt">深度研究模式 同步在场模式|(文献检索+图谱) (直播+弹幕+连麦)</text></svg>
|
||||
|
After Width: | Height: | Size: 2.6 KiB |
|
After Width: | Height: | Size: 398 KiB |
|
After Width: | Height: | Size: 199 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1500" height="796" viewBox="0 0 1500 796"><defs><marker id="arrow" markerWidth="10" markerHeight="10" refX="5" refY="5" orient="auto"><path d="M0,0 L10,5 L0,10 Z" fill="#B78B3D"/></marker></defs><rect width="100%" height="100%" rx="28" fill="#FBF8F3"/><rect width="100%" height="64" rx="28" fill="#891A1C"/><rect y="38" width="100%" height="26" fill="#891A1C"/><text x="44" y="42" class="title">F6 湾区青年共创平台|共创项目管理 AI辅助创作工具集 三级审</text><style>.title{font-family:"PingFang SC",sans-serif;font-size:26px;font-weight:700;fill:#fff}.txt{font-family:"PingFang SC",sans-serif;font-size:19px;font-weight:600;fill:#2B2520}</style><rect x="70" y="94" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="126" text-anchor="middle" class="txt">F6 湾区青年共创平台|共创项目管理 AI辅助创作工具集 三级审核与展示</text><line x1="750.0" y1="190" x2="750.0" y2="204" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="208" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="240" text-anchor="middle" class="txt">年度主题发布 - AI辅助写作 - AI编审自动检查</text><line x1="750.0" y1="304" x2="750.0" y2="318" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="322" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="354" text-anchor="middle" class="txt">混合小组组建 - AI辅助绘画 - 编辑复审(人工)</text><line x1="750.0" y1="418" x2="750.0" y2="432" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="436" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="468" text-anchor="middle" class="txt">专家工作坊预约 - 短视频编辑 - 专家终审</text><line x1="750.0" y1="532" x2="750.0" y2="546" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="550" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="582" text-anchor="middle" class="txt">进度跟踪 - 声音档案录制 - 线上专区展示</text><line x1="750.0" y1="646" x2="750.0" y2="660" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="664" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="696" text-anchor="middle" class="txt">资源库访问 - 互动网页制作 - 优秀作品入临展</text></svg>
|
||||
|
After Width: | Height: | Size: 2.6 KiB |
|
After Width: | Height: | Size: 393 KiB |
|
After Width: | Height: | Size: 204 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1500" height="796" viewBox="0 0 1500 796"><defs><marker id="arrow" markerWidth="10" markerHeight="10" refX="5" refY="5" orient="auto"><path d="M0,0 L10,5 L0,10 Z" fill="#B78B3D"/></marker></defs><rect width="100%" height="100%" rx="28" fill="#FBF8F3"/><rect width="100%" height="64" rx="28" fill="#891A1C"/><rect y="38" width="100%" height="26" fill="#891A1C"/><text x="44" y="42" class="title">F7 现实行动实验室|行动选择终端 行动跟踪系统 成果回流系统</text><style>.title{font-family:"PingFang SC",sans-serif;font-size:26px;font-weight:700;fill:#fff}.txt{font-family:"PingFang SC",sans-serif;font-size:19px;font-weight:600;fill:#2B2520}</style><rect x="70" y="94" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="126" text-anchor="middle" class="txt">F7 现实行动实验室|行动选择终端 行动跟踪系统 成果回流系统</text><line x1="750.0" y1="190" x2="750.0" y2="204" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="208" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="240" text-anchor="middle" class="txt">行动方向展示 - 行动卡片生成 - 成果提交入口</text><line x1="750.0" y1="304" x2="750.0" y2="318" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="322" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="354" text-anchor="middle" class="txt">智能推荐 - 7/30/90天跟踪 - 成果墙展示</text><line x1="750.0" y1="418" x2="750.0" y2="432" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="436" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="468" text-anchor="middle" class="txt">行动模板选择 - 进展提醒推送 - 课程案例转化</text><line x1="750.0" y1="532" x2="750.0" y2="546" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="550" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="582" text-anchor="middle" class="txt">自定义行动 - 反馈表单 - 年度优秀评选</text><line x1="750.0" y1="646" x2="750.0" y2="660" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="664" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="696" text-anchor="middle" class="txt">团队行动创建</text></svg>
|
||||
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 628 KiB |
|
After Width: | Height: | Size: 324 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1500" height="1366" viewBox="0 0 1500 1366"><defs><marker id="arrow" markerWidth="10" markerHeight="10" refX="5" refY="5" orient="auto"><path d="M0,0 L10,5 L0,10 Z" fill="#B78B3D"/></marker></defs><rect width="100%" height="100%" rx="28" fill="#FBF8F3"/><rect width="100%" height="64" rx="28" fill="#891A1C"/><rect y="38" width="100%" height="26" fill="#891A1C"/><text x="44" y="42" class="title">F8 星火节点网络|L4 旗舰中心 (13000㎡)</text><style>.title{font-family:"PingFang SC",sans-serif;font-size:26px;font-weight:700;fill:#fff}.txt{font-family:"PingFang SC",sans-serif;font-size:19px;font-weight:600;fill:#2B2520}</style><rect x="70" y="94" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="126" text-anchor="middle" class="txt">F8 星火节点网络|L4 旗舰中心 (13000㎡)</text><line x1="750.0" y1="190" x2="750.0" y2="204" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="208" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="240" text-anchor="middle" class="txt">完整私有云 + GPU推理集群|完整知识图谱 + 向量库 + 内容仓</text><line x1="750.0" y1="304" x2="750.0" y2="318" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="322" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="354" text-anchor="middle" class="txt">全国节点调度中心|权威内容生产与发布</text><line x1="750.0" y1="418" x2="750.0" y2="432" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="436" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="468" text-anchor="middle" class="txt">L3 城市节点 (院校/区县基地)|本地服务器 + 完整展陈系统</text><line x1="750.0" y1="532" x2="750.0" y2="546" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="550" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="582" text-anchor="middle" class="txt">本地知识图谱子集 + 向量库子集|独立运营 + 数据上报</text><line x1="750.0" y1="646" x2="750.0" y2="660" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="664" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="696" text-anchor="middle" class="txt">云端连线能力|L2 标准节点 (高校/企事业单位)</text><line x1="750.0" y1="760" x2="750.0" y2="774" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="778" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="810" text-anchor="middle" class="txt">触屏终端 + 边缘AI推理 + VR设备</text><line x1="750.0" y1="874" x2="750.0" y2="888" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="892" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="924" text-anchor="middle" class="txt">本地内容缓存 + 云端AI增强|成长护照接入</text><line x1="750.0" y1="988" x2="750.0" y2="1002" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="1006" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="1038" text-anchor="middle" class="txt">7天标准化部署|L1 微节点 (一体机)</text><line x1="750.0" y1="1102" x2="750.0" y2="1116" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="1120" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="1152" text-anchor="middle" class="txt">一块触屏交互一体机|离线内容包 + AI问答轻量版</text><line x1="750.0" y1="1216" x2="750.0" y2="1230" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="1234" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="1266" text-anchor="middle" class="txt">定期WiFi/4G同步更新</text></svg>
|
||||
|
After Width: | Height: | Size: 4.1 KiB |
|
After Width: | Height: | Size: 468 KiB |
|
After Width: | Height: | Size: 267 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1500" height="910" viewBox="0 0 1500 910"><defs><marker id="arrow" markerWidth="10" markerHeight="10" refX="5" refY="5" orient="auto"><path d="M0,0 L10,5 L0,10 Z" fill="#B78B3D"/></marker></defs><rect width="100%" height="100%" rx="28" fill="#FBF8F3"/><rect width="100%" height="64" rx="28" fill="#891A1C"/><rect y="38" width="100%" height="26" fill="#891A1C"/><text x="44" y="42" class="title">VR/XR 沉浸体验系统|内容生产层 运行时引擎 设备与体感层</text><style>.title{font-family:"PingFang SC",sans-serif;font-size:26px;font-weight:700;fill:#fff}.txt{font-family:"PingFang SC",sans-serif;font-size:19px;font-weight:600;fill:#2B2520}</style><rect x="70" y="94" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="126" text-anchor="middle" class="txt">VR/XR 沉浸体验系统|内容生产层 运行时引擎 设备与体感层</text><line x1="750.0" y1="190" x2="750.0" y2="204" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="208" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="240" text-anchor="middle" class="txt">Unity场景工程 场景管理器 VR头显(Pico 4 Enterprise)</text><line x1="750.0" y1="304" x2="750.0" y2="318" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="322" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="354" text-anchor="middle" class="txt">3D资产管线 多人同步引擎 MR设备(Meta Quest 3)</text><line x1="750.0" y1="418" x2="750.0" y2="432" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="436" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="468" text-anchor="middle" class="txt">交互逻辑脚本 编排对接层 体感座椅(6DOF动态平台)</text><line x1="750.0" y1="532" x2="750.0" y2="546" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="550" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="582" text-anchor="middle" class="txt">AI NPC驱动 安全监控守护 手部追踪(Leap Motion)</text><line x1="750.0" y1="646" x2="750.0" y2="660" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="664" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="696" text-anchor="middle" class="txt">场景烘焙渲染 性能监控 触觉反馈背心|定位基站</text><line x1="750.0" y1="760" x2="750.0" y2="774" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="778" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="810" text-anchor="middle" class="txt">环绕音响(5.1/7.1)|风效/热效/气味发生器</text></svg>
|
||||
|
After Width: | Height: | Size: 2.9 KiB |
|
After Width: | Height: | Size: 301 KiB |
|
After Width: | Height: | Size: 148 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1500" height="682" viewBox="0 0 1500 682"><defs><marker id="arrow" markerWidth="10" markerHeight="10" refX="5" refY="5" orient="auto"><path d="M0,0 L10,5 L0,10 Z" fill="#B78B3D"/></marker></defs><rect width="100%" height="100%" rx="28" fill="#FBF8F3"/><rect width="100%" height="64" rx="28" fill="#891A1C"/><rect y="38" width="100%" height="26" fill="#891A1C"/><text x="44" y="42" class="title">多人协同VR架构|VR座位1 VR座位2 VR座位3 VR座位4</text><style>.title{font-family:"PingFang SC",sans-serif;font-size:26px;font-weight:700;fill:#fff}.txt{font-family:"PingFang SC",sans-serif;font-size:19px;font-weight:600;fill:#2B2520}</style><rect x="70" y="94" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="126" text-anchor="middle" class="txt">多人协同VR架构|VR座位1 VR座位2 VR座位3 VR座位4</text><line x1="750.0" y1="190" x2="750.0" y2="204" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="208" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="240" text-anchor="middle" class="txt">(队长) (队员) (队员) (队员)</text><line x1="750.0" y1="304" x2="750.0" y2="318" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="322" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="354" text-anchor="middle" class="txt">状态同步服务器|(Photon Fusion)</text><line x1="750.0" y1="418" x2="750.0" y2="432" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="436" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="468" text-anchor="middle" class="txt">房间管理服务|X1编排引擎</text><line x1="750.0" y1="532" x2="750.0" y2="546" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="550" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="582" text-anchor="middle" class="txt">(任务推送)</text></svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 236 KiB |
|
After Width: | Height: | Size: 125 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1500" height="568" viewBox="0 0 1500 568"><defs><marker id="arrow" markerWidth="10" markerHeight="10" refX="5" refY="5" orient="auto"><path d="M0,0 L10,5 L0,10 Z" fill="#B78B3D"/></marker></defs><rect width="100%" height="100%" rx="28" fill="#FBF8F3"/><rect width="100%" height="64" rx="28" fill="#891A1C"/><rect y="38" width="100%" height="26" fill="#891A1C"/><text x="44" y="42" class="title">公网入口|WAF + SLB</text><style>.title{font-family:"PingFang SC",sans-serif;font-size:26px;font-weight:700;fill:#fff}.txt{font-family:"PingFang SC",sans-serif;font-size:19px;font-weight:600;fill:#2B2520}</style><rect x="70" y="94" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="126" text-anchor="middle" class="txt">公网入口|WAF + SLB</text><line x1="750.0" y1="190" x2="750.0" y2="204" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="208" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="240" text-anchor="middle" class="txt">线上云区 线下场馆区|(公有云) (私有云)</text><line x1="750.0" y1="304" x2="750.0" y2="318" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="322" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="354" text-anchor="middle" class="txt">Web/小程序 AI推理GPU集群 IoT/安防/VR</text><line x1="750.0" y1="418" x2="750.0" y2="432" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="436" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="468" text-anchor="middle" class="txt">API网关 容器集群 设备网络|CDN节点 数据库集群 边缘计算盒子</text></svg>
|
||||
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 324 KiB |
|
After Width: | Height: | Size: 167 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1500" height="682" viewBox="0 0 1500 682"><defs><marker id="arrow" markerWidth="10" markerHeight="10" refX="5" refY="5" orient="auto"><path d="M0,0 L10,5 L0,10 Z" fill="#B78B3D"/></marker></defs><rect width="100%" height="100%" rx="28" fill="#FBF8F3"/><rect width="100%" height="64" rx="28" fill="#891A1C"/><rect y="38" width="100%" height="26" fill="#891A1C"/><text x="44" y="42" class="title">F2情境任务剧场|非VR模式: 多屏互动终端 + AI复盘</text><style>.title{font-family:"PingFang SC",sans-serif;font-size:26px;font-weight:700;fill:#fff}.txt{font-family:"PingFang SC",sans-serif;font-size:19px;font-weight:600;fill:#2B2520}</style><rect x="70" y="94" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="126" text-anchor="middle" class="txt">F2情境任务剧场|非VR模式: 多屏互动终端 + AI复盘</text><line x1="750.0" y1="190" x2="750.0" y2="204" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="208" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="240" text-anchor="middle" class="txt">VR模式: 沉浸场景 + 体感设备 + 多人协同 + AI复盘</text><line x1="750.0" y1="304" x2="750.0" y2="318" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="322" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="354" text-anchor="middle" class="txt">共享层:|同一任务定义</text><line x1="750.0" y1="418" x2="750.0" y2="432" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="436" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="468" text-anchor="middle" class="txt">同一证据集(从知识图谱检索)|同一历史事实揭示</text><line x1="750.0" y1="532" x2="750.0" y2="546" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="550" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="582" text-anchor="middle" class="txt">同一AI学习教练复盘|同一成长护照记录</text></svg>
|
||||
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 981 KiB |
|
After Width: | Height: | Size: 425 KiB |
|
After Width: | Height: | Size: 7.1 KiB |
|
After Width: | Height: | Size: 411 KiB |
|
After Width: | Height: | Size: 184 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1500" height="1024" viewBox="0 0 1500 1024"><defs><marker id="arrow" markerWidth="10" markerHeight="10" refX="5" refY="5" orient="auto"><path d="M0,0 L10,5 L0,10 Z" fill="#B78B3D"/></marker></defs><rect width="100%" height="100%" rx="28" fill="#FBF8F3"/><rect width="100%" height="64" rx="28" fill="#891A1C"/><rect y="38" width="100%" height="26" fill="#891A1C"/><text x="44" y="42" class="title">L2/L3节点 (轻量硬件) 旗舰中心/区域云端 (GPU集群)</text><style>.title{font-family:"PingFang SC",sans-serif;font-size:26px;font-weight:700;fill:#fff}.txt{font-family:"PingFang SC",sans-serif;font-size:19px;font-weight:600;fill:#2B2520}</style><rect x="70" y="94" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="126" text-anchor="middle" class="txt">L2/L3节点 (轻量硬件) 旗舰中心/区域云端 (GPU集群)</text><line x1="750.0" y1="190" x2="750.0" y2="204" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="208" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="240" text-anchor="middle" class="txt">VR头显 ← 视频流</text><line x1="750.0" y1="304" x2="750.0" y2="318" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="322" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="354" text-anchor="middle" class="txt">云端渲染服务器</text><line x1="750.0" y1="418" x2="750.0" y2="432" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="436" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="468" text-anchor="middle" class="txt">WiFi/5G ← 音频流</text><line x1="750.0" y1="532" x2="750.0" y2="546" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="550" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="582" text-anchor="middle" class="txt">Unity应用实例</text><line x1="750.0" y1="646" x2="750.0" y2="660" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="664" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="696" text-anchor="middle" class="txt">解码显示 输入流</text><line x1="750.0" y1="760" x2="750.0" y2="774" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="778" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="810" text-anchor="middle" class="txt">串流编码H.265</text><line x1="750.0" y1="874" x2="750.0" y2="888" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="892" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="924" text-anchor="middle" class="txt">手柄/头显数据 超低延迟传输</text></svg>
|
||||
|
After Width: | Height: | Size: 2.9 KiB |
|
After Width: | Height: | Size: 419 KiB |
|
After Width: | Height: | Size: 178 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1500" height="1138" viewBox="0 0 1500 1138"><defs><marker id="arrow" markerWidth="10" markerHeight="10" refX="5" refY="5" orient="auto"><path d="M0,0 L10,5 L0,10 Z" fill="#B78B3D"/></marker></defs><rect width="100%" height="100%" rx="28" fill="#FBF8F3"/><rect width="100%" height="64" rx="28" fill="#891A1C"/><rect y="38" width="100%" height="26" fill="#891A1C"/><text x="44" y="42" class="title">事件源 处理引擎 输出目标</text><style>.title{font-family:"PingFang SC",sans-serif;font-size:26px;font-weight:700;fill:#fff}.txt{font-family:"PingFang SC",sans-serif;font-size:19px;font-weight:600;fill:#2B2520}</style><rect x="70" y="94" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="126" text-anchor="middle" class="txt">事件源 处理引擎 输出目标</text><line x1="750.0" y1="190" x2="750.0" y2="204" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="208" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="240" text-anchor="middle" class="txt">UWB位置流(10Hz)</text><line x1="750.0" y1="304" x2="750.0" y2="318" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="322" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="354" text-anchor="middle" class="txt">客流计数(实时)</text><line x1="750.0" y1="418" x2="750.0" y2="432" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="436" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="468" text-anchor="middle" class="txt">实时流式计算</text><line x1="750.0" y1="532" x2="750.0" y2="546" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="550" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="582" text-anchor="middle" class="txt">编排决策</text><line x1="750.0" y1="646" x2="750.0" y2="660" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="664" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="696" text-anchor="middle" class="txt">设备控制指令</text><line x1="750.0" y1="760" x2="750.0" y2="774" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="778" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="810" text-anchor="middle" class="txt">设备状态(实时) (复杂事件处理) (规则+AI) (实时消息推送)</text><line x1="750.0" y1="874" x2="750.0" y2="888" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="892" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="924" text-anchor="middle" class="txt">用户路线(API)</text><line x1="750.0" y1="988" x2="750.0" y2="1002" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="1006" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="1038" text-anchor="middle" class="txt">任务状态(API)</text></svg>
|
||||
|
After Width: | Height: | Size: 3.2 KiB |
|
After Width: | Height: | Size: 299 KiB |
|
After Width: | Height: | Size: 124 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1500" height="910" viewBox="0 0 1500 910"><defs><marker id="arrow" markerWidth="10" markerHeight="10" refX="5" refY="5" orient="auto"><path d="M0,0 L10,5 L0,10 Z" fill="#B78B3D"/></marker></defs><rect width="100%" height="100%" rx="28" fill="#FBF8F3"/><rect width="100%" height="64" rx="28" fill="#891A1C"/><rect y="38" width="100%" height="26" fill="#891A1C"/><text x="44" y="42" class="title">票务系统</text><style>.title{font-family:"PingFang SC",sans-serif;font-size:26px;font-weight:700;fill:#fff}.txt{font-family:"PingFang SC",sans-serif;font-size:19px;font-weight:600;fill:#2B2520}</style><rect x="70" y="94" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="126" text-anchor="middle" class="txt">票务系统</text><line x1="750.0" y1="190" x2="750.0" y2="204" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="208" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="240" text-anchor="middle" class="txt">教研系统</text><line x1="750.0" y1="304" x2="750.0" y2="318" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="322" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="354" text-anchor="middle" class="txt">港澳专项</text><line x1="750.0" y1="418" x2="750.0" y2="432" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="436" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="468" text-anchor="middle" class="txt">X2成长护照统一API</text><line x1="750.0" y1="532" x2="750.0" y2="546" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="550" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="582" text-anchor="middle" class="txt">统一学习档案</text><line x1="750.0" y1="646" x2="750.0" y2="660" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="664" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="696" text-anchor="middle" class="txt">数据中台 (GraphQL查询) (全生命周期)</text><line x1="750.0" y1="760" x2="750.0" y2="774" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="778" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="810" text-anchor="middle" class="txt">线下终端</text></svg>
|
||||
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 749 KiB |
|
After Width: | Height: | Size: 322 KiB |
|
After Width: | Height: | Size: 5.6 KiB |
|
After Width: | Height: | Size: 348 KiB |
|
After Width: | Height: | Size: 183 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1500" height="796" viewBox="0 0 1500 796"><defs><marker id="arrow" markerWidth="10" markerHeight="10" refX="5" refY="5" orient="auto"><path d="M0,0 L10,5 L0,10 Z" fill="#B78B3D"/></marker></defs><rect width="100%" height="100%" rx="28" fill="#FBF8F3"/><rect width="100%" height="64" rx="28" fill="#891A1C"/><rect y="38" width="100%" height="26" fill="#891A1C"/><text x="44" y="42" class="title">互联网|WAF (Web应用防火墙)</text><style>.title{font-family:"PingFang SC",sans-serif;font-size:26px;font-weight:700;fill:#fff}.txt{font-family:"PingFang SC",sans-serif;font-size:19px;font-weight:600;fill:#2B2520}</style><rect x="70" y="94" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="126" text-anchor="middle" class="txt">互联网|WAF (Web应用防火墙)</text><line x1="750.0" y1="190" x2="750.0" y2="204" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="208" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="240" text-anchor="middle" class="txt">DMZ区|负载均衡 + API网关</text><line x1="750.0" y1="304" x2="750.0" y2="318" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="322" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="354" text-anchor="middle" class="txt">应用区 (容器集群)|微服务集群 (服务网格 + 自动扩缩容)</text><line x1="750.0" y1="418" x2="750.0" y2="432" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="436" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="468" text-anchor="middle" class="txt">数据区 (隔离)|业务数据库 知识图谱 向量库 内容仓</text><line x1="750.0" y1="532" x2="750.0" y2="546" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="550" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="582" text-anchor="middle" class="txt">GPU推理集群|设备区 (VLAN隔离)</text><line x1="750.0" y1="646" x2="750.0" y2="660" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="664" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="696" text-anchor="middle" class="txt">IoT/安防/VR/灯光音频 (独立VLAN)</text></svg>
|
||||
|
After Width: | Height: | Size: 2.4 KiB |
|
After Width: | Height: | Size: 260 KiB |
|
After Width: | Height: | Size: 122 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1500" height="682" viewBox="0 0 1500 682"><defs><marker id="arrow" markerWidth="10" markerHeight="10" refX="5" refY="5" orient="auto"><path d="M0,0 L10,5 L0,10 Z" fill="#B78B3D"/></marker></defs><rect width="100%" height="100%" rx="28" fill="#FBF8F3"/><rect width="100%" height="64" rx="28" fill="#891A1C"/><rect y="38" width="100%" height="26" fill="#891A1C"/><text x="44" y="42" class="title">用户输入</text><style>.title{font-family:"PingFang SC",sans-serif;font-size:26px;font-weight:700;fill:#fff}.txt{font-family:"PingFang SC",sans-serif;font-size:19px;font-weight:600;fill:#2B2520}</style><rect x="70" y="94" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="126" text-anchor="middle" class="txt">用户输入</text><line x1="750.0" y1="190" x2="750.0" y2="204" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="208" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="240" text-anchor="middle" class="txt">第一层: 输入过滤 拦截不当提问</text><line x1="750.0" y1="304" x2="750.0" y2="318" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="322" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="354" text-anchor="middle" class="txt">第二层: 事实校验 AI回答与知识图谱比对,发现事实错误则拦截</text><line x1="750.0" y1="418" x2="750.0" y2="432" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="436" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="468" text-anchor="middle" class="txt">第三层: 输出过滤 拦截不当表述</text><line x1="750.0" y1="532" x2="750.0" y2="546" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="550" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="582" text-anchor="middle" class="txt">安全回答 + 史料来源 + 审计日志</text></svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 171 KiB |
|
After Width: | Height: | Size: 92 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1500" height="340" viewBox="0 0 1500 340"><defs><marker id="arrow" markerWidth="10" markerHeight="10" refX="5" refY="5" orient="auto"><path d="M0,0 L10,5 L0,10 Z" fill="#B78B3D"/></marker></defs><rect width="100%" height="100%" rx="28" fill="#FBF8F3"/><rect width="100%" height="64" rx="28" fill="#891A1C"/><rect y="38" width="100%" height="26" fill="#891A1C"/><text x="44" y="42" class="title">最小原型 = 1件文物3D展示 + 1个情境任务 + 1个AI问</text><style>.title{font-family:"PingFang SC",sans-serif;font-size:26px;font-weight:700;fill:#fff}.txt{font-family:"PingFang SC",sans-serif;font-size:19px;font-weight:600;fill:#2B2520}</style><rect x="70" y="94" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="126" text-anchor="middle" class="txt">最小原型 = 1件文物3D展示 + 1个情境任务 + 1个AI问答入口</text><line x1="750.0" y1="190" x2="750.0" y2="204" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="208" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="240" text-anchor="middle" class="txt">1个成长护照H5 + 1个行动选择页 + 1个30天回访推送</text></svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 529 KiB |
|
After Width: | Height: | Size: 214 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1500" height="1480" viewBox="0 0 1500 1480"><defs><marker id="arrow" markerWidth="10" markerHeight="10" refX="5" refY="5" orient="auto"><path d="M0,0 L10,5 L0,10 Z" fill="#B78B3D"/></marker></defs><rect width="100%" height="100%" rx="28" fill="#FBF8F3"/><rect width="100%" height="64" rx="28" fill="#891A1C"/><rect y="38" width="100%" height="26" fill="#891A1C"/><text x="44" y="42" class="title">用户在触屏终端开始</text><style>.title{font-family:"PingFang SC",sans-serif;font-size:26px;font-weight:700;fill:#fff}.txt{font-family:"PingFang SC",sans-serif;font-size:19px;font-weight:600;fill:#2B2520}</style><rect x="70" y="94" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="126" text-anchor="middle" class="txt">用户在触屏终端开始</text><line x1="750.0" y1="190" x2="750.0" y2="204" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="208" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="240" text-anchor="middle" class="txt">查看一件文物3D模型(可旋转缩放)</text><line x1="750.0" y1="304" x2="750.0" y2="318" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="322" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="354" text-anchor="middle" class="txt">参与一个情境任务(阅读证据</text><line x1="750.0" y1="418" x2="750.0" y2="432" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="436" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="468" text-anchor="middle" class="txt">团队讨论</text><line x1="750.0" y1="532" x2="750.0" y2="546" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="550" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="582" text-anchor="middle" class="txt">提交方案</text><line x1="750.0" y1="646" x2="750.0" y2="660" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="664" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="696" text-anchor="middle" class="txt">历史揭示</text><line x1="750.0" y1="760" x2="750.0" y2="774" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="778" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="810" text-anchor="middle" class="txt">AI复盘)</text><line x1="750.0" y1="874" x2="750.0" y2="888" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="892" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="924" text-anchor="middle" class="txt">向AI提问(获得带史料引用的回答)</text><line x1="750.0" y1="988" x2="750.0" y2="1002" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="1006" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="1038" text-anchor="middle" class="txt">打开手机H5查看成长护照</text><line x1="750.0" y1="1102" x2="750.0" y2="1116" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="1120" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="1152" text-anchor="middle" class="txt">选择一个行动方向</text><line x1="750.0" y1="1216" x2="750.0" y2="1230" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="1234" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="1266" text-anchor="middle" class="txt">30天后收到微信推送</text><line x1="750.0" y1="1330" x2="750.0" y2="1344" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="1348" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="1380" text-anchor="middle" class="txt">提交行动反馈</text></svg>
|
||||
|
After Width: | Height: | Size: 4.1 KiB |
|
After Width: | Height: | Size: 642 KiB |
|
After Width: | Height: | Size: 236 KiB |
|
After Width: | Height: | Size: 5.1 KiB |
|
After Width: | Height: | Size: 408 KiB |
|
After Width: | Height: | Size: 160 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1500" height="1138" viewBox="0 0 1500 1138"><defs><marker id="arrow" markerWidth="10" markerHeight="10" refX="5" refY="5" orient="auto"><path d="M0,0 L10,5 L0,10 Z" fill="#B78B3D"/></marker></defs><rect width="100%" height="100%" rx="28" fill="#FBF8F3"/><rect width="100%" height="64" rx="28" fill="#891A1C"/><rect y="38" width="100%" height="26" fill="#891A1C"/><text x="44" y="42" class="title">单服务器部署 (原型阶段):</text><style>.title{font-family:"PingFang SC",sans-serif;font-size:26px;font-weight:700;fill:#fff}.txt{font-family:"PingFang SC",sans-serif;font-size:19px;font-weight:600;fill:#2B2520}</style><rect x="70" y="94" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="126" text-anchor="middle" class="txt">单服务器部署 (原型阶段):</text><line x1="750.0" y1="190" x2="750.0" y2="204" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="208" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="240" text-anchor="middle" class="txt">1台 GPU服务器</text><line x1="750.0" y1="304" x2="750.0" y2="318" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="322" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="354" text-anchor="middle" class="txt">AI推理 + 向量检索</text><line x1="750.0" y1="418" x2="750.0" y2="432" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="436" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="468" text-anchor="middle" class="txt">1台 应用服务器</text><line x1="750.0" y1="532" x2="750.0" y2="546" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="550" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="582" text-anchor="middle" class="txt">业务服务 + 缓存</text><line x1="750.0" y1="646" x2="750.0" y2="660" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="664" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="696" text-anchor="middle" class="txt">1台 前端服务器</text><line x1="750.0" y1="760" x2="750.0" y2="774" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="778" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="810" text-anchor="middle" class="txt">3D展示 + 小程序后端</text><line x1="750.0" y1="874" x2="750.0" y2="888" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="892" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="924" text-anchor="middle" class="txt">1台 互动终端</text><line x1="750.0" y1="988" x2="750.0" y2="1002" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="1006" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="1038" text-anchor="middle" class="txt">情境任务 + AI问答界面</text></svg>
|
||||
|
After Width: | Height: | Size: 3.2 KiB |
|
After Width: | Height: | Size: 83 KiB |
|
After Width: | Height: | Size: 34 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1500" height="226" viewBox="0 0 1500 226"><defs><marker id="arrow" markerWidth="10" markerHeight="10" refX="5" refY="5" orient="auto"><path d="M0,0 L10,5 L0,10 Z" fill="#B78B3D"/></marker></defs><rect width="100%" height="100%" rx="28" fill="#FBF8F3"/><rect width="100%" height="64" rx="28" fill="#891A1C"/><rect y="38" width="100%" height="26" fill="#891A1C"/><text x="44" y="42" class="title">再传播</text><style>.title{font-family:"PingFang SC",sans-serif;font-size:26px;font-weight:700;fill:#fff}.txt{font-family:"PingFang SC",sans-serif;font-size:19px;font-weight:600;fill:#2B2520}</style><rect x="70" y="94" width="206" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="173.0" y="126" text-anchor="middle" class="txt">提问</text><rect x="300" y="94" width="206" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="403.0" y="126" text-anchor="middle" class="txt">体验</text><rect x="530" y="94" width="206" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="633.0" y="126" text-anchor="middle" class="txt">理解</text><rect x="760" y="94" width="206" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="863.0" y="126" text-anchor="middle" class="txt">行动</text><rect x="990" y="94" width="206" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="1093.0" y="126" text-anchor="middle" class="txt">反馈</text><rect x="1220" y="94" width="206" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="1323.0" y="126" text-anchor="middle" class="txt">再传播</text></svg>
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 376 KiB |
|
After Width: | Height: | Size: 184 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1500" height="910" viewBox="0 0 1500 910"><defs><marker id="arrow" markerWidth="10" markerHeight="10" refX="5" refY="5" orient="auto"><path d="M0,0 L10,5 L0,10 Z" fill="#B78B3D"/></marker></defs><rect width="100%" height="100%" rx="28" fill="#FBF8F3"/><rect width="100%" height="64" rx="28" fill="#891A1C"/><rect y="38" width="100%" height="26" fill="#891A1C"/><text x="44" y="42" class="title">用户提问(繁体中文)</text><style>.title{font-family:"PingFang SC",sans-serif;font-size:26px;font-weight:700;fill:#fff}.txt{font-family:"PingFang SC",sans-serif;font-size:19px;font-weight:600;fill:#2B2520}</style><rect x="70" y="94" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="126" text-anchor="middle" class="txt">用户提问(繁体中文)</text><line x1="750.0" y1="190" x2="750.0" y2="204" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="208" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="240" text-anchor="middle" class="txt">意图识别 + 人群类型判断(港澳中学生)</text><line x1="750.0" y1="304" x2="750.0" y2="318" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="322" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="354" text-anchor="middle" class="txt">RAG检索(史料库语义检索,召回相关文献)</text><line x1="750.0" y1="418" x2="750.0" y2="432" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="436" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="468" text-anchor="middle" class="txt">大模型生成(适配港澳中学生理解水平,繁体中文输出)</text><line x1="750.0" y1="532" x2="750.0" y2="546" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="550" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="582" text-anchor="middle" class="txt">安全护栏(事实校验 + 输出过滤)</text><line x1="750.0" y1="646" x2="750.0" y2="660" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="664" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="696" text-anchor="middle" class="txt">TTS语音合成(粤语发音可选)</text><line x1="750.0" y1="760" x2="750.0" y2="774" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="778" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="810" text-anchor="middle" class="txt">回答 + 史料来源 + 追问建议</text></svg>
|
||||
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 607 KiB |
|
After Width: | Height: | Size: 243 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1500" height="1708" viewBox="0 0 1500 1708"><defs><marker id="arrow" markerWidth="10" markerHeight="10" refX="5" refY="5" orient="auto"><path d="M0,0 L10,5 L0,10 Z" fill="#B78B3D"/></marker></defs><rect width="100%" height="100%" rx="28" fill="#FBF8F3"/><rect width="100%" height="64" rx="28" fill="#891A1C"/><rect y="38" width="100%" height="26" fill="#891A1C"/><text x="44" y="42" class="title">可信叙事引擎</text><style>.title{font-family:"PingFang SC",sans-serif;font-size:26px;font-weight:700;fill:#fff}.txt{font-family:"PingFang SC",sans-serif;font-size:19px;font-weight:600;fill:#2B2520}</style><rect x="70" y="94" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="126" text-anchor="middle" class="txt">可信叙事引擎</text><line x1="750.0" y1="190" x2="750.0" y2="204" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="208" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="240" text-anchor="middle" class="txt">内容组件仓库 叙事路线算法</text><line x1="750.0" y1="304" x2="750.0" y2="318" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="322" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="354" text-anchor="middle" class="txt">已审核的: 输入:</text><line x1="750.0" y1="418" x2="750.0" y2="432" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="436" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="468" text-anchor="middle" class="txt">文字片段</text><line x1="750.0" y1="532" x2="750.0" y2="546" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="550" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="582" text-anchor="middle" class="txt">人群类型</text><line x1="750.0" y1="646" x2="750.0" y2="660" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="664" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="696" text-anchor="middle" class="txt">影像素材 - 学习问题</text><line x1="750.0" y1="760" x2="750.0" y2="774" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="778" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="810" text-anchor="middle" class="txt">3D模型 - 可用时长</text><line x1="750.0" y1="874" x2="750.0" y2="888" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="892" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="924" text-anchor="middle" class="txt">互动任务 - 语言偏好</text><line x1="750.0" y1="988" x2="750.0" y2="1002" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="1006" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="1038" text-anchor="middle" class="txt">AI讲解词 - 实时客流</text><line x1="750.0" y1="1102" x2="750.0" y2="1116" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="1120" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="1152" text-anchor="middle" class="txt">每个组件标注: 输出:</text><line x1="750.0" y1="1216" x2="750.0" y2="1230" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="1234" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="1266" text-anchor="middle" class="txt">适用人群 - 节点序列</text><line x1="750.0" y1="1330" x2="750.0" y2="1344" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="1348" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="1380" text-anchor="middle" class="txt">时长估算 - 每节点内容</text><line x1="750.0" y1="1444" x2="750.0" y2="1458" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="1462" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="1494" text-anchor="middle" class="txt">审核状态 - 适配方案</text><line x1="750.0" y1="1558" x2="750.0" y2="1572" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="1576" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="1608" text-anchor="middle" class="txt">关键原则: 不生成新内容,只编排已审核组件</text></svg>
|
||||
|
After Width: | Height: | Size: 4.7 KiB |
|
After Width: | Height: | Size: 431 KiB |
|
After Width: | Height: | Size: 196 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1500" height="1138" viewBox="0 0 1500 1138"><defs><marker id="arrow" markerWidth="10" markerHeight="10" refX="5" refY="5" orient="auto"><path d="M0,0 L10,5 L0,10 Z" fill="#B78B3D"/></marker></defs><rect width="100%" height="100%" rx="28" fill="#FBF8F3"/><rect width="100%" height="64" rx="28" fill="#891A1C"/><rect y="38" width="100%" height="26" fill="#891A1C"/><text x="44" y="42" class="title">学习成长引擎</text><style>.title{font-family:"PingFang SC",sans-serif;font-size:26px;font-weight:700;fill:#fff}.txt{font-family:"PingFang SC",sans-serif;font-size:19px;font-weight:600;fill:#2B2520}</style><rect x="70" y="94" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="126" text-anchor="middle" class="txt">学习成长引擎</text><line x1="750.0" y1="190" x2="750.0" y2="204" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="208" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="240" text-anchor="middle" class="txt">参观前导学 参观中记录 离馆后回访</text><line x1="750.0" y1="304" x2="750.0" y2="318" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="322" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="354" text-anchor="middle" class="txt">人群选择 UWB自动 7天回顾</text><line x1="750.0" y1="418" x2="750.0" y2="432" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="436" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="468" text-anchor="middle" class="txt">问题选择 记录位置 30天进展</text><line x1="750.0" y1="532" x2="750.0" y2="546" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="550" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="582" text-anchor="middle" class="txt">路线生成 任务记录 90天成果</text><line x1="750.0" y1="646" x2="750.0" y2="660" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="664" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="696" text-anchor="middle" class="txt">导学推送 AI问答 行动评估</text><line x1="750.0" y1="760" x2="750.0" y2="774" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="778" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="810" text-anchor="middle" class="txt">理解表达 案例入库</text><line x1="750.0" y1="874" x2="750.0" y2="888" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="892" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="924" text-anchor="middle" class="txt">统一成长档案 (X2护照)</text><line x1="750.0" y1="988" x2="750.0" y2="1002" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="1006" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="1038" text-anchor="middle" class="txt">跨系统同步 · 全程陪伴 · 闭环追踪</text></svg>
|
||||
|
After Width: | Height: | Size: 3.3 KiB |
|
After Width: | Height: | Size: 627 KiB |
|
After Width: | Height: | Size: 232 KiB |
|
After Width: | Height: | Size: 4.9 KiB |
|
After Width: | Height: | Size: 521 KiB |
|
After Width: | Height: | Size: 282 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1500" height="1024" viewBox="0 0 1500 1024"><defs><marker id="arrow" markerWidth="10" markerHeight="10" refX="5" refY="5" orient="auto"><path d="M0,0 L10,5 L0,10 Z" fill="#B78B3D"/></marker></defs><rect width="100%" height="100%" rx="28" fill="#FBF8F3"/><rect width="100%" height="64" rx="28" fill="#891A1C"/><rect y="38" width="100%" height="26" fill="#891A1C"/><text x="44" y="42" class="title">F1 自适应叙事空间系统|入馆选择终端 空间联动控制 学习脉络生</text><style>.title{font-family:"PingFang SC",sans-serif;font-size:26px;font-weight:700;fill:#fff}.txt{font-family:"PingFang SC",sans-serif;font-size:19px;font-weight:600;fill:#2B2520}</style><rect x="70" y="94" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="126" text-anchor="middle" class="txt">F1 自适应叙事空间系统|入馆选择终端 空间联动控制 学习脉络生成</text><line x1="750.0" y1="190" x2="750.0" y2="204" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="208" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="240" text-anchor="middle" class="txt">(自助机/小程序) (X1编排引擎) (离馆报告)</text><line x1="750.0" y1="304" x2="750.0" y2="318" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="322" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="354" text-anchor="middle" class="txt">用户画像采集: 设备联动: 报告内容:</text><line x1="750.0" y1="418" x2="750.0" y2="432" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="436" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="468" text-anchor="middle" class="txt">人群类型(选择) - 屏幕内容切换 - 路线节点列表</text><line x1="750.0" y1="532" x2="750.0" y2="546" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="550" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="582" text-anchor="middle" class="txt">学习问题(选择) - 灯光场景切换 - 查看过的文物</text><line x1="750.0" y1="646" x2="750.0" y2="660" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="664" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="696" text-anchor="middle" class="txt">可用时长(选择) - 音频导览切换 - 完成的任务</text><line x1="750.0" y1="760" x2="750.0" y2="774" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="778" width="1360" height="86" rx="14" fill="#F2E6D4" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="810" text-anchor="middle" class="txt">语言(选择) - AI讲解适配 - AI问答记录</text><line x1="750.0" y1="874" x2="750.0" y2="888" stroke="#B78B3D" stroke-width="4" marker-end="url(#arrow)"/><rect x="70" y="892" width="1360" height="86" rx="14" fill="#FFFFFF" stroke="#B78B3D" stroke-width="2"/><text x="750.0" y="924" text-anchor="middle" class="txt">互动任务推送 - 个人理解表达|客流实时感知 - 推荐后续学习</text></svg>
|
||||
|
After Width: | Height: | Size: 3.2 KiB |
|
After Width: | Height: | Size: 1006 KiB |
|
After Width: | Height: | Size: 435 KiB |
|
After Width: | Height: | Size: 7.4 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 29 KiB |