首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

TDesign 更新周报(2022 年 4 月第 4 周)

修复 ts 类型错误 Cascader: 修复可过滤状态下的下拉面板拉起闪烁的问题 修复可过滤状态下的输入内容未被正常销毁的问题 Transfer:修复 Transfer 设置 targetSort 后未按预期展示的问题...Tencent/tdesign-vue/releases/tag/0.41.0 Vue3 for Web 发布 0.12.2 版 Bug Fixes Transfer 修复设置 targetSort 后未按预期展示的问题...,drag=sort 表示列拖拽排序,drag=row 表示行拖拽排序,drag=row-handler 表示行手柄列拖拽排序。...存在不兼容更新 Bug Fixes Drawer:修复 header 属性无效问题 Textarea:修复在设置自动高度后,赋值后不高度不改变的问题 DatePicker:修复当传入值为非日期格式的情况页面卡死的问题...Transfer:修复设置 targetSort 后未按预期展示的问题 TreeSelect: 修复 value 渲染异常问题 修复组件在多选时无 v-model 展示异常问题 Upload: 修复上传失败状态流转问题

2.3K40

GraphQL-Calculator 开源:基于指令和表达式实现查询的动态计算

背   景 计算需求概述 GraphQL 作为接口描述语言,可对其治理的数据进行便捷的查询,但真实业务场景除了获取基础数据外,往往还需要对数据进行加工处理,概括如下: 结果字段加工:基础数据进行加工后展示...例如将‘分’单位的数字价格转为‘元’单位的价格文案、使用默认值兜底 null、将状态 code 转换成对应文案等; 列表过滤、排序:通过 id 列表查询出数据详情列表之后,往往需要根据详情信息结果列表进行过滤排序...,例如过滤掉商品列表中在售状态为 false 的商品,将商品按照销量进行排序; 参数处理:参数列表进行过滤,例如过滤掉 itemIdList 中为 0 的 itemId;参数进行转换,例如将 Redis...集合过滤、排序  问题简述 通过 id 列表获取到数据详情集合之后,往往需要根据数据详情集合进行过滤,或者按照指定规则集合进行排序。...GraphQL-calculator 通过 @fetchSource 作为参数的字段进行描述: directive @fetchSource(name: String!

1.1K20

MassCMS With APIJSON最佳实践

与传统的RESTful API不同,GraphQL允许客户端精确地描述其需要的数据。客户端可以发送一个GraphQL查询,指定需要的字段和相关的数据关系,而服务器将返回与查询相匹配的精确数据。...使用查询语言来定义所需的数据结构,可以精确地指定所需的字段和关系。数据过滤和排序支持在请求中使用特定的JSON结构来过滤和排序数据。使用查询语言来指定所需的数据,可以直接在查询语句中进行过滤和排序。...安全性APIJSON支持数据权限控制和访问控制,可以对返回的数据进行过滤和限制。GraphQL可以通过定义查询和变更类型来精确控制数据的访问和修改权限。...GraphQL需要在后端进行相应的实现,对于现有的RESTful API和数据库的兼容性相对较差。...例如,你可以创建文章、产品、页面等不同类型的内容,并为每个类型定义所需的字段。为每个内容类型定义字段,并选择适当的字段类型,如文本、日期、图像等。

50020

如何优雅地扩展GraphQL系统能力

在真实业务场景中,除了获取基础数据外,往往还会有一些对数据进行加工转换和编排控制的需求,例如对数值字段取精或者转换成展示文案、列表字段进行排序过滤去重、根据条件判断是否请求查询中的某些字段、将一个字段的解析结果作为另外一个字段的入参等...2 GraphQL 系统能力扩展实践 本文以 GraphQL Calculator 为例,介绍 GraphQL 系统能力进行扩展的实践。...本文重点讲解查询指令的实现:根据不同的业务场景,查询进行不同的计算。...GraphQL Calculator 参考了常见的编程概念指令进行定义: 字段加工:通过表达式结果字段进行加工转换; 数组处理:结果中的数组字段进行过滤、排序、去重; 参数转换:请求参数进行转换...可在Instrumentation#instrumentDataFetcher中 fetch 阶段的结果进行转换,替换为可进行过滤操作的集合类型。

1.2K20

ORDER BY导致未按预期使用索引

在MySQL中经常出现未按照理想情况使用索引的情况,今天记录一种Order by语句的使用导致未按预期使用索引的情况。 1....从SQL及索引情况来看,使用createDate字段的索引应该会更好才,为验证此情况,使用force index来强制使用createDate索引运行一次查看结果。...1.5 简单分析 从执行计划情况对比来看,使用createDate会进行额外的排序(Using filesort),这个不难理解。...2.3 添加组合索引 将payDate 及createDate 添加为组合索引,但是此举不是一个好办法,执行计划也未按理想情况运行。 3....-------+----------------------------------------------------+ 1 row in set, 3 warnings (0.00 sec) 也按预期的情况正常

2.7K10

GraphQL到底怎么使?看看智联前端团队技术沉淀

中间经历了解除误解,收益疑惑,最初定位疑惑,最终完成利弊权衡的过程。 文章会从解除误解,技术选型,利弊权衡的角度,结合智联招聘的开发现状进行交流分享。...}, updateTime: '2020-04-11' } } 预期数据会返回在 data 中,当有错误时,会出现 errors 字段并按照规范规定的格式展示错误。...执行字段: 确定了选择集的执行顺序后开始真正的字段值的获取,非常简化的讲,Schema 中的类型应该其每个字段提供一个叫做 Resolver 的解析函数用于获取字段的值。...使用 Field Alias(字段别名)进行简单的返回结果字段重命名。 这些都没有什么问题。 但是在 Directives(指令)的支持和使用上,规范和实现是有冲突的。...当前端开发本身就要基于 Node.js 进行 BFF 层开发,团队规范、文档有更高优先级的需求时,可以考虑使用 GraphQL 进行开发。

2.3K20

Rust 和 Wasm 的融合,使用 yew 构建 WebAssembly 标准的 web 前端(2)- 组件和路由

实践目标 在以前的 web 前端开发中,笔者使用 tide + handlebars-rust + graphql_client 技术组合:其中 graphql_client 用于从 GraphQL 服务后端获取...通常的应用模式为,定义一个枚举,其需要进行属性派生 #[derive(Switch, Debug, Clone, PartialEq)]:关键的是 Switch 和 PartialEq。...对于枚举字段,应用属性注解语法 #[to = ""],表示具体的分发路由。...如下定义是无法按照预期执行的,也许愿意测试一下: #[derive(Switch, Debug, Clone, PartialEq)] pub enum Route { #[to = "/"]...如果你未按照上篇 trunk.toml 所介绍的配置,请访问你自定义的端口(默认为 8080)。 点击导航菜单,可以看到页面内容发生了改变,本文的目标已经达成。

1.2K30

【API架构】REST API 行业辩论:OData vs GraphQL vs ORDS

这是 GraphQL 的优势之一,我稍后会介绍。 图 2 在图 2 中,我们完成了要考虑的其他标准的初步分析,并将在以后的文章中扩展这些领域。...因此,您可以通过创建可以调用的函数来进行过滤、排序和连接等操作,但应用程序开发人员必须了解它们在语义上的工作方式才能知道它们的行为是什么。...呈现元数据 图 4 图 4 比较了表面元数据,这是分析和数据管理应用程序的核心,需要以可互操作的方式以编程方式模式进行逆向工程。...GraphQL 通过强制客户端准确指定他们需要哪些字段来解决 API 版本控制和维护问题。API 开发人员可以主动联系已知的字段使用者,以迁移已弃用的字段。响应包括有关哪些字段已弃用的信息。...例子 为了直观地说明使用这些 API 的差异,以下两个代码示例展示了如何在 GraphQL 和 OData 中执行“排序依据”。

2.1K30

解决 GraphQL 的限流难题

虽然更新、删除操作会对服务产生更多负载,但它们在基于请求响应的限流模型里是按一样的资源消耗量进行计算的。 GraphQL 主要解决了动态字段和数据组合的问题。...的 boolean 字段,用来在列表中进行导航。...: 请求消耗是在执行查询前通过 GraphQL 进行静态分析得到的值 实际的查询消耗是通过执行查询得到的值 有时实际的消耗也比静态分析得到的消耗要少一些。...这使得 Shopify 网关层的基础设施能够有效地进行负载预测和横向扩展,并且也给用户提供了稳定的构建 app 的平台。我们还可以检测出那些资源消耗大户,专门对它们进行性能优化。...通过 GraphQL 查询的复杂度计算进行限流,我们得到了比 REST 更可靠的 API client,同时相比 REST 又具备了更优的灵活性,这种 API 模式鼓励用户只请求它们需要的那些数据,使服务器的负载也更加可预期

1.3K20

造轮子之集成GraphQL

GraphQL:客户端可以使用GraphQL查询语言来精确指定需要的数据。客户端发送一个GraphQL查询请求,服务器根据查询的结构和字段来返回相应的数据。...GraphQL:客户端可以精确指定需要的数据,避免了不必要的数据传输。客户端可以在一个请求中获取多个资源,并且可以根据需要进行字段选择、过滤、排序等操作,从而提高数据获取效率。...GraphQLGraphQL中没有显式的版本控制机制,而是通过向现有的类型和字段添加新的字段来扩展现有的API。这样可以避免创建多个不同版本的API。...GraphQL:客户端可以使用GraphQL的强类型系统和自动生成的代码工具来进行开发。客户端可以根据GraphQL的模式自动生成类型定义和查询代码,提供了更好的开发体验和类型安全性。...只不过一些排序分页逻辑我们没有采用GraphQL的方式,而是使用我们自己的WebApi分页查询的模式。

23010

GraphQL在现代Web应用中的应用与优势

查询结构:字段和参数查询结构由字段和参数组成。在上面的查询示例中,user是字段,id和email是user字段的子字段。参数如id: 1用于定制查询。4....首先,假设我们定义了一个@auth指令,用于限制某些字段的访问,要求用户必须登录。...复杂查询优化利用GraphQL字段解析器和数据加载器进行性能优化。...减少错误:客户端定义查询结构,服务器返回预期的形状,降低了由于接口不匹配导致的错误。更好的API设计:强类型系统确保了数据的一致性和正确性,使得API更加易于理解和维护。...缓存优化:客户端可以根据返回的数据结构更容易地进行缓存策略的实施。减少后端复杂性:后端不再需要为了适应不同客户端的需求而创建多个API端点。

6110

安全地将 Netflix 迁移到 GraphQL

我们还可以通过联合指令将 GraphQL Shim 的字段实现与 Video API 进行交换。为了安全地启动第二阶段,我们使用了 Replay 测试和 Sticky Canaries。...我们知道我们可以使用相同的查询和相同的输入进行测试,并始终期望得到相同的结果。 对于请求非幂等字段GraphQL 查询或变更,我们无法进行 Replay 测试。...具有 @override 指令的相同字段的存在告知 GraphQL 网关将此字段的解析路由到新的 Video Service,而不是旧的 Shim Service。...我们还注意到了本地化、日期精度和浮点数精度的差异。这让我们复制的业务逻辑充满信心,其中订阅计划和用户地理位置确定了客户的目录可用性。 优势 两种 GraphQL 实现之间的一致性充满信心。...在 Netflix,我们开发了一些工具,确保每个特定的测试用例进行迁移的信心。我们介绍了 AB 测试、Replay 测试和 Sticky Canary 这三个用于 GraphQL 迁移的工具。

13830

GraphQL及元数据驱动架构在后端BFF中的实践

排序过滤逻辑差异:比如同样是团单列表,A场景按照销量倒排序,B场景按照价格排序,不同场景的排序逻辑不同。 诸如此类的展示逻辑的差异性还有很多。...基于这两点考虑,颗粒度的定义如下: 取数单元:尽量只封装1个外部数据源,同时负责对外部数据源返回的模型进行简化,这部分生成的模型我们称之为取数模型。 展示单元:尽量只封装1个展示字段的加工逻辑。...元数据:描述业务功能(如:展示单元、取数单元)以及业务功能之间的关联关系,比如展示单元依赖的数据,展示单元映射的展示字段等。 执行引擎:负责消费元数据,并基于元数据业务逻辑进行调度和执行。...由此,我们查询接口进行了标准化,业务开发同学基于场景判断是那种,按需选择使用即可,取数接口标准化设计如下: ?...我们在GraphQL实践过程中遇到的问题及解决思路。 新架构研发模式产生的影响呈现。

1.6K50

GraphQL入门之分页查询

前一篇文章讲了怎么创建 GraphQL 的查询操作,今天在此基础上看看要实现一个简单的分页查询应该怎么做,顺便可以介绍一下 GraphQL 里的枚举类型和查询参数应该怎么用。...创建 schema.graphql 文件,内容如下: type User { id: ID!...limit: Int = 10 ): [User] } schema 文件主要包括: 定义类型:定义了一个User类型,包括 id, name 和 email 属性;定义了两个枚举类型,分别表示排序字段排序类型...定义查询操作:定义了一个列表查询操作,支持按指定字段和类型排序,并支持分页查询。...console.log(` Server ready at ${data.url}`); }); 测试 启动服务 node server.js 服务启动后,访问 http://localhost:4000 进行测试

11710
领券