UniApp NVue CSS兼容性:升级后样式警告的完整解决方案
1. 项目概述当UniApp升级撞上NVue的CSS“铁壁”最近在维护一个历史悠久的UniApp项目时我遇到了一个典型的“升级后遗症”。在将HBuilderX和对应的uni-app编译器升级到较新版本后项目一运行到App端控制台就开始疯狂刷出红色警告“nvue中不支持如下css。如全局或公共样式受影响建议将告警样式写在ifdef APP-PLUS-NVUE的条件编译中”。这个报错对于深度使用nvue页面或混用vue与nvue的开发者来说几乎是一个必经之坎。它背后牵扯到的是UniApp在追求高性能与跨平台一致性之间所做的架构权衡以及开发者如何在这种约束下优雅地编写样式。简单来说nvue是UniApp为App端提供的一种原生渲染模式。它并非使用WebView渲染而是通过原生控件在iOS上是UIKit在Android上是Native组件来绘制界面因此能获得近乎原生应用的流畅体验。然而这种高性能的代价就是它必须遵循原生开发的规则其中最重要的一条就是它不支持完整的CSS。UniApp的nvue页面使用了一套名为Weex的渲染引擎的样式子集这套样式规则与我们在Web开发或vue页面中熟悉的CSS有显著差异。当项目升级后编译器对样式兼容性的检查变得更加严格以往可能被忽略或默默不生效的非法CSS属性现在会被明确地警告出来。这个问题直接影响两类开发者一是整个项目或部分页面使用nvue开发的二是在vue项目中通过uni.scss或公共组件引入了某些全局样式这些样式在nvue页面中被引用时触发了警告。如果不处理虽然应用可能不会立即崩溃但会导致nvue页面的渲染出现不可预期的表现比如样式完全失效或错乱更会在调试时被大量的警告信息干扰。接下来我将彻底拆解这个问题的成因并提供一套从诊断、修复到预防的完整实操方案。2. 核心问题拆解为什么NVue对CSS说“不”要解决这个报错首先得理解其根源。这不仅仅是某个属性不支持那么简单而是两套渲染体系根本性差异的体现。2.1 NVue的渲染原理与样式约束nvue的渲染路径是开发者编写vue语法经过特定约束 - 编译器打包 - 在App端由原生引擎解析并直接调用系统原生组件绘制。这个过程完全跳过了浏览器引擎如WebKit。因此它支持的样式属性本质上是原生控件能够接收并处理的属性映射。这与vue页面或H5的渲染有本质区别vue页面最终是在WebView里运行的它拥有一个完整的、支持CSS3的浏览器渲染引擎。你可以使用浮动(float)、复杂的CSS选择器、盒阴影(box-shadow)、滤镜(filter)等丰富特性。而这些在原生控件世界里要么不存在对应概念要么实现成本极高、性能损耗大。UniApp对nvue的样式支持做了明确的取舍目标保障滚动、动画、长列表等核心交互的绝对流畅性。手段牺牲部分CSS的灵活性和丰富性换取样式计算与布局的直接、高效。结果形成了一份有限的、但确定性极高的“样式白名单”。2.2 常见的不支持CSS属性与特性清单根据官方文档和实际踩坑经验以下是一些在nvue中常见但不支持的CSS特性它们正是触发警告的“重灾区”盒模型相关box-shadow原生控件通常不直接支持阴影需通过背景图或其他方式模拟。border的复杂样式如border: 1px dashed #ccc;nvue对dashed/dotted等虚线、点线支持度很差通常只支持solid实线。border-radius同时设置四个不同值如border-radius: 10px 20px 30px 40px;可能不支持通常建议四个角统一值。定位与布局position: fixed在部分nvue页面架构中fixed定位行为可能与Web不一致或不受支持。滚动容器内的元素定位需谨慎。float浮动布局不被支持必须使用Flexbox布局。display属性值仅支持flex、none。display: block/inline-block/inline/grid等均不支持。这是新手最容易犯错的地方任何非flex的display设置都会导致警告。背景与渐变多重背景background: url(a.png), url(b.png)不支持。CSS线性渐变linear-gradient这是一个大坑虽然部分版本或特定环境下可能看似生效但官方文档明确将其列为不支持或支持度不佳的属性。使用后极易导致页面渲染异常或空白。background的简写形式建议将background-color、background-image等属性分开写避免使用简写引发解析问题。字体与文本font-family支持度有限通常只能使用系统默认字体或有限的几个安全字体。text-shadow文本阴影不支持。white-space部分值如pre-wrap可能不支持。变换与动画transform的某些函数如skew()斜切支持度不佳。复杂的keyframes动画支持度有限建议使用简单的transition或使用BindingX等原生动画方案。选择器兄弟选择器~,、属性选择器[attrvalue]、伪类如:nth-child的复杂表达式等支持度极低或完全不支持。nvue中基本只能使用类选择器.class和ID选择器#id并且不建议使用嵌套过深的选择器。实操心得不要依赖“好像能用”的经验。很多CSS在vue页面和nvue页面的模拟器上看起来效果相似但在真机、特别是低端安卓机上不支持的属性会导致严重的渲染错误。最可靠的方法是严格查阅对应UniApp版本的官方文档中关于nvue样式支持的章节。2.3 条件编译APP-PLUS-NVUE 的角色UniApp提供了强大的条件编译语法来解决不同平台间的代码差异问题。APP-PLUS-NVUE就是一个特定的条件编译标记它只在App平台且当前页面为nvue页面时生效。其语法如下/* 在 style 标签中 */ style /* 所有平台都生效的样式 */ .common-class { color: #333; } /* #ifdef APP-PLUS-NVUE */ /* 仅在 App 的 nvue 页面生效的样式 */ .nvue-specific { /* 这里写仅适用于 nvue 的样式或者覆盖掉不支持属性的样式 */ box-shadow: none; /* 例如在 nvue 中移除阴影 */ } /* #endif */ /* #ifndef APP-PLUS-NVUE */ /* 在非 App nvue 页面如 vue页面、H5、小程序生效的样式 */ .non-nvue-specific { box-shadow: 0 2px 6px rgba(0,0,0,0.1); /* 在其他平台使用阴影 */ } /* #endif */ /style报错信息建议将告警样式写在ifdef APP-PLUS-NVUE的条件编译中其深层含义是让你有机会为nvue环境提供一套降级或替代的样式方案从而隔离不兼容的CSS代码。3. 系统性诊断与修复方案面对满屏的警告盲目添加条件编译是低效的。我们需要一个系统性的方法来定位和修复问题。3.1 第一步精准定位问题源头警告信息通常会指出是哪个文件、哪一行、哪个CSS属性出了问题。例如pages/index/index.nvue:15: box-shadow is not supported in nvue。检查报错文件类型首先看报错的文件是.nvue文件还是.vue文件如果是.vue文件报错说明这个vue文件可能在App端被当作页面使用但其样式被nvue页面间接引用通过全局样式时触发了检查。区分全局样式与页面样式全局样式主要指App.vue中的style、项目根目录的uni.scss、以及通过import引入的公共样式文件如common/uni.css。这些样式对所有页面生效是nvue警告的常见来源。页面/组件样式单个.nvue或.vue文件中的style标签。使用编译器的详细日志在HBuilderX中可以尝试在运行菜单选择“运行时是否压缩代码”为“否”并开启更详细的日志输出有时能获得更清晰的线索。3.2 第二步分场景修复策略根据问题源头我们有不同的修复策略。场景一样式仅存在于特定的.nvue页面中这是最简单的情况。直接打开该.nvue文件找到警告指出的CSS属性进行修改或移除。修改用nvue支持的属性替代。例如将display: inline-block改为display: flex并配合flex-direction: row来模拟行内块布局。将box-shadow移除或通过加一个带阴影的底部view来模拟性能较差慎用。移除如果该样式属性非必需或只在Web端需要直接删除。场景二问题样式存在于公共样式文件或uni.scss中被所有页面引用这是最棘手也最常见的情况。例如你在uni.scss里定义了一个全局类.card { border-radius: 8px; box-shadow: 0 2px 12px rgba(0,0,0,.1); /* 这行在nvue中会报错 */ background-color: #fff; padding: 20rpx; }这个.card类在vue页面中完美工作但在任何一个nvue页面中使用都会触发警告。修复方案A条件编译隔离推荐将公共样式文件中涉及不兼容属性的部分用条件编译包裹为nvue提供降级样式。/* uni.scss */ .card { border-radius: 8px; background-color: #fff; padding: 20rpx; /* #ifndef APP-PLUS-NVUE */ /* 在非App-nvue环境vue、H5、小程序使用阴影 */ box-shadow: 0 2px 12px rgba(0,0,0,.1); /* #endif */ /* #ifdef APP-PLUS-NVUE */ /* 在App-nvue环境用border模拟阴影效果或直接不加 */ border: 1px solid #f0f0f0; /* #endif */ }修复方案B创建独立的NVue样式文件如果全局样式中不兼容的属性非常多重构uni.scss会很痛苦。可以创建一个专门用于nvue的全局样式文件例如nvue-common.scss在其中用nvue支持的语法重写一套样式。然后在App.nvue如果存在或每个nvue页面的style标签中单独引入这个文件。// nvue-common.scss .nv-card { border-radius: 8px; background-color: #fff; padding: 20rpx; border: 1px solid #f0f0f0; /* 替代阴影 */ }在nvue页面中使用.nv-card替代原来的.card。修复方案C组件级样式覆盖如果公共样式影响范围不大可以在具体的nvue页面中使用更高优先级的样式去覆盖掉不支持的属性。!-- pages/my.nvue -- template view classcard custom-nv-card.../view /template style .custom-nv-card { box-shadow: none; /* 覆盖掉全局样式中的 box-shadow */ /* 可以添加其他nvue友好的样式 */ } /style场景三第三方组件库或UI框架的样式冲突如果你使用了像uView、uni-ui等组件库需要确认其版本是否与你当前的UniApp编译器版本兼容。一些组件库可能会在内部样式里使用了nvue不支持的CSS。解决方案升级组件库到最新版通常新版会修复此类兼容性问题。如果问题依旧可以查阅该组件库的文档看是否有针对nvue的特别说明或专用版本。必要时可以手动修改从node_modules中引入的组件样式不推荐升级会覆盖或向组件库作者提Issue。3.3 第三步修复后的验证与测试修复完成后不能仅看警告是否消失。清除编译缓存在HBuilderX中点击菜单栏的“运行” - “清理项目缓存并重新运行”。旧的编译缓存可能导致修改不生效。真机测试务必在iOS和Android真机上测试修复后的nvue页面。模拟器的渲染行为有时与真机有差异特别是安卓机型碎片化严重。样式回归测试检查在vue页面、H5、小程序端你的条件编译是否意外地破坏了这些平台的原有样式。确保“条件编译”的条件书写正确#ifdef和#ifndef。4. 高级技巧与最佳实践处理这类兼容性问题除了“救火”更应建立“防火”机制从项目架构上减少问题发生。4.1 建立跨平台样式规范核心原则Flexbox布局优先从一开始就训练自己和团队使用Flexbox进行所有布局。这不仅是为了兼容nvue其本身也是一种更现代、更强大的布局模型。在vue/H5中同样工作良好。定义“安全样式子集”在团队内部维护一份nvue和vue共通的“安全CSS属性清单”。例如color,font-size,background-color,margin,padding,border(仅solid),border-radius(统一值),width/height,flex相关属性等。新写样式时优先使用这份清单内的属性。将平台特异性样式抽象为Mixin利用SCSS等预处理器的Mixin功能将平台差异封装起来。// mixins.scss mixin box-shadow($shadow) { /* #ifndef APP-PLUS-NVUE */ box-shadow: $shadow; /* #endif */ /* #ifdef APP-PLUS-NVUE */ // 在nvue中或许用border模拟或许什么都不做 border: 1px solid #eee; /* #endif */ } // 在组件中使用 .my-element { include box-shadow(0 2px 10px rgba(0,0,0,.1)); }4.2 利用构建工具进行自动化检查进阶对于大型项目可以尝试在构建流程中加入自动化检查。思路编写一个简单的Node.js脚本在编译前扫描项目中的.vue、.nvue和.scss文件使用postcss解析CSS并根据一份nvue不支持属性规则集进行匹配输出警告或错误报告。工具结合husky在git commit前进行检查防止不兼容的代码提交入库。这属于高阶用法需要一定的工程化能力。4.3 关于“原子化CSS”与“UniApp”的思考最近“原子化CSS”如Tailwind CSS很流行但其高度依赖的工具类如.shadow-lg,.grid-cols-3在nvue中很可能大面积失效。如果项目主要目标是App且追求高性能需使用nvue则引入原子化CSS框架需极其谨慎必须逐一验证其生成的CSS属性是否在nvue白名单内。更稳妥的方式是基于nvue支持的属性自己封装一套有限的、安全的工具类库。5. 常见问题排查与避坑指南在实际操作中你可能会遇到一些令人困惑的情况。以下是我总结的常见问题与解决方案。问题现象可能原因排查步骤与解决方案警告已处理但页面样式在nvue中仍异常1. 编译缓存未更新。2. 条件编译语法写错如#ifdef拼写错误。3. 样式优先级被覆盖。4. 使用了nvue支持但行为与Web不一致的属性如flex的默认值。1.清理项目缓存并重新运行。2. 仔细检查条件编译的语法确保是#ifdef APP-PLUS-NVUE或#ifndef APP-PLUS-NVUE。3. 使用开发者工具的“审查元素”功能App端需开启调试查看最终应用到组件上的样式是什么确认是否被其他样式覆盖。4. 复习nvue的Flexbox文档nvue中display: flex的默认方向是column而非Web中的row这常常导致布局错乱。仅在部分安卓机型上报错或样式异常1. 安卓原生渲染引擎的差异。2. 使用了某些在低版本系统上不支持的原生样式映射。1.真机多机型测试是必须的。2. 尽量使用最保守、最基础的样式属性。避免使用可能涉及厂商兼容性的属性。3. 考虑对低端机进行样式降级例如移除圆角、阴影等装饰性样式。从vue页面跳转到nvue页面后全局样式污染了nvue全局样式文件如App.vue的样式在应用启动时加载会对所有页面生效包括nvue。这是最经典的坑。根治方法就是按照3.2节场景二将App.vue和uni.scss等全局样式中的所有不兼容属性用#ifndef APP-PLUS-NVUE条件编译包裹起来。务必系统性地检查这些全局入口文件。升级UniApp版本后原来没警告的样式开始报错新版本编译器增强了nvue样式校验的严格度。这是正常现象说明工具链在进步。按照本文的流程将新报错的属性逐一进行兼容性处理即可。建议关注UniApp官方社区的更新日志了解样式支持度的变化。使用了条件编译但H5和小程序端样式丢失条件编译的条件写反了或者将本应共通的样式也写进了平台特定块中。检查你的#ifdef和#ifndef使用是否正确。记住#ifndef APP-PLUS-NVUE代表“非App NVue环境”通常用来包裹vue/H5/小程序的专属样式。确保各个平台都能拿到它们需要的样式规则。最后一点个人体会处理nvue的CSS兼容性问题本质上是一个“做减法”和“明确边界”的过程。它强迫我们重新思考样式的本质区分哪些是必要的布局和外观哪些是锦上添花的装饰。拥抱这种约束反而能写出更健壮、性能更好的跨端样式。对于新项目如果确定要大量使用nvue不妨在项目初期就采用“nvue安全样式子集”进行开发并为Web端额外补充装饰性样式这比后期从丰富的Web样式向nvue迁移要轻松得多。记住在UniApp的世界里nvue和vue是两种不同的技术路径明确它们的边界并在边界上做好桥梁条件编译是项目顺利演进的关键。

相关新闻

VMware虚拟机安全实测:隔离环境分析整蛊程序与安全沙箱实践

VMware虚拟机安全实测:隔离环境分析整蛊程序与安全沙箱实践

最近在整理一些旧资料时,发现了一个流传已久的、据称来自“浙江温州”的整蛊程序样本。出于对计算机安全教学和虚拟机隔离技术验证的兴趣,我决定在完全隔离的 VMware 虚拟机环境中,对这个传说中的“病毒”进行一次完整的实测与分析。整个过程…

2026/8/18 8:22:00 阅读更多 →
Grok 4.6集成GitHub Copilot:AI编程助手深度推理与长上下文能力实测指南

Grok 4.6集成GitHub Copilot:AI编程助手深度推理与长上下文能力实测指南

这次我们来看一个近期在开发者社区引发关注的技术动态:Grok 4.6 模型与 GitHub Copilot 的集成。这不是一个独立的开源项目,而是一个标志着大型语言模型(LLM)与主流开发工具深度融合的重要事件。对于开发者而言,这意味…

2026/8/18 8:22:00 阅读更多 →
虚拟机安全测试实践:从EICAR到Python繁殖器的原理与行为分析

虚拟机安全测试实践:从EICAR到Python繁殖器的原理与行为分析

最近在安全研究领域,一些用于测试虚拟机隔离性和安全软件检测能力的“概念验证”程序引起了我的兴趣。这类程序通常被称为“测试病毒”或“良性病毒”,它们模拟恶意行为但不会造成实质性破坏,是安全研究人员和爱好者学习系统底层机制、理解恶…

2026/8/18 8:22:00 阅读更多 →

最新新闻

SAM2视频物体跟踪与分割:原理、应用与工程实践深度解析

SAM2视频物体跟踪与分割:原理、应用与工程实践深度解析

上周在测试一个视频处理项目时,我遇到了一个经典难题:如何让模型在视频里稳定地“记住”并跟踪一个物体。比如,我想把一段家庭录像里跑来跑去的小狗精准地抠出来,换一个背景。传统方法要么需要我手动在几十上百帧里反复框选&#…

2026/8/18 9:26:51 阅读更多 →
东华OJ13-17题解析:算法与数据结构实战指南

东华OJ13-17题解析:算法与数据结构实战指南

1. 东华OJ13-17题目解析与实战攻略作为计算机专业学生和编程竞赛选手的经典训练平台,东华OJ的13-17题系列一直以其精巧的设计和适中的难度受到广泛关注。这组题目涵盖了基础算法、数据结构应用和逻辑思维训练等多个维度,特别适合有一定编程基础但尚未接触…

2026/8/18 9:26:51 阅读更多 →
RePKG 从零上手:Wallpaper Engine 的 PKG 解包与 TEX 转 PNG 完整教程

RePKG 从零上手:Wallpaper Engine 的 PKG 解包与 TEX 转 PNG 完整教程

RePKG 从零上手:Wallpaper Engine 的 PKG 解包与 TEX 转 PNG 完整教程 【免费下载链接】repkg Wallpaper engine PKG extractor/TEX to image converter 项目地址: https://gitcode.com/gh_mirrors/re/repkg 喜欢折腾 Wallpaper Engine 壁纸的朋友&#xff0…

2026/8/18 9:26:51 阅读更多 →
大模型工具调用实战:从原理到实现,让AI从聊天到执行任务

大模型工具调用实战:从原理到实现,让AI从聊天到执行任务

1. 从“聊天”到“做事”:大模型工具调用的核心价值 如果你只把大模型当成一个聊天机器人,那可能只用了它10%的潜力。真正让大模型从“能说”变成“能做”的关键,就是 工具调用 。这不仅仅是让模型回答“今天天气怎么样”,而是让…

2026/8/18 9:26:51 阅读更多 →
3步快速提取Wallpaper Engine壁纸资源:开源工具RePKG完整指南

3步快速提取Wallpaper Engine壁纸资源:开源工具RePKG完整指南

3步快速提取Wallpaper Engine壁纸资源:开源工具RePKG完整指南 【免费下载链接】repkg Wallpaper engine PKG extractor/TEX to image converter 项目地址: https://gitcode.com/gh_mirrors/re/repkg 你有没有过这种经历:在 Wallpaper Engine 里看…

2026/8/18 9:26:50 阅读更多 →
基于MCP与事件溯源的AI编程助手本地记忆层架构设计

基于MCP与事件溯源的AI编程助手本地记忆层架构设计

1. 项目概述:为什么我们需要一个“本地优先、事件溯源”的记忆层?最近在折腾AI编程助手(比如Cursor、Claude Code、GPT Engineer这类工具)的朋友,可能都有过类似的体验:项目稍微复杂一点,代码文…

2026/8/18 9:25:50 阅读更多 →

日新闻

告别逐帧截图:用 extract-video-ppt 快速提取视频中的 PPT 并一键导出 PDF

告别逐帧截图:用 extract-video-ppt 快速提取视频中的 PPT 并一键导出 PDF

告别逐帧截图:用 extract-video-ppt 快速提取视频中的 PPT 并一键导出 PDF 【免费下载链接】extract-video-ppt extract the ppt in the video 项目地址: https://gitcode.com/gh_mirrors/ex/extract-video-ppt 如果你还停留在"看网课 不停暂停 截图 …

2026/8/18 0:00:57 阅读更多 →
思源宋体TTF一站式上手:7个字重免费商用,从下载到上线的完整走查

思源宋体TTF一站式上手:7个字重免费商用,从下载到上线的完整走查

思源宋体TTF一站式上手:7个字重免费商用,从下载到上线的完整走查 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 你是不是也经历过这种时刻:设计稿里…

2026/8/18 0:00:58 阅读更多 →
华硕笔记本控制权回收指南:GHelper 如何用一个 10MB 文件替代 Armoury Crate

华硕笔记本控制权回收指南:GHelper 如何用一个 10MB 文件替代 Armoury Crate

华硕笔记本控制权回收指南:GHelper 如何用一个 10MB 文件替代 Armoury Crate 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, …

2026/8/18 0:00:59 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/18 9:15:35 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/18 9:06:28 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/18 9:04:56 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/17 18:54:37 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/17 18:55:16 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/17 18:55:55 阅读更多 →