这里有个bug是安卓下存图默认透明部分会变成黑底,正在修复了 目前可以先在背景手动填充一个灰色矩形来规避
canvas生成图片时部分机型真机调试图片显示黑色- 当前 Bug 的表现(可附上截图) 此机型为OPPOR7 [图片] - 预期表现 开发工具中和其他机型: [图片] - 复现路径 - 提供一个最简复现 Demo js: // pages/supervise/superviseAgreement/superviseAgreement.js let ctx = null; let isButtonDown = false; const arrx = []; const arry = []; const arrz = []; let canvasw = 0; let canvash = 0; Page({ /** * 页面的初始数据 */ data: { src: '', }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { // 使用wx.createContext获取绘图上下文context ctx = wx.createCanvasContext('canvas'); ctx.beginPath(); ctx.setStrokeStyle('#000000'); ctx.setLineWidth(4); ctx.setLineCap('round'); ctx.setLineJoin('round'); ctx.draw(); }, canvasStart(e){ console.log(e) isButtonDown = true; arrz.push(0); arrx.push(e.changedTouches[0].clientX - e.currentTarget.offsetLeft); arry.push(e.changedTouches[0].clientY - e.currentTarget.offsetTop); }, canvasMove(e){ console.log(e) if(isButtonDown){ arrz.push(1); arrx.push(e.changedTouches[0].clientX - e.currentTarget.offsetLeft); arry.push(e.changedTouches[0].clientY - e.currentTarget.offsetTop); } for(let i = 0; i < arrx.length; i++){ if(arrz[i] === 0){ ctx.moveTo(arrx[i], arry[i]) }else{ ctx.lineTo(arrx[i],arry[i]); } } // ctx.clearRect(0, 0, canvasw, canvash); ctx.setStrokeStyle('#000000'); ctx.setLineWidth(4); ctx.setLineCap('round'); ctx.setLineJoin('round'); ctx.stroke(); ctx.draw(false); }, canvasEnd(e){ console.log(e) isButtonDown = false; }, canvasError(e){ console.log(e.detail.errMsg); }, canvasSave(){ wx.canvasToTempFilePath({ canvasId: 'canvas', fileType: 'jpg', quality: 1, x: 0, y: 0, width: 300, height: 200, destWidth: 300, destHeight: 200, success: res => { console.log(res); this.setData({ src: res.tempFilePath }); } }); }, canvasClear(){ arrx.length = 0; arry.length = 0; arrz.length = 0; ctx.draw(false); }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { } }) wxml: <view class='superviseAgreementContainer'> <view class='header'> <canvas disable-scroll canvas-id='canvas' class='canvas' bind:touchstart='canvasStart' bind:touchmove='canvasMove' bind:touchend='canvasEnd' bind:touchcancel='canvasEnd' bind:error='canvasError' > </canvas> </view> <view class='body'> <button bind:tap='canvasSave'>生成图片显示</button> <button bind:tap='canvasClear'>清除</button> </view> <view class='footer'> <image src='{{src}}'></image> </view> </view> wxss: .superviseAgreementContainer{ height: 100%; background-color: #ffffff; display: flex; flex-direction: column; align-items: center; } .canvas { width: 100%; height: 100%; background-color: #ddd; margin: 0 auto; } .header{ width: 600rpx; height: 400rpx; } .body{ display: flex; justify-content: start; } .footer image{ border: 1rpx dashed #ddd; width: 600rpx; height: 400rpx; }
2019-05-24问题已复现,我们会在后续版本中进行修复。
需求:希望wx.showLoading的mask蒙层可以遮住tabBar- 需求的场景描述(希望解决的问题) 目前程序里有这样一个逻辑,小程序启动进入首页获取到数据并全部渲染完成后会调用 wx.createSelectorQuery() 来获取首页中某个元素距离顶部的高度,用来做吸顶等一些效果,但是目前我们在测试中发现,如果在加载数据的过程中点击tabBar上的其他页面,wx.createSelectorQuery()将无法正确获得元素属性并报错,这应该是因为当前所展示的页面已经没有了所查看元素的view展示 所以希望能够在 wx.showLoading 里的 mask 设置为true时,能够将tabBar也遮住,或者可以添加一个属性值决定是否遮住tabBar,顶部导航栏同理
2019-05-24问题已复现,我们会在后续版本中进行修复。
picker限制问题picker 颗粒度为年时,设置end为当前时间 在开发工具上能限制,在IOS真机上无限制,安卓正常: 代码片段如下: https://developers.weixin.qq.com/s/g3YRlzmt7E8T
2019-05-24https://developers.weixin.qq.com/miniprogram/dev/api/MapContext.translateMarker.html 这个可以实现需求吗
小程序map的markers对象能实现平滑移动吗小程序map的markers对象能实现平滑移动吗
2019-05-24问题已复现,我们会在后续版本中进行修复。
iOS下, 小程序基础库2.7.0, mp4大小超过2G,video不能播放iOS下,微信7.0.4,小程序基础库2.7.0, mp4大小超过2G,video不能播放; 安卓正常
2019-05-24这里看日志是 切后台一段时间以后 socket就被关闭了 可以监听socket的close事件,然后重新创建socket
sendSocketMessage: fail taskID not exist[代码]//创建连接[代码] [代码]if[代码] [代码](![代码][代码]this[代码][代码]._socketTask || [代码][代码]this[代码][代码]._socketTask.readyState!=1) {[代码] [代码] this[代码][代码]._socketTask = wx.connectSocket({[代码][代码] url: option.url,[代码][代码] header: {[代码][代码] ...option.header,[代码][代码] 'content-type'[代码][代码]: [代码][代码]'application/json'[代码][代码] },[代码][代码] method: [代码][代码]'GET'[代码][代码],[代码][代码] fail: [代码][代码]function[代码][代码](res){[代码][代码] self._isLogin = [代码][代码]false[代码][代码] self.reConnect()[代码][代码] }[代码][代码] })[代码] [代码]}[代码][代码]sendHeartBreakMsg() {[代码][代码] [代码][代码]let self = [代码][代码]this[代码][代码] [代码][代码]try[代码][代码]{[代码] [代码] //wx.sendSocketMessage ({})使用sendSocketMessage 同样会出现[代码] [代码] [代码][代码]self._socketTask.send({[代码][代码] [代码][代码]data: [代码][代码]'HB_'[代码][代码]+wx.getStorageSync([代码][代码]'loginInfo'[代码][代码]).token,[代码][代码] [代码][代码]success: (e) => {[代码][代码] [代码][代码]// console.log('HB')[代码][代码] [代码][代码]},[代码][代码] [代码][代码]fail: (res) => {[代码][代码] [代码][代码]console.log(res, self._socketTask, self._options, self._socketTask.readyState)[代码][代码] [代码][代码]if[代码] [代码](self._socketTask && self._socketTask.readyState != 1) {[代码][代码] [代码][代码]self.reConnect()[代码][代码] [代码][代码]} [代码][代码]else[代码] [代码]if[代码][代码](!self._socketTask) {[代码][代码] [代码][代码]self.createConnection()[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码][代码] [代码][代码]})[代码][代码] [代码][代码]}[代码][代码]catch[代码][代码](e){[代码][代码] [代码][代码]console.log(e)[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码]错误日志已上传2019-05-21 正常connectSocket创建连接,测试使用两种方法发送message:sendSocketMessage / socketTask.send 发送。 一切在3-5分钟内是好的。切到后台,回到微信连天页面,再切回小程序,消息还是正常发送。操作3-5分钟后,发送消息就会报 sendSocketMessage: fail 。taskID not exist。此时websocket是连通的,readystate是open状态。我就想问一下这个报错是什么意思?导致sendSocketMessage一直报错。只有关闭微信重开才可以解决。kill吊销程序重启才能解决。 手机:iphoneXr IOS 12.2 微信版本: 7.0.4 基础库版本:2.7.0 [图片] [图片]
2019-05-24你的反馈我们已收到,我们会在后续的版本中考虑增加类似功能。
有没有办法查询一个企业开通的小程序,或者增加一个企业级别的管理员由于微信限定一个人只能拥有5个小程序或者公众号,导致企业只能用多个人的身份去申请小程序.但是这个申请由于人员流动等原因,会导致有些小程序逐步失控.能否增加一个企业级别的管理员,去检查所有小程序.回收已经废弃的小程序id...如果这个改动太大的话,能否提供一个途径,供企业查询目前已经使用过的小程序id...管理员是谁...
2019-05-24webview可以实现吗
微信支付小微商户签约需要打开外部链接- 需求的场景描述(希望解决的问题) 微信支付小微商户签约需要打开外部URL链接, 签约完成之后返回小程序 - 希望提供的能力 能否允许用户打开一些特定的外部链接,或者微信体系内的链接
2019-05-24可以说一说具体需求和应用场景吗? 怎么定义安全监测
内容安全会提供音频方面的检测吗?- 需求的场景描述(希望解决的问题) 用户上传的音频可以进行安全检测 - 希望提供的能力 audSecCheck
2019-05-24你的反馈我们已收到,我们会在后续的版本中考虑增加类似功能。
为previewImage加入描述- 需求的场景描述(希望解决的问题) 预览图片时 可以为图片加入描述 - 希望提供的能力 为previewImageAPI加入一个字段,用于展示对图片的描述
2019-05-24