这几天一直在等后台接口 所以赶紧趁这个时间再好好研究下微信小程序的api啦。
首先声明一点,我现在用的微信开发者工具是0.20.191900,然后遇到坑给大家的建议就是先去开发者社区找答案,可以直接从开发者工具的菜单栏的开发者社区直接进入。 https://developers.weixin.qq.com/home?token=1539057767&lang=zh_CN
- canvas的wx.canvasToTempFilePath(OBJECT)
把当前画布指定区域的内容导出生成指定大小的图片,并返回文件路径。
iOS真机上会存在导出图片背景为黑色的bug,这是目前官方给出的回答。
但是在开发者社区的这个帖子中,有神人给出了解决方案。
https://developers.weixin.qq.com/blogdetail?action=get_post_info&docid=337c470637e142e18258cdf2a04e5d28&highline=canvasToTempFilePath&token=1539057767&lang=zh_CN
我试了一下 可行。只要加两行代码就好,原理是给canvas加了一层白色背景色
// 使用 wx.createContext 获取绘图上下文 context
var context = wx.createCanvasContext('firstCanvas')
context.setFillStyle('white')
context.fillRect(0,0,300,200)
context.setFillStyle(‘white’) 这里如果要设置成白色,可以填white或者#ffffff,不能是简写#fff
context.fillRect(0,0,300,200) 300和200分别是你的canvas的宽和高,这边canvas我设置的是300和200
<canvas style="width: 300px; height: 200px;" canvas-id="firstCanvas"></canvas>
- 给data数组或对象中的某一个值赋值
这个不是bug… 是我之前竟然不知道有这种操作,还是太年轻。
Page({
data: {
userInfo: {
userName: '张三',
age: 19
}
}
})
比如只想改变data中userInfo中username的值
this.setData({
userInfo.userName: '李四'
})
发现很尴尬,userInfo.userName竟然标红,难道不允许有这种操作?可是有时候就只需要改变某一个值啊,其实给userInfo.userName用引号引起来就好了,我的错。。
this.setData({
'userInfo.userName': '李四'
})
今天先更到这里,这个帖子我会持续更新的~
小白打卡–滴~
2018-05-09更新
弃坑。。