drawSquarePic(ctx, x, y, w, h, r, url) {
ctx.save()
ctx.beginPath()
ctx.arc(x + r, y + r, r, Math.PI, Math.PI * 1.5)
ctx.lineTo(x + w - r, y)
ctx.arc(x + w - r, y + r, r, Math.PI * 1.5, Math.PI * 2)
ctx.lineTo(x + w, y + h - r)
ctx.arc(x + w - r, y + h - r, r, 0, Math.PI * 0.5)
ctx.arc(x + r, y + h - r, r, Math.PI * 0.5, Math.PI)
ctx.lineTo(x, y + r)
ctx.setFillStyle('#ffffff')
ctx.fill()
ctx.clip()
return new Promise((resolve, reject) => {
if (url) {
uni.getImageInfo({
src: url,
success(res) {
ctx.drawImage(res.path, x, y, w, h)
ctx.restore()
resolve()
},
fail(res) {
console.log('fail -> res', res)
ctx.drawImage('xx.jpg', x, y, w, h)
ctx.restore()
resolve()
}
})
} else {
resolve()
}
})
},