这个 BUG 需要特定的动态卡片 + 特定的设备才能复现
这个 BUG 是如何产生的?
wxml2canvas 在绘制的时候,会根据一个叫做 sorted 的对象对它的 keys 进行遍历,该对象的 key 为节点的 top 值,value 为节点元素;问题就是出在这里,该库作者误以为 Object.keys() 总是会按照实际创建属性的顺序返回,然而当 key 为正整数的时候,返回顺序就不符合原本的预期了,会出现了绘制顺序错乱,从而导致这个 BUG 的产生。
const sorted = {
}
sorted[300] = {
}
sorted[100] = {
}
sorted[200] = {
}
sorted[50.5] = {
}
console

在使用wxml2canvas生成分享卡片时遇到一个问题,由于Object.keys()不保证按属性创建顺序返回正整数key,导致绘制顺序错乱,从而丢失小程序码。修复方法是确保正确的绘制顺序,特别是处理key为整数的情况。
最低0.47元/天 解锁文章
2192

被折叠的 条评论
为什么被折叠?



