const drawCanvas = (canvasId, data) => { uni.createSelectorQuery().select(canvasId).fields({ node: true, size: true }).exec(res => { // 处理数据 demoList[0].value = data.levelOne ?? 0 demoList[1].value = data.levelTwo ?? 0 demoList[2].value = data.levelThree ?? 0 const { devicePixelRatio, screenWidth } = uni.getSystemInfoSync() const rpx = devicePixelRatio const canvas = res[0].node let ctx = canvas.getContext('2d') // 初始化画布大小 canvas.width = res[0].width * rpx canvas.height = res[0].height * rpx // 获取结束 const x = res[0].width / 2 * rpx; const y = res[0].height / 2 * rpx; const lineWidth = 20 * rpx; const radius = (res[0].height / 2) * rpx - (lineWidth / 2) // 半径 const sumResult = canvasId === '#chart' ? data.errorTotal : data.alertTotal; let startAngle = 0; demoList.map(item => { // 绘制数组中的百分比 ctx.beginPath(); console.log('sum', sumResult) let angle = (item.value / sumResult) * 2 * Math.PI ctx.arc(x, y, radius, startAngle, startAngle + angle); ctx.lineWidth = lineWidth; ctx.strokeStyle = item.color; ctx.stroke(); startAngle += angle }) // 文字颜色 ctx.fillStyle = "#1D2129" ctx.font = `${30 * rpx}px sans-serif` ctx.textAlign = 'center' // // 文字位置 // // 插入文字 ctx.fillText(sumResult, canvas.width / 2, y) // // 文字大小 ctx.fillStyle = "#86909C" ctx.font = `${12 * rpx}px sans-serif` ctx.textAlign = 'center' // // 文字颜色 // // 插入文字 ctx.fillText('故障总计(台)', canvas.width / 2, y + (20 * rpx)) uni.canvasToTempFilePath({ canvas: canvas, success: function(res) { if (canvasId === '#chart') { canvasSrc1.value = res.tempFilePath; } else { canvasSrc2.value = res.tempFilePath; } }, fail: function(res) { console.log(222, res) } }) }) }
canvasToTempFilePath这个Api在Canvas里转的文件不能显示吗?https://developers.weixin.qq.com/community/develop/doc/000206085a81e05fef1e87ec851400 看见之前反馈过 ios安卓开发者工具都正常,真机模拟(pc小程序)和pc小程序时候都空白,看显示wxfile://temp/地址
05-15// 页面部分 // 是这么调用的,目前数据部分先写死了 const getCard2Date = async (id) => { const { data } = await getDeviceOverview2(id) card2Data = Object.assign(card2Data, { errorTotal: 80, levelOne: 10, levelTwo: 40, levelThree: 30 }) drawCanvas('#chart', this, card2Data) } const getCard3Date = async (id) => { const { data } = await getDeviceOverview3(id) card3Data = Object.assign(card3Data, { alertTotal: 100, levelOne: 24, levelThree: 0, levelTwo: 76 }) drawCanvas('#chart2', this, card3Data) } [图片] 感觉两个值会互相影响结果不知道为什么,代码上感觉已经独立开了呀。。
canvas一般有时候正常有时候异常什么原因?const drawCanvas = (canvasId, _this, dataObj) => { // 处理数据 const data = JSON.parse(JSON.stringify(dataObj)) demoList[0].value = data.levelOne ?? 0 demoList[1].value = data.levelTwo ?? 0 demoList[2].value = data.levelThree ?? 0 uni.createSelectorQuery().select(canvasId).fields({ node: true, size: true }).exec(res => { const { devicePixelRatio, screenWidth } = uni.getSystemInfoSync() const rpx = devicePixelRatio const canvas = res[0].node let ctx = canvas.getContext('2d') // 初始化画布大小 canvas.width = res[0].width * rpx canvas.height = res[0].height * rpx // 获取结束 const x = res[0].width / 2 * rpx; const y = res[0].height / 2 * rpx; const lineWidth = 20 * rpx; const radius = (res[0].height / 2) * rpx - (lineWidth / 2) // 半径 const sumResult = canvasId === '#chart' ? data.errorTotal : data.alertTotal; let startAngle = 0; demoList.map(item => { // 绘制数组中的百分比 ctx.beginPath(); console.log('sum',sumResult) let angle = (item.value / sumResult) * 2 * Math.PI ctx.arc(x, y, radius, startAngle, startAngle + angle); ctx.lineWidth = lineWidth; ctx.strokeStyle = item.color; ctx.stroke(); startAngle += angle }) // 文字颜色 ctx.fillStyle = "#1D2129" ctx.font = `${30 * rpx}px sans-serif` ctx.textAlign = 'center' // // 文字位置 // // 插入文字 ctx.fillText(sumResult, canvas.width / 2, y) // // 文字大小 ctx.fillStyle = "#86909C" ctx.font = `${12 * rpx}px sans-serif` ctx.textAlign = 'center' // // 文字颜色 // // 插入文字 ctx.fillText('故障总计(台)', canvas.width / 2, y + (20 * rpx)) uni.canvasToTempFilePath({ canvas: canvas, success: function(res) { if (canvasId === '#chart') { canvasSrc1.value = res.tempFilePath; } else { canvasSrc2.value = res.tempFilePath; } }, fail: function(res) { console.log(222, res) } }) }) }
05-14我新建项目都不行
开发者工具,在mac Catalina 10.15上无法导入项目?不管是wepy,mpvue还是原生结构,都无法导入 新建项目后,再导入就无法选中了 急 希望尽快给个补丁版本,谢谢 [图片] [图片] [图片]
2019-12-25我也存在
微信开工者工具无法导入项目?打开按钮是灰色的。why?? [图片] [图片]
2019-12-25我也
紧急,获取手机号码异常"getPhoneNumber:fail Error: 系紧急,获取手机号码异常"getPhoneNumber:fail Error: 系统错误 errorCode:-10000"
2019-07-19可是放div里可以显示鸭,然后用getImageInfo转成临时地址
提问个问题关于画布生成图片用canvas长按保存生成图片,现在出现一个情况,在长按时候,里面有张图,图片地址保存在全局,在页面做了 getImageInfo接口把网络图片保存为本地,但是出现了一个情况,真机调试和微信打开debug模式(体验版)的时候图片都能显示,但是直接体验版,关闭debug模式之后那个图就不显示了,不知道什么问题。。
2018-11-21iphone x下自适应有问题 另一个反馈帖子
tabBar 高度bug- 当前 Bug 的表现(可附上截图) [图片] - 预期表现 应该离底部上面一点 - 复现路径 - 提供一个最简复现 Demo [代码]"tabBar": {[代码][代码] [代码][代码]"selectedColor": "#49bb9c",[代码][代码] [代码][代码]"backgroundColor": "#fff",[代码][代码] [代码][代码]"list": [[代码][代码] [代码][代码]{[代码][代码] [代码][代码]"pagePath": "pages/index/index",[代码][代码] [代码][代码]"text": "首页",[代码][代码] [代码][代码]"iconPath": "/static/images/gray-home.png",[代码][代码] [代码][代码]"selectedIconPath": "/static/images/green-home.png"[代码][代码] [代码][代码]},[代码][代码] [代码][代码]{[代码][代码] [代码][代码]"pagePath": "pages/welfareMall/welfareMall",[代码][代码] [代码][代码]"text": "兑福利",[代码][代码] [代码][代码]"iconPath": "/static/images/gray-bag.png",[代码][代码] [代码][代码]"selectedIconPath": "/static/images/green-bag.png"[代码][代码] [代码][代码]},[代码][代码] [代码][代码]{[代码][代码] [代码][代码]"pagePath": "pages/myHome/myHome",[代码][代码] [代码][代码]"text": "我的",[代码][代码] [代码][代码]"iconPath": "/static/images/gray-people.png",[代码][代码] [代码][代码]"selectedIconPath": "/static/images/green-people.png"[代码][代码] [代码][代码]}[代码][代码] [代码][代码]][代码][代码] [代码][代码]}[代码]
2018-11-12[图片]目前checkList内容
关于input的check的问题[代码][代码][图片] [代码][代码]这么写为什么每次checked都会显示,这段表达式值是true,默认checklist是空的
2018-11-07