自适应卡片
自适应卡片是开发者以通用和一致方式交换内容的新方法。立即开始将自适应卡片应用于Microsoft Teams、Outlook可操作消息、Cortana技能或Windows时间线,或通过使用我们的SDK在您自己的应用程序中呈现卡片。
深入了解
安装和构建
自适应卡片旨在在您的用户所在的任何地方呈现。以下原生平台渲染器目前正在开发中。
注:最新构建状态是针对main
分支的。
平台 | 最新版本 | 源代码 | 文档 | 最新构建状态 |
---|---|---|---|---|
JavaScript | 源代码 | 文档 | ||
.NET | 源代码 | 文档 | ||
.NET WPF | 源代码 | 文档 | ||
.NET HTML | 源代码 | 文档 | ||
Windows UWP | 源代码 | 文档 | ||
Android | 源代码 | 文档 | ||
iOS | 源代码 | 文档 | ||
卡片设计器 | 源代码 | 文档 |
发布计划
我们在每月的第三周发布Adaptive Cards产品,前提是有更新。请查看下表了解最近和即将到来的发布日期。
产品 | 上次发布日期 | 下次发布日期 |
---|---|---|
网站 | 2024年4月4日 | 2024年5月29日 |
设计器 | 2024年5月1日 | 2024年6月17日 |
JavaScript渲染器 | 2024年5月23日 | 2024年6月17日 |
JavaScript渲染器测试版 | 2023年4月9日 | - |
JavaScript模板 | 2022年9月16日 | 2024年6月17日 |
XAML渲染器 | 2024年2月2日 | 2024年3月2日 |
XAML对象模型 | 2024年2月2日 | 2024年3月2日 |
WinUI 3渲染器 | 2024年2月2日 | 2024年3月2日 |
WinUI 3对象模型 | 2024年2月2日 | 2024年3月2日 |
C++/WinRT模板 | 2024年2月2日 | 2024年3月2日 |
C#/WinRT模板 | 2024年2月2日 | 2024年3月2日 |
.NET渲染器 | 2022年12月1日 | 2023年7月17日 |
.NET模板 | 2023年3月7日 | 2023年7月17日 |
**注意:**这些发布日期可能会根据每个产品的可用性和活跃开发情况而变更。
代码格式
我们要求本项目中的C++代码遵循clang-format。如果你修改了它们,请确保你修改的文件格式正确。
请确保使用clang-format 12.0.0及以上版本。
IDE集成
ClangFormat描述了一套基于LibFormat构建的工具。它可以通过多种方式支持你的工作流程,包括独立工具和编辑器集成。详情请参阅https://clang.llvm.org/docs/ClangFormat.html
使用脚本格式化
提供了两个脚本来帮助你格式化文件。
-
仅限Windows用户:使用FormatSource.ps1。此脚本使用Visual Studio默认内置的clang-format.exe。
在项目根目录下执行以下命令
PowerShell.exe -ExecutionPolicy Bypass scripts\FormatSource.ps1 -ModifiedOnly $False
如果是首次运行脚本,请确保输出中的clang-format版本为12.0.0或以上。否则,你可能需要升级Visual Studio或使用自己的clang-format二进制文件。
[clang-format] 版本是:
clang-format version 12.0.0
-
Windows和MAC用户均可:使用clang-format npmjs包
在source/nodejs目录下执行以下命令
npm run format
请确保先运行npm install
。
使用Git预提交钩子
git预提交钩子
是一个可选过程。当你运行git commit
时,它会自动进行格式检查,并在检测到错误时自动修复格式。
首先确保你的开发环境中已安装clang-format二进制文件。 然后修改scripts/hooks/pre-commit,确保clangFormat指向正确的路径。 最后设置git钩子。
设置钩子有两种方法:
- 将
scripts/hooks/pre-commit
复制到.git/hooks
git config --local core.hooksPath scripts/hooks
我们二进制包的最终用户许可协议
使用AdaptiveCards二进制包需遵守Microsoft EULA(最终用户许可协议)。请参阅以下相关条款:
注意:本仓库中提供的所有源代码以及我们的NPM包仍然受开源MIT许可证管理。
社区SDK
以下SDK由Adaptive Cards社区精心维护。衷心感谢他们的贡献!🎉
平台 | 安装 | 仓库 | 维护者 |
---|---|---|---|
ReactNative | GitHub | BigThinkCode | |
Pic2Card | GitHub | BigThinkCode | |
Vue.js | GitHub | Tim Cadenbach |
贡献
有多种方式可以为Adaptive Cards贡献。
- 提交bug并帮助我们验证修复。
- 审查源代码更改。
- 在StackOverflow上与Adaptive Cards用户和开发者交流。
- 加入Twitter上的#adaptivecards讨论。
- 贡献bug修复。
本项目采用了Microsoft开源行为准则。更多信息请参见行为准则常见问题或联系opencode@microsoft.com获取任何其他问题或意见。
支持的功能
功能 | 架构版本 | 平台 | 解析 | 渲染 |
---|---|---|---|---|
Action.OpenUrl | v1.0 | 全部 | :white_check_mark: | :white_check_mark: |
Action.ShowCard | v1.0 | 全部 | :white_check_mark: | :white_check_mark: |
Action.Submit | v1.0 | 全部 | :white_check_mark: | :white_check_mark: |
Column | v1.0 | 全部 | :white_check_mark: | :white_check_mark: |
ColumnSet | v1.0 | 全部 | :white_check_mark: | :white_check_mark: |
Container | v1.0 | 全部 | :white_check_mark: | :white_check_mark: |
Fact | v1.0 | 全部 | :white_check_mark: | :white_check_mark: |
FactSet | v1.0 | 全部 | :white_check_mark: | :white_check_mark: |
Image | v1.0 | 全部 | :white_check_mark: | :white_check_mark: |
ImageSet | v1.0 | 全部 | :white_check_mark: | :white_check_mark: |
Input.ChoiceSet | v1.0 | 全部 | :white_check_mark: | :white_check_mark: |
Input.Date | v1.0 | 全部 | :white_check_mark: | :white_check_mark: |
Input.Number | v1.0 | 全部 | :white_check_mark: | :white_check_mark: |
Input.Text | v1.0 | 全部 | :white_check_mark: | :white_check_mark: |
Input.Time | v1.0 | 全部 | :white_check_mark: | :white_check_mark: |
Input.Toggle | v1.0 | 全部 | :white_check_mark: | :white_check_mark: |
SelectAction | v1.0 | 全部 | :white_check_mark: | :white_check_mark: |
TextBlock | v1.0 | 全部 | :white_check_mark: | :white_check_mark: |
显式图像尺寸 | v1.1 | 全部 | :white_check_mark: | :white_check_mark: |
背景颜色 | v1.1 | 全部 | :white_check_mark: | :white_check_mark: |
垂直内容对齐 | v1.1 | 全部 | :white_check_mark: | :white_check_mark: |
操作图标 | v1.1 | 全部 | :white_check_mark: | :white_check_mark: |
操作样式 | v1.2 | 全部 | :white_check_mark: | :white_check_mark: |
切换可见性 | v1.2 | 全部 | :white_check_mark: | :white_check_mark: |
ActionSet | v1.2 | 全部 | :white_check_mark: | :white_check_mark: |
回退 | v1.2 | 全部 | :white_check_mark: | :white_check_mark: |
容器背景图片 | v1.2 | 全部 | :white_check_mark: | :white_check_mark: |
容器最小高度 | v1.2 | 全部 | :white_check_mark: | :white_check_mark: |
容器溢出 | v1.2 | 全部 | :white_check_mark: | :white_check_mark: |
容器样式 | v1.2 | 全部 | :white_check_mark: | :white_check_mark: |
图像数据 Uri | v1.2 | 全部 | :white_check_mark: | :white_check_mark: |
操作图标数据 Uri | v1.2 | 全部 | :white_check_mark: | :white_check_mark: |
Input.Text 内联操作 | v1.2 | 全部 | :white_check_mark: | :white_check_mark: |
TextBlock 字体类型 | v1.2 | 全部 | :white_check_mark: | :white_check_mark: |
RichTextBlock | v1.2 | 全部 | :white_check_mark: | :white_check_mark: |
输入标签 | v1.3 | 全部 | :white_check_mark: | :white_check_mark: |
输入错误信息 | v1.3 | 全部 | :white_check_mark: | :white_check_mark: |
关联输入 | v1.3 | 全部 | :white_check_mark: | :white_check_mark: |
RichTextBlock 下划线 | v1.3 | 全部 | :white_check_mark: | :white_check_mark: |
Action.Refresh | v1.4 | 全部 | :white_check_mark: | :white_check_mark: |
自适应卡片认证 | v1.4 | 全部 | :white_check_mark: | :white_check_mark: |
Action.Execute | v1.4 | 全部 | :white_check_mark: | :white_check_mark: |
操作是否启用 | v1.5 | JS | :white_check_mark: | :white_check_mark: |
操作是否启用 | v1.5 | iOS | :white_check_mark: | :white_check_mark: |
操作是否启用 | v1.5 | Android | :white_check_mark: | :white_check_mark: |
操作是否启用 | v1.5 | XAML | :white_check_mark: | :white_check_mark: |
操作是否启用 | v1.5 | .NET | :white_check_mark: | :x: |
操作模式 | v1.5 | JS | :white_check_mark: | :white_check_mark: |
操作模式 | v1.5 | iOS | :white_check_mark: | :white_check_mark: |
操作模式 | v1.5 | Android | :white_check_mark: | :white_check_mark: |
操作模式 | v1.5 | XAML | :white_check_mark: | :white_check_mark: |
操作模式 | v1.5 | .NET | :white_check_mark: | :x: |
操作/选择操作工具提示 | v1.5 | JS | :white_check_mark: | :white_check_mark: |
操作/选择操作工具提示 | v1.5 | iOS | :white_check_mark: | :white_check_mark: |
操作/选择操作工具提示 | v1.5 | Android | :white_check_mark: | :white_check_mark: |
操作/选择操作工具提示 | v1.5 | XAML | :white_check_mark: | :white_check_mark: |
操作/选择操作工具提示 | v1.5 | .NET | :white_check_mark: | :x: |
Input.ChoiceSet 过滤样式 | v1.5 | JS | :white_check_mark: | :white_check_mark: |
Input.ChoiceSet 过滤样式 | v1.5 | iOS | :white_check_mark: | :white_check_mark: |
Input.ChoiceSet 过滤样式 | v1.5 | Android | :white_check_mark: | :white_check_mark: |
Input.ChoiceSet 过滤样式 | v1.5 | XAML | :white_check_mark: | :white_check_mark: |
Input.ChoiceSet 过滤样式 | v1.5 | .NET | :white_check_mark: | :x: |
Input.Text 密码样式 | v1.5 | JS | :white_check_mark: | :white_check_mark: |
Input.Text 密码样式 | v1.5 | iOS | :white_check_mark: | :white_check_mark: |
Input.Text 密码样式 | v1.5 | Android | :white_check_mark: | :white_check_mark: |
Input.Text 密码样式 | v1.5 | XAML | :white_check_mark: | :white_check_mark: |
Input.Text 密码样式 | v1.5 | .NET | :white_check_mark: | :x: |
TextBlock 标题样式 | v1.5 | JS | :white_check_mark: | :white_check_mark: |
TextBlock 标题样式 | v1.5 | iOS | :white_check_mark: | :white_check_mark: |
TextBlock 标题样式 | v1.5 | Android | :white_check_mark: | :white_check_mark: |
TextBlock 标题样式 | v1.5 | XAML | :white_check_mark: | :white_check_mark: |
TextBlock 标题样式 | v1.5 | .NET | :white_check_mark: | :x: |
RTL | v1.5 | JS | :white_check_mark: | :white_check_mark: |
RTL | v1.5 | iOS | :white_check_mark: | :white_check_mark: |
RTL | v1.5 | Android | :white_check_mark: | :white_check_mark: |
RTL | v1.5 | XAML | :white_check_mark: | :white_check_mark: |
RTL | v1.5 | .NET | :white_check_mark: | :x: |
表格 | v1.5 | JS | :white_check_mark: | :white_check_mark: |
表格 | v1.5 | iOS | :white_check_mark: | :white_check_mark: |
表格 | v1.5 | Android | :white_check_mark: | :white_check_mark: |
表格 | v1.5 | XAML | :white_check_mark: | :white_check_mark: |
表格 | v1.5 | .NET | :white_check_mark: | :x: |
轮播 | v1.6 | JS | :white_check_mark: | :white_check_mark: |
轮播 | v1.6 | iOS | :x: | :x: |
轮播 | v1.6 | Android | :x: | :x: |
轮播 | v1.6 | XAML | :x: | :x: |
轮播 | v1.6 | .NET | :x: | :x: |
ImageSet 堆叠展示样式 | v1.6 | JS | :white_check_mark: | :white_check_mark: |
ImageSet 堆叠展示样式 | v1.6 | iOS | :x: | :x: |
ImageSet 堆叠展示样式 | v1.6 | Android | :x: | :x: |
ImageSet 堆叠展示样式 | v1.6 | XAML | :x: | :x: |
ImageSet 堆叠展示样式 | v1.6 | .NET | :x: | :x: |
动态预输入搜索 | v1.6 | JS | :x: | :x: |
动态预输入搜索 | v1.6 | iOS | :white_check_mark: | :x: |
动态预输入搜索 | v1.6 | Android | :white_check_mark: | :x: |
动态预输入搜索 | v1.6 | XAML | :x: | :x: |
动态预输入搜索 | v1.6 | .NET | :x: | :x: |
标签位置 | v1.6 | JS | :x: | :x: |
标签位置 | v1.6 | iOS | :x: | :x: |
标签位置 | v1.6 | Android | :x: | :x: |
标签位置 | v1.6 | XAML | :x: | :x: |
标签位置 | v1.6 | .NET | :x: | :x: |
内联可编辑输入样式 | v1.6 | JS | :x: | :x: |
内联可编辑输入样式 | v1.6 | iOS | :x: | :x: |
内联可编辑输入样式 | v1.6 | Android | :x: | :x: |
内联可编辑输入样式 | v1.6 | XAML | :x: | :x: |
内联可编辑输入样式 | v1.6 | .NET | :x: | :x: |