暂时没能弄出体积较小的可重现的代码,只能弄了个较大的代码包。由于尺寸超了,所以没能存成代码片断。但这个代码应该导入后是直接能跑的。需要用代码包里的appid。
Android和开发者工具上都不重现,只iOS"预览"的时候重现。
启动后会下个几M的资源,然后看到图1:
这时候点屏幕任意处,再看vConsole,会看到图2:
说JSON.stringify不能序列化带循环引用的结构。但我已经在代码首部写了这样一段:
const OldStringify = JSON.stringify; JSON.stringify = (args) => { console.log( 'will stringify:' , args); return OldStringify(args); } |
从vConsole里的内容来看,是先报了红色的那个错误,才进的我替换过的stringify方法。并且这时候进stringify方法,只是把红色的那个错误的内容序列化一下,估计是为了方便输出。
因此推断这个stringify是微信内部调的,并且我们还替换不了。
并且我尝试注掉了我自己代码里所有的stringify,这个错误还是能重现,也佐证了是微信自己调的stringify。
现在问题在于除了stringify之外就没有进一步的信息了。。行号那些全都是undefined.. 希望官方能帮忙给更多信息
看到了这个帖子:https://developers.weixin.qq.com/community/develop/doc/0006aecdcc08001747887039851000?highLine=JSON.stringify 和我遇到的问题类似,也是点屏幕就触发。但我的微信版本已经是7.0.5了。。
而且检查了我用canvas的地方,似乎也没什么问题
谢谢!
https://developers.weixin.qq.com/community/minigame/doc/0004ca9f5205881796295499459c00
看这篇得到了帮助,打出canvas后仔细找找到了儿子的儿子里藏着一个 "<Circular: @>"
你这个压缩包,如果账号没有绑定开发者微信号,也是运行不了的;另外我看了一下你的代码,稍微有点乱,建议你可以在点击触发的时候,做一下断点,再缩小一下问题的范围。