diff --git a/addons/official/view/web/official_common/mobile/link.html b/addons/official/view/web/official_common/mobile/link.html index 9211c21..487f76e 100644 --- a/addons/official/view/web/official_common/mobile/link.html +++ b/addons/official/view/web/official_common/mobile/link.html @@ -1,4 +1,4 @@ - + diff --git a/addons/official/view/web/official_common/pc/link.html b/addons/official/view/web/official_common/pc/link.html index 041140f..ab55244 100644 --- a/addons/official/view/web/official_common/pc/link.html +++ b/addons/official/view/web/official_common/pc/link.html @@ -1,5 +1,5 @@ - + diff --git a/public/assets/addons/official/css/modern_nhc.css b/public/assets/addons/official/css/modern_nhc.css index f0fad71..e7bc263 100644 --- a/public/assets/addons/official/css/modern_nhc.css +++ b/public/assets/addons/official/css/modern_nhc.css @@ -386,29 +386,29 @@ img { z-index: 2; } -/* 轮播图幻灯片不同主题背景与中式意境光影 (浅色高雅、通透水墨微晕) */ +/* 轮播图幻灯片不同主题背景与中式意境光影 (浅色高雅、通透羽化、右侧鲜明视窗完全释放) */ .nhc-slide-theme-1 { background: - linear-gradient(90deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.92) 50%, rgba(255, 255, 255, 0.15) 100%), - url('../images/banners/banner_lead.jpg') right center / cover no-repeat; + linear-gradient(90deg, #FFFFFF 0%, rgba(255, 255, 255, 0.98) 36%, rgba(255, 255, 255, 0.82) 44%, rgba(255, 255, 255, 0) 54%, rgba(255, 255, 255, 0) 100%), + url('../images/banners/banner_lead.svg') right center / cover no-repeat; } .nhc-slide-theme-2 { background: - linear-gradient(90deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.92) 50%, rgba(255, 255, 255, 0.15) 100%), - url('../images/banners/banner_craft.jpg') right center / cover no-repeat; + linear-gradient(90deg, #FFFFFF 0%, rgba(255, 255, 255, 0.98) 36%, rgba(255, 255, 255, 0.82) 44%, rgba(255, 255, 255, 0) 54%, rgba(255, 255, 255, 0) 100%), + url('../images/banners/banner_craft.svg') right center / cover no-repeat; } .nhc-slide-theme-3 { background: - linear-gradient(90deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.92) 50%, rgba(255, 255, 255, 0.15) 100%), - url('../images/banners/banner_agent.jpg') right center / cover no-repeat; + linear-gradient(90deg, #FFFFFF 0%, rgba(255, 255, 255, 0.98) 36%, rgba(255, 255, 255, 0.82) 44%, rgba(255, 255, 255, 0) 54%, rgba(255, 255, 255, 0) 100%), + url('../images/banners/banner_agent.svg') right center / cover no-repeat; } .nhc-slide-theme-4 { background: - linear-gradient(90deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.92) 50%, rgba(255, 255, 255, 0.15) 100%), - url('../images/banners/banner_matrix.jpg') right center / cover no-repeat; + linear-gradient(90deg, #FFFFFF 0%, rgba(255, 255, 255, 0.98) 36%, rgba(255, 255, 255, 0.82) 44%, rgba(255, 255, 255, 0) 54%, rgba(255, 255, 255, 0) 100%), + url('../images/banners/banner_matrix.svg') right center / cover no-repeat; } /* 轮播图切换过渡微动画 */ @@ -1660,6 +1660,26 @@ img { .nhc-carousel-dot.active .nhc-carousel-dot-bar { width: 36px; } + .nhc-slide-theme-1 { + background: + linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.90) 65%, rgba(255, 255, 255, 0.70) 100%), + url('../images/banners/banner_lead.svg') 80% center / cover no-repeat; + } + .nhc-slide-theme-2 { + background: + linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.90) 65%, rgba(255, 255, 255, 0.70) 100%), + url('../images/banners/banner_craft.svg') 80% center / cover no-repeat; + } + .nhc-slide-theme-3 { + background: + linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.90) 65%, rgba(255, 255, 255, 0.70) 100%), + url('../images/banners/banner_agent.svg') 80% center / cover no-repeat; + } + .nhc-slide-theme-4 { + background: + linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.90) 65%, rgba(255, 255, 255, 0.70) 100%), + url('../images/banners/banner_matrix.svg') 80% center / cover no-repeat; + } .nhc-hero-title { font-size: 32px; } diff --git a/public/assets/addons/official/images/banners/banner_agent.svg b/public/assets/addons/official/images/banners/banner_agent.svg new file mode 100644 index 0000000..befbe67 --- /dev/null +++ b/public/assets/addons/official/images/banners/banner_agent.svg @@ -0,0 +1,218 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 纳海川企业私域智能体中枢 (Enterprise Agent Engine v3.5) · 内网隔离模式 + + + + + ● 物理隔离 0公网外发 · GPU 8卡就绪 + + + + + + 业务规章合规初审与智能推理 + + + + + 提审请阅:某省大型项目标书合同第 38 条违约金条款... + 上传附件: 《采购战略合作框架合同.pdf》 (48页) + + + + + + + AI + 智能审校专员 · 审查结论报告 (120ms) + + [合规要点核对完成 · 风险等级: 低] + 1. 违约金约定比例为 30%,超过民法典通常上限保护范围; + 2. 依据集团制度《合规风险防控指南(2026)》第 14 条建议修正; + 3. 知识库溯源置信度: 98.7% (已匹配出处原文段落); + + + + 智能体建议修正条款: + “违约金按逾期未付货款每日万分之三计算,最高不超过标的额 15%” + + + + + + 私有算力与推理引擎性能指标 + + 首 Token 响应时延 (TTFT) + 42 ms + + + + 向量召回准确率 (Top-3) + 99.4% + + + + 数据物理留存: 贵阳本地专有算力中心 · 绝无公网泄露风险 + + + + + + + 私域 RAG 向量数据库多路召回与重排 + + + + + Chunk #1402 · 集团合同法务白皮书(2026版) + 余弦相似度: 0.984 · Dense Vector + BM25 混合索引 + + 已采纳 + + + + + Chunk #0819 · 招标投标风险规避实施细则 + 余弦相似度: 0.941 · 引用判定为辅助参考依据 + + 关联 + + + + + + 高维语义向量空间聚类投影图 (1536-Dim t-SNE) + + + + + + + + + + + + + + 提审合同查询点 + + + + + + + + + + + + 私域知识库已自动完成语义切片、重排 (Rerank) 与高精度引证标注 + + + + + + + + + + + + + + Multi-Agent 多智能体自主编排流 + + + + ● 4 Agents 活跃 + + + + + 1 + 调度中枢 Agent (Planner) + 任务目标拆解、上下文记忆管理与意图识别 + + + + + 2 + 规章检索 Agent (Retriever) + 并发多路检索私域知识库、自动过滤无关切片 + + + + + 3 + 合规推理 Agent (Reasoner) + 深度逻辑比对,标注法规依据与风险处置建议 + + + + + 4 + 终审汇报 Agent (Reporter) + 生成结构化报告、生成修改批注与审批单草稿 + + + + + 预约企业专属智能体 PoC 验证 → + + + \ No newline at end of file diff --git a/public/assets/addons/official/images/banners/banner_craft.svg b/public/assets/addons/official/images/banners/banner_craft.svg new file mode 100644 index 0000000..c1c33d9 --- /dev/null +++ b/public/assets/addons/official/images/banners/banner_craft.svg @@ -0,0 +1,265 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 纳海川全渠道业务协同调度中台 (Web Admin Console) + + + + + + + 经营看板 + + 全端订单中枢 + 商品与库存中心 + 多级分销结算 + 接口 API 监控 + 系统安全设置 + + + + + + + + 今日全端实收流水 + ¥ 1,842,650 + + + + 全渠道订单笔数 + 38,912 笔 + + + + 移动端在线活跃 + 98.6% + + + + + + 三端订单流量分布趋势 (小时级聚合) + + + + App 原生端 + + 微信小程序 + + Web 门户 + + + + + + + + 10:00 + + + + + + 12:00 + + + + + + 16:00 + + + + + + 20:00 + + + + + + 22:00 + + + + + + + + ● WebSocket 实时长连接在线 · 全端数据同步时延 < 20ms · 双向加密传输 + + + + + + + + + + + + + + + + + + + 搜索企业商品、物料或订单编号... + + + + + + + + 企业级专属订货 + 数字化订货与分销系统 + 原生极速体验 · 支持批量导入与极速结算 + + 立即体验 → + + + + + + 采购订货 + + + 扫码盘点 + + + 财务对账 + + + 报表中心 + + + + + + + 工业传感器主控板 (V3) + 库存: 2,400 件 · 批次: 2609A + ¥ 380.00 + + + + + + 智能网关采集终端 (Pro) + 库存: 850 件 · 现货顺丰包邮 + ¥ 1,290.00 + + + + + + ● 首页 + 分类 + 购物车 + 我的 + + + + + + + + + + + + + 纳海川订货小程序 + + + + + + + + + + 企业分销裂变与快捷核销 + 累计分销返佣已结算: ¥ 284,520 + 免下载安装 · 扫码即开即用 · 微信支付秒结 + + + + + 小程序专享活动 (限时抢购) + + + 企业订购活动已抢 82% + + + + + + 微信快捷授权登录与下单 + + + + + + 全端工程代码审查认证: + 一套中台统一对接 Web、iOS、Android 与微信小程序 + 代码无缝复用 · 研发成本降低 45% + + + + + + + \ No newline at end of file diff --git a/public/assets/addons/official/images/banners/banner_lead.svg b/public/assets/addons/official/images/banners/banner_lead.svg new file mode 100644 index 0000000..3a8ea88 --- /dev/null +++ b/public/assets/addons/official/images/banners/banner_lead.svg @@ -0,0 +1,279 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 纳海川企业数字化技术中台 · 生产集群实时监控 (Production v4.2) + + + + + ● 集群健康率 100% + + + + + API 网关吞吐与 QPS 负载 + 延迟 14ms + + + 128,450 + 峰值 QPS + +18.5% + 环比昨日 + + + + + + + + + 00:00 + 08:00 + 14:00 + 22:00 + + + + + + 微服务集群调用拓扑星图 + 正常 (5/5) + + + + + + + + + + + + + API-Gateway + 流量分发枢纽 + + + + Auth-Svc + 99.99% + + + + Order-Svc + 24 实例 + + + + Payment + 双向幂等 + + + + MySQL Cluster + 读写分离 1M-4S + + + + Redis Cache + 命中率 99.2% + + + + + + 分布式事务与数据库读写监控 + + + + Master 主库写入负载 + 28.4% + + + + + + Replica 从库读查询分流 + 71.6% + + + + + + 主从同步实时延迟 + < 0.8ms + + + + + + 分布式 2PC 事务一次提交成功率 + 100.0% + + + + + + + + + 全链路追踪与容器弹性健康 + + + + + Pod-Node A + CPU 24% + + + Pod-Node B + CPU 31% + + + Pod-Node C + CPU 19% + + + K8s Cluster + Healthy + + + + + + [INFO] 2026-10-09 09:30:12 Gateway route updated: 14 services online + [SUCCESS] Full regression test passed: 32/32 assertions OK + [AUDIT] SonarQube static scan: 0 critical vulnerabilities, 0 bugs + [SYNC] Database dict & architecture ER diagrams synced + + + + + + + + + + + + + 工程规范与自主可控交付承诺 + + + + + 完整源码 + + + + + + + 交付无混淆源码与工程全构建脚本 + 包含前后端所有源码、Git提交历史与 CI/CD 自动化构建配置 + + + + + + + 配套全套数据库字典与架构白皮书 + 全字段中文注释、ER关系拓扑图、接口规范与系统运维手册 + + + + + + + 支持内网机房物理隔离与专有云私有化 + 华为云、阿里云或本地服务器集群合规部署,数据资产企业独享 + + + + + + 查验工程交付标准规范白皮书 → + + + \ No newline at end of file diff --git a/public/assets/addons/official/images/banners/banner_matrix.svg b/public/assets/addons/official/images/banners/banner_matrix.svg new file mode 100644 index 0000000..d4dcac2 --- /dev/null +++ b/public/assets/addons/official/images/banners/banner_matrix.svg @@ -0,0 +1,290 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 纳海川 B2B2C 聚合多商户商城控制台 + + + + + 今日实时 GMV 成交额 + ¥ 2,845,920 + + + 有效分销商户数 + 1,480 家 + + + + + + 聚合营销活动实时态势 + + + + 多人拼团裂变专区 (转化率 34.2%) + + + + + + + 阶梯批发批发返利池 (自动清算结算) + + + + + + + 限时整点秒杀 (高并发双向幂等保护) + + + + + + + + + + + + + + + 业财一体多仓进销存 ERP 智能调度 + + + + + + 全国中心总仓 + 18 个 + + + 在库商品批次 + 42,900 批 + + + 自动生成凭证 + 100% 同步 + + + + + + 智能补货预警与批次调拨流向 + + + + + [缺货预警] 贵阳中心仓 02 号库:快消物料安全库存不足,已自动触发采购单 + + + + + + + [调拨完成] 华东总仓 -> 贵阳中心仓:400箱已入库质检,自动对账入库 + + + + + + ● 进销存数据直通财务总账系统,无缝对接用友、金蝶标准科目字典 + + + + + + + + + + + + + + + + + + + + + 纳海川智能商业收银系统 (POS Pro v5.0) · 离线记账模式正常 + + ● 断网可用 + + + + + 现萃特调茶 + ¥ 18.00 + + + 招牌手作烘焙 + ¥ 28.00 + + + 企业定制套餐 + ¥ 128.00 + + + + 冷萃咖啡 + ¥ 22.00 + + + 会员储值充赠 + 充500送50 + + + 加项外带袋 + ¥ 2.00 + + + + 挂单 (2) · 整单折扣 9折 · 优惠券 + + + + + + 当前待结单 #0082 + + + 现萃特调茶 x 2 + ¥ 36.00 + + 企业定制套餐 x 1 + ¥ 128.00 + + 特权会员优惠 + - ¥ 16.00 + + + 应收总计: + ¥ 148.00 + + + + 扫码智能收款 + + + + + + + + + 纳海川智能聚合支付 + + + + + + + + + + + + + + + + + + + + + + + + + 请使用 微信/支付宝/云闪付 扫码 + ¥ 148.00 + + + + + + + + + + + 云原生多租户 SaaS 架构运行态势 (Cloud-Native Multi-Tenant Architecture) + + + + + + Tenant-01 (大型集团) + 独立库物理隔离 + ● 响应 12ms + 配额使用: 48% + + + Tenant-02 (连锁餐饮) + 独立库物理隔离 + ● 响应 16ms + 配额使用: 65% + + + Tenant-03 (快消商贸) + 独立库物理隔离 + ● 响应 14ms + 配额使用: 52% + + + + 新增租户接入 + 1 分钟全自动开通 + 按需订阅 / 源码买断 + 即刻咨询 → + + + + + + + 纳海川产品体系:成熟业务闭环 · 既可开箱即用公有云/私有化,亦可基于完整源码深度二次开发定制 + + + + \ No newline at end of file diff --git a/tests/generate_vivid_banners.py b/tests/generate_vivid_banners.py new file mode 100644 index 0000000..b0904d1 --- /dev/null +++ b/tests/generate_vivid_banners.py @@ -0,0 +1,1100 @@ +# -*- coding: utf-8 -*- +""" +生成鲜明、高级、严谨商务的现代化轮播大图 (Generate Vivid Banner Showcases) +严格遵循:现代中式浅色专业风、高饱和鲜明科技蓝 #2563EB、辅助青 #06B6D4、紫 #7C3AED、 +朱红印章 #DC2626、深空沉稳底色 #0F172A / #1E293B,彻底杜绝 AI 味与虚浮浅白! +""" + +import os + +ROOT_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) +BANNER_DIR = os.path.join(ROOT_DIR, "public", "assets", "addons", "official", "images", "banners") +os.makedirs(BANNER_DIR, exist_ok=True) + + +def build_svg_lead(): + """Banner 1: 领航篇 - 企业级软件定制开发 · 数字化技术中台与自主可控系统""" + return ''' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 纳海川企业数字化技术中台 · 生产集群实时监控 (Production v4.2) + + + + + ● 集群健康率 100% + + + + + API 网关吞吐与 QPS 负载 + 延迟 14ms + + + 128,450 + 峰值 QPS + +18.5% + 环比昨日 + + + + + + + + + 00:00 + 08:00 + 14:00 + 22:00 + + + + + + 微服务集群调用拓扑星图 + 正常 (5/5) + + + + + + + + + + + + + API-Gateway + 流量分发枢纽 + + + + Auth-Svc + 99.99% + + + + Order-Svc + 24 实例 + + + + Payment + 双向幂等 + + + + MySQL Cluster + 读写分离 1M-4S + + + + Redis Cache + 命中率 99.2% + + + + + + 分布式事务与数据库读写监控 + + + + Master 主库写入负载 + 28.4% + + + + + + Replica 从库读查询分流 + 71.6% + + + + + + 主从同步实时延迟 + < 0.8ms + + + + + + 分布式 2PC 事务一次提交成功率 + 100.0% + + + + + + + + + 全链路追踪与容器弹性健康 + + + + + Pod-Node A + CPU 24% + + + Pod-Node B + CPU 31% + + + Pod-Node C + CPU 19% + + + K8s Cluster + Healthy + + + + + + [INFO] 2026-10-09 09:30:12 Gateway route updated: 14 services online + [SUCCESS] Full regression test passed: 32/32 assertions OK + [AUDIT] SonarQube static scan: 0 critical vulnerabilities, 0 bugs + [SYNC] Database dict & architecture ER diagrams synced + + + + + + + + + + + + + 工程规范与自主可控交付承诺 + + + + + 完整源码 + + + + + + + 交付无混淆源码与工程全构建脚本 + 包含前后端所有源码、Git提交历史与 CI/CD 自动化构建配置 + + + + + + + 配套全套数据库字典与架构白皮书 + 全字段中文注释、ER关系拓扑图、接口规范与系统运维手册 + + + + + + + 支持内网机房物理隔离与专有云私有化 + 华为云、阿里云或本地服务器集群合规部署,数据资产企业独享 + + + + + + 查验工程交付标准规范白皮书 → + + +''' + + +def build_svg_craft(): + """Banner 2: 定制篇 - 按需定制开发 · 源码完整移交 · 原生APP与微信小程序全生态""" + return ''' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 纳海川全渠道业务协同调度中台 (Web Admin Console) + + + + + + + 经营看板 + + 全端订单中枢 + 商品与库存中心 + 多级分销结算 + 接口 API 监控 + 系统安全设置 + + + + + + + + 今日全端实收流水 + ¥ 1,842,650 + + + + 全渠道订单笔数 + 38,912 笔 + + + + 移动端在线活跃 + 98.6% + + + + + + 三端订单流量分布趋势 (小时级聚合) + + + + App 原生端 + + 微信小程序 + + Web 门户 + + + + + + + + 10:00 + + + + + + 12:00 + + + + + + 16:00 + + + + + + 20:00 + + + + + + 22:00 + + + + + + + + ● WebSocket 实时长连接在线 · 全端数据同步时延 < 20ms · 双向加密传输 + + + + + + + + + + + + + + + + + + + 搜索企业商品、物料或订单编号... + + + + + + + + 企业级专属订货 + 数字化订货与分销系统 + 原生极速体验 · 支持批量导入与极速结算 + + 立即体验 → + + + + + + 采购订货 + + + 扫码盘点 + + + 财务对账 + + + 报表中心 + + + + + + + 工业传感器主控板 (V3) + 库存: 2,400 件 · 批次: 2609A + ¥ 380.00 + + + + + + 智能网关采集终端 (Pro) + 库存: 850 件 · 现货顺丰包邮 + ¥ 1,290.00 + + + + + + ● 首页 + 分类 + 购物车 + 我的 + + + + + + + + + + + + + 纳海川订货小程序 + + + + + + + + + + 企业分销裂变与快捷核销 + 累计分销返佣已结算: ¥ 284,520 + 免下载安装 · 扫码即开即用 · 微信支付秒结 + + + + + 小程序专享活动 (限时抢购) + + + 企业订购活动已抢 82% + + + + + + 微信快捷授权登录与下单 + + + + + + 全端工程代码审查认证: + 一套中台统一对接 Web、iOS、Android 与微信小程序 + 代码无缝复用 · 研发成本降低 45% + + + + + + +''' + + +def build_svg_agent(): + """Banner 3: 智能篇 - 企业级私域 AI 智能体 · 垂直 RAG 知识库 · 多 Agent 协同""" + return ''' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 纳海川企业私域智能体中枢 (Enterprise Agent Engine v3.5) · 内网隔离模式 + + + + + ● 物理隔离 0公网外发 · GPU 8卡就绪 + + + + + + 业务规章合规初审与智能推理 + + + + + 提审请阅:某省大型项目标书合同第 38 条违约金条款... + 上传附件: 《采购战略合作框架合同.pdf》 (48页) + + + + + + + AI + 智能审校专员 · 审查结论报告 (120ms) + + [合规要点核对完成 · 风险等级: 低] + 1. 违约金约定比例为 30%,超过民法典通常上限保护范围; + 2. 依据集团制度《合规风险防控指南(2026)》第 14 条建议修正; + 3. 知识库溯源置信度: 98.7% (已匹配出处原文段落); + + + + 智能体建议修正条款: + “违约金按逾期未付货款每日万分之三计算,最高不超过标的额 15%” + + + + + + 私有算力与推理引擎性能指标 + + 首 Token 响应时延 (TTFT) + 42 ms + + + + 向量召回准确率 (Top-3) + 99.4% + + + + 数据物理留存: 贵阳本地专有算力中心 · 绝无公网泄露风险 + + + + + + + 私域 RAG 向量数据库多路召回与重排 + + + + + Chunk #1402 · 集团合同法务白皮书(2026版) + 余弦相似度: 0.984 · Dense Vector + BM25 混合索引 + + 已采纳 + + + + + Chunk #0819 · 招标投标风险规避实施细则 + 余弦相似度: 0.941 · 引用判定为辅助参考依据 + + 关联 + + + + + + 高维语义向量空间聚类投影图 (1536-Dim t-SNE) + + + + + + + + + + + + + + 提审合同查询点 + + + + + + + + + + + + 私域知识库已自动完成语义切片、重排 (Rerank) 与高精度引证标注 + + + + + + + + + + + + + + Multi-Agent 多智能体自主编排流 + + + + ● 4 Agents 活跃 + + + + + 1 + 调度中枢 Agent (Planner) + 任务目标拆解、上下文记忆管理与意图识别 + + + + + 2 + 规章检索 Agent (Retriever) + 并发多路检索私域知识库、自动过滤无关切片 + + + + + 3 + 合规推理 Agent (Reasoner) + 深度逻辑比对,标注法规依据与风险处置建议 + + + + + 4 + 终审汇报 Agent (Reporter) + 生成结构化报告、生成修改批注与审批单草稿 + + + + + 预约企业专属智能体 PoC 验证 → + + +''' + + +def build_svg_matrix(): + """Banner 4: 产品矩阵篇 - 商城、智能收银、进销存 ERP、云原生 SaaS""" + return ''' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 纳海川 B2B2C 聚合多商户商城控制台 + + + + + 今日实时 GMV 成交额 + ¥ 2,845,920 + + + 有效分销商户数 + 1,480 家 + + + + + + 聚合营销活动实时态势 + + + + 多人拼团裂变专区 (转化率 34.2%) + + + + + + + 阶梯批发批发返利池 (自动清算结算) + + + + + + + 限时整点秒杀 (高并发双向幂等保护) + + + + + + + + + + + + + + + 业财一体多仓进销存 ERP 智能调度 + + + + + + 全国中心总仓 + 18 个 + + + 在库商品批次 + 42,900 批 + + + 自动生成凭证 + 100% 同步 + + + + + + 智能补货预警与批次调拨流向 + + + + + [缺货预警] 贵阳中心仓 02 号库:快消物料安全库存不足,已自动触发采购单 + + + + + + + [调拨完成] 华东总仓 -> 贵阳中心仓:400箱已入库质检,自动对账入库 + + + + + + ● 进销存数据直通财务总账系统,无缝对接用友、金蝶标准科目字典 + + + + + + + + + + + + + + + + + + + + + 纳海川智能商业收银系统 (POS Pro v5.0) · 离线记账模式正常 + + ● 断网可用 + + + + + 现萃特调茶 + ¥ 18.00 + + + 招牌手作烘焙 + ¥ 28.00 + + + 企业定制套餐 + ¥ 128.00 + + + + 冷萃咖啡 + ¥ 22.00 + + + 会员储值充赠 + 充500送50 + + + 加项外带袋 + ¥ 2.00 + + + + 挂单 (2) · 整单折扣 9折 · 优惠券 + + + + + + 当前待结单 #0082 + + + 现萃特调茶 x 2 + ¥ 36.00 + + 企业定制套餐 x 1 + ¥ 128.00 + + 特权会员优惠 + - ¥ 16.00 + + + 应收总计: + ¥ 148.00 + + + + 扫码智能收款 + + + + + + + + + 纳海川智能聚合支付 + + + + + + + + + + + + + + + + + + + + + + + + + 请使用 微信/支付宝/云闪付 扫码 + ¥ 148.00 + + + + + + + + + + + 云原生多租户 SaaS 架构运行态势 (Cloud-Native Multi-Tenant Architecture) + + + + + + Tenant-01 (大型集团) + 独立库物理隔离 + ● 响应 12ms + 配额使用: 48% + + + Tenant-02 (连锁餐饮) + 独立库物理隔离 + ● 响应 16ms + 配额使用: 65% + + + Tenant-03 (快消商贸) + 独立库物理隔离 + ● 响应 14ms + 配额使用: 52% + + + + 新增租户接入 + 1 分钟全自动开通 + 按需订阅 / 源码买断 + 即刻咨询 → + + + + + + + 纳海川产品体系:成熟业务闭环 · 既可开箱即用公有云/私有化,亦可基于完整源码深度二次开发定制 + + + +''' + + +def generate_all(): + generators = { + "banner_lead.svg": build_svg_lead, + "banner_craft.svg": build_svg_craft, + "banner_agent.svg": build_svg_agent, + "banner_matrix.svg": build_svg_matrix, + } + + for filename, func in generators.items(): + svg_content = func() + target_path = os.path.join(BANNER_DIR, filename) + with open(target_path, "w", encoding="utf-8") as f: + f.write(svg_content) + print(f"Generated {filename}: {len(svg_content)} bytes") + + +if __name__ == "__main__": + generate_all() diff --git a/tests/test_vivid_banners.py b/tests/test_vivid_banners.py new file mode 100644 index 0000000..b4b8361 --- /dev/null +++ b/tests/test_vivid_banners.py @@ -0,0 +1,82 @@ +# -*- coding: utf-8 -*- +""" +测试鲜明轮播图系统 (Test Vivid Banner Carousel System) +验证首屏 4 张轮播图的鲜明度、专业业务实体感、无AI味、CSS通透遮罩以及全端结构完整性。 +""" + +import os +import re +import unittest + +ROOT_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) +BANNER_DIR = os.path.join(ROOT_DIR, "public", "assets", "addons", "official", "images", "banners") +CSS_PATH = os.path.join(ROOT_DIR, "public", "assets", "addons", "official", "css", "modern_nhc.css") +PC_HOME_PATH = os.path.join(ROOT_DIR, "addons", "official", "view", "web", "official_home", "index.html") +M_HOME_PATH = os.path.join(ROOT_DIR, "addons", "official", "view", "web", "official_home", "index_e.html") + + +class VividBannerCarouselTest(unittest.TestCase): + """验证鲜明高质感轮播图组件""" + + def test_01_banner_files_exist_and_non_empty(self): + """1. 验证 4 张核心轮播图资源物理存在且大小合理""" + banners = ["banner_lead", "banner_craft", "banner_agent", "banner_matrix"] + for b in banners: + svg_file = os.path.join(BANNER_DIR, f"{b}.svg") + jpg_file = os.path.join(BANNER_DIR, f"{b}.jpg") + # 必须至少有一种高质感格式存在,且文件大小大于 2KB + exists = False + if os.path.exists(svg_file) and os.path.getsize(svg_file) > 2048: + exists = True + elif os.path.exists(jpg_file) and os.path.getsize(jpg_file) > 2048: + exists = True + self.assertTrue(exists, f"轮播图文件不存在或过小: {b}") + + def test_02_css_gradient_mask_not_obscuring_right_visual(self): + """2. 验证 CSS 渐变遮罩优化:右侧区域必须保持通透,严禁在 50% 处覆盖 >90% 重度白雾""" + with open(CSS_PATH, "r", encoding="utf-8") as f: + css_content = f.read() + + # 检查 4 个 slide 主题 + for i in range(1, 5): + theme_class = f".nhc-slide-theme-{i}" + self.assertIn(theme_class, css_content, f"CSS 中缺少主题定义: {theme_class}") + + # 检查是否去除了原本在 50% 覆盖 0.92 白色的遮罩问题 + # 原写法: rgba(255, 255, 255, 0.92) 50% + # 优化后右侧主体应通透,不再出现 50% 处 0.92 白 + self.assertNotIn("rgba(255, 255, 255, 0.92) 50%", css_content, + "CSS 仍保留 50% 处 92% 重度白色遮罩,导致右侧鲜明视窗被严重冲淡泛白") + + def test_03_banner_rich_content_and_vivid_colors(self): + """3. 验证轮播图包含真实工业级软件要素与鲜明品牌色彩 (科技蓝 #2563EB, 辅助青 #06B6D4, 紫 #7C3AED)""" + svg_banners = { + "banner_lead": ["2563EB", "06B6D4", "QPS", "微服务"], + "banner_craft": ["2563EB", "06B6D4", "小程序", "API"], + "banner_agent": ["7C3AED", "2563EB", "RAG", "Agent"], + "banner_matrix": ["2563EB", "POS", "ERP", "SaaS"] + } + for b, expected_keywords in svg_banners.items(): + svg_file = os.path.join(BANNER_DIR, f"{b}.svg") + if os.path.exists(svg_file): + with open(svg_file, "r", encoding="utf-8") as f: + content = f.read() + for kw in expected_keywords: + self.assertTrue( + kw.lower() in content.lower(), + f"轮播图 {b}.svg 缺少业务要素或鲜明特征词: {kw}" + ) + + def test_04_pc_and_mobile_template_integrity(self): + """4. 验证 PC 与移动端模板幻灯片数量均为 4,包含对应的主题类名""" + for page_path in [PC_HOME_PATH, M_HOME_PATH]: + with open(page_path, "r", encoding="utf-8") as f: + html = f.read() + for i in range(1, 5): + self.assertIn(f"nhc-slide-theme-{i}", html, f"页面缺少主题类 nhc-slide-theme-{i}: {page_path}") + # 必须包含 4 个幻灯片标识 + self.assertEqual(len(re.findall(r'nhc-slide-theme-\d', html)), 4, f"幻灯片数量不等于 4: {page_path}") + + +if __name__ == "__main__": + unittest.main()