- 云开发聚合阶段获取对象数组中的对象属性值,「字段路径」中如何使用数组下标?
有类似如下的数据库集合: { _id: 'abc', rating: [ { key: 1, desc: 'xxx', rate: 4, }, { key: 2, desc: 'xxx', rate: 2, }, ] }, { _id: 'def', rating: [ { key: 1, desc: 'xxx', rate: 3, }, { key: 2, desc: 'xxx', rate: 3, }, ] } ... 想要实现的是:分别计算所有数据的 rating 数组中每个对象的 rate 字段的平均值。 预期的聚合语句如下: db.collection('orders').group({ _id: null, rating1: $.avg('$rating.0.rate'), rating2: $.avg('$rating.1.rate'), }).end() 但问题是,字段路径貌似是不支持数组下标的。应该如何解决?
2023-01-26 - TypeScript 开发组件 this.setData 提示类型错误如何解决?
使用 TypeScript 编写组件,在组件中试图使用 this.setData 赋值时出现如下报错。 [图片] 临时解决方案 在《ts开发小程序,组件methods中调用this.setData提示“类型xx上不存在”》这个帖子中查到一个解决方案是:在外部定义一个变量 that,然后在 attached 时将 this 赋值给 that 。 但这个方法的一个问题是:在整个项目中只能使用一次 that 这个变量名(我用的是 _this),不知为何会判定所有文件都在同一个作用域。因此在上图中不得不每个组件定义一个不同的变量名(如:_thisDrawer)。 [图片] 这个方法可以临时解决,但是太麻烦了,而且感觉并没有从本质上解决问题。 更好的解决方案? 小弟理解之所以会出现这个问题,是因为 Component() 类型声明的问题。官方「TypeScript + Sass」模板创建的项目的 typings 目录中已经有很多类型声明,可以利用这些或者自己扩展,单独针对每个组件声明一下类型吗? 刚学习 TypeScript 不是很精通,同样用 TypeScript 开发的大佬们遇到这个问题是怎样解决的,有更优雅的解决方案么?(除了到处都能查到的用 class 扩展的方法。)
2022-12-09 - Web 端调用云开发 SDK 报错:__wxConfig is not defined ?
想要在 Web 端 Vue 项目中使用云开发 SDK 访问云开发中的资源。 按照官方 npm 文档,安装了 npm 包,并且在 Vue 文件中引入,但是报错「__wxConfig is not defined」。请问各路大神改如何解决? [图片][图片]
2022-09-08 - textarea 中英文行高不一致如何解决?
问题 想要实现 textarea 自动增高,但不超过三行,最小一行。设置了固定行号,但中文和英文仍然显示不一致。 中文输入:效果符合预期[图片] 英文输入:行高变少,不符合预期[图片] [图片] 有大佬知道该如何解决吗?
2022-06-23 - "desc" 是小程序的保留字吗,为什么设置为属性名无法使用?
问题 如图,对象的属性字段设为 desc 表现异常,无法正常 push 数组。[图片] [图片] 改为其他名称(加了一个字母 p)即表现正常。[图片] [图片] 这到底是啥原因呢?
2022-06-22 - 如何正常读取 GB2312 编码文件?
目标 读取一个本地 JSON 文件(文件导出自其他网站),使用其中的数据。文件如下图所示: [图片] 实现思路 1. 使用 [代码]wx.chooseMessageFile[代码] 从会话里选择文件; 2. 使用 [代码]wx.cloud.uploadFile[代码] 上传文件; 3. 使用 [代码]wx.cloud.downloadFile[代码] 下载文件; 4. 使用 [代码]wx.getFileSystemManager().readFileSync[代码] 读取文件; 5. 使用 [代码]JSON.parse[代码] 构造对象 ... 所遇问题 问题出在第 4 步。由于导出的 [代码]订单.json[代码] 文件使用的是 GB2312 编码,小程序端读出来的中文全部乱码。[代码]wx.getFileSystemManager().readFileSync[代码] 中的参数无法指定 GB2312 编码,也试了很多其他方法都无效,请问各位老师有什么方法或解决思路吗?感谢。 [图片]
2021-02-13 - Painter 中 canvas 的层级问题
项目中有一个生成带有二维码的分享卡片的需求,选择了使用 Painter 绘制。 其中有一个需求如下图所示:顶部的红色区域固定,[代码]<painter>[代码] 画板可以在 y 轴上滚动,并且位于红色区域下方。 [图片] 但是,给 [代码]<painter>[代码] 设置 [代码]z-index[代码] 无效:在调试器里显示正常,是红色在上,[代码]<painter>[代码] 在下;在真机上 [代码]<painter>[代码] 那个 [代码]canvas[代码] 依然是层级最高的。即便去到 [代码]components/painter/painter.wxml[代码] 改底层的 [代码]<canvas>[代码] 也是如此。 [图片] 甚至,直接在真机调试时手动给 [代码]<canvas>[代码] 设置 [代码]z-index[代码] 也是无效的。 [图片] 最开始以为是 [代码]<canvas>[代码] 原生组件层级最高的问题,后来了解到 [代码]canvas[代码] 已经支持设置 [代码]z-index[代码] ,不是原生组件的问题。请大家看看可能是什么问题。 真机调试时,[代码]<painter>[代码] 不会马上出来,有一段绘制的时间,在调试界面显示的有一个「等待同步 API measureText 调用」。难道和这个有关系吗? [图片] 代码片段地址
2019-06-17 - Canvas 原生组件 z-index 层级问题
需求:想要实现一个类似下图这样的效果: [图片] 黑色区域用的 Painter ,是一个 [代码]<canvas>[代码] ;tabbar 是固定的一块,其中包含一个 [代码]<input>[代码] 和 [代码]<button>[代码] 。希望黑色区域能在 tabbar 之下;而且黑色区域中还存在一个 loading view ,所以,也能使它在 loading 之下。 问题:在真机上,黑色区域会覆盖 tabbar 。查了查,说是可以使用 [代码]<cover-view>[代码] 跨越层级,但是它里边不能包含 [代码]<input>[代码] 。又查到,已经支持 <video> 原生组件设置 z-index 了。<canvas> 什么时候会支持呢? 大佬们有遇到类似问题吗,有什么好的解决方案? 感谢。
2019-06-17 - 如何查看 Node 后端 Console 信息
小弟最近开始学习小程序开发。我使用 Node.js 做为后端,然后用的是 Wafer 腾讯云。 client 目录下的 console 信息在开发者工具中可以看到,请问大佬们写在 server 目录下的 console 信息在哪里可以看到?(不是下载日志,是像本机调试一样在终端中实时看到。) 注意到腾讯云小程序控制台页面的文档中有相关问题,但是链接已经失效了。 [图片]
2019-06-14