涂涂同学说,明后天可能要用抽奖。
那今天就加急上线。
把抽奖功能从微商店助手里面拆出来,单独做一个小程序,后面群活动类的应用都在这个小程序里做。
博客用的是阿里云最低的配置,时常抽风,也没花什么心思去管。之前一直用 apache + nginx 引擎,用了好多年。最近心血来潮,改成 apache 跑了几天,还是一样抽风。然后又改成 nginx,貌似不抽风了。
小程序新的 canvas 2d 坑有点多,粗略统计有以下 6 坑:
1、canvasToTempFilePath 生成的临时文件在开发工具中显示不了,在真机上可以显示。刚开始没用真机测试,一直在开发工具中调试,浪费不少时间。
2、canvas 的尺寸要写在 wxml 中才会跟随屏幕比例自适应大小。切记,不要写在 css 中,加 important 也没有。假如你也是用 Taro,那就这样写:
<Canvas type="2d" className="canvas" style={{ width: '375px', height: '525px' }} id="my-canvas" />
3、图片不能直接使用 src 画在 canvas 上,要先 createImage,接着 onLoad 后再画在 canvas 上。
wx.getImageInfo({
src: 'testPath/test.png',
success: (res) => {
const image = canvas.createImage()
image.src = res.path
image.onload = () => {
ctx.drawImage(image, 0, 0, 100, 100)
}
}
})
4、生成小程序码返回的临时文件不能直接画在 canvas 上,可以保存到云端再 download 下来使用。
5、getImageInfo 也有坑,取不到图片会一直 pending,要使用 wx.cloud.downloadFile 接口判断之前是否生成过小程序码,有的话直接返回 fileId,无需再次生成。
6、最后一个大坑(官方已经优化解决),就是云开发数据库自动生成的 id。早期的 id 是超过 32 位的,不能用来作为 scene,最近他们改成了 32 位。所以这里需要作个判断,如果不考虑早期数据,在页面上不显示生成海报的入口就行了。
今天提车回来发生两个事,一个是在坡道停车时中控突然黑屏了,正当我有点不知所措,拍照发车主群里讨教时,过了一分钟左右,它自己自动重启,好了。
另外一个问题是 AP 用不了。关于这个问题,售后说多重启几次应该就可以了,今天有一位提车的车主就是这样解决的。这让我想起多年前用 windows 时屡试不爽的重启大法。
接着,我产生一个联想,今天遇到这两个事,如果串在一起会发生什么反应?就是在高速上自动驾驶时突然中控黑屏了,是不是人和车基本上也就挂了?
在开启自动驾使功能的时候,我一眼就注意到一个括号(beta),意思是此功能还是试验品,谨慎使用。
不过这些问题都不影响 model3 的销量,而且车主群里的车主们每每吐槽时,都是带着一种又爱又恨又调侃的语调,这就让我想到一个词:爱屋及“污”。