Page({ drawCanvas: function(ctx) {// 地址 ctx.setFontSize(14) ctx.setFillStyle('#9E7240') ctx.textAlign="center"; const txHash = this.data.info.txHash ? this.data.info.txHash : '暂无信息' this.drawText(ctx,txHash,187, 517 , 232,232) // 自动换行 ctx.draw() ctx.save() },// 文本自动换行 drawText: function(ctx, str, leftWidth, initHeight, titleHeight, canvasWidth) { var lineWidth = 0; var lastSubStrIndex = 0; //每次开始截取的字符串的索引 for (let i = 0; i < str.length; i++) { lineWidth += ctx.measureText(str[i]).width; if (lineWidth > canvasWidth) { ctx.fillText(str.substring(lastSubStrIndex, i), leftWidth, initHeight); //绘制截取部分 initHeight += 16; //16为字体的高度 lineWidth = 0; lastSubStrIndex = i; titleHeight += 30; } if (i == str.length - 1) { //绘制剩余部分 ctx.fillText(str.substring(lastSubStrIndex, i + 1), leftWidth, initHeight); } } // 标题border-bottom 线距顶部距离 titleHeight = titleHeight + 10; return titleHeight }, })
使用canvas画布时多行文本应该怎么换行?/****绘制自动换行的字符串****/ function drawText(t,x,y,w){ var chr = t.split(""); var temp = ""; var row = []; context.font = "20px Arial"; context.fillStyle = "black"; context.textBaseline = "middle"; for(var a = 0; a < chr.length; a++){ if( context.measureText(temp).width < w ){ ; } else{ row.push(temp); temp = ""; } temp += chr[a]; } row.push(temp); for(var b = 0; b < row.length; b++){ context.fillText(row[b],x,y+(b+1)*20); } } 这个函数只能规定字数限制,并不能限制宽度。 小程序canvas 有办法解决这个问题吗?
2021-01-13我之前有一张长图,里面很多张二维码的竖排放着,长按的时候都只会识别第一个。 现在的微信版本,长按会识别,我长按的那个二维码。 不知道以后会是什么效果。
二维码?小程序可以识别多个二维码吗
2021-01-08这代码一行黑一行白的,看着眼都花了~~
voip-room黑屏问题?组件:voip-room API:wx.joinVoIPChat 微信版本号:android(7.0.22),ios(7.0.20) 基础库:2.14.1 问题: 1、A加入视频会议,A视频画面显示正常 2、B加入视频会议,B小程序中A、B视频画面显示正常;A小程序中B画面是黑屏 3、C加入视频会议,C小程序中,B视频画面黑屏,A,C显示正常;B小程序中,C画面黑屏,A,B显示正常;A小程序中,C画面黑屏,A,B显示正常。 请问一下这个是什么原因,我看代码中订阅和加入退出事件处理都已添加并生效的。一直没有找到相关原因,请大家指教一下。 wxml 代码 <block wx:for="{{openIdList}}" wx:key="item"> <block wx:if="{{selfOpenId === item }}"> <voip-room openid="{{item}}" class="room{{fullScreenOpenId==item ? ' full-screen' : ''}}{{(fullScreenOpenId!='' && fullScreenOpenId!=item) ? 'hide' : ''}}" data-openId="{{item}}" mode="{{selfOpenId === item ? 'camera' : 'video'}}" binderror="roomError" device-position="{{cameraDirection ? 'front' : 'back'}}" catchtap="onClickVideo"></voip-room> </block> <block wx:else> <voip-room openid="{{item}}" class="room{{fullScreenOpenId==item ? ' full-screen' : ''}}{{(fullScreenOpenId!='' && fullScreenOpenId!=item) ? 'hide' : ''}}" data-openId="{{item}}" mode="{{selfOpenId === item ? 'camera' : 'video'}}" binderror="roomError" catchtap="onClickVideo"></voip-room> </block> </block> js代码 wx.joinVoIPChat({ roomType: "video", signature: res.data.result.data.signature, nonceStr: res.data.result.data.nonceStr, timeStamp: res.data.result.data.timestamp, groupId: res.data.result.data.groupId, success: function (e) { console.log("调用微信加入会议接口成功"); console.log(e); that.setData({ openIdList: e.openIdList }); //订阅视频画面成员。对于视频房间,当成员超过两人时需进行订阅,否则只能看到最先加入房间的两人画面。 wx.subscribeVoIPVideoMembers({ openIdList: e.openIdList, success(res) { console.log('subscribeVoIPVideoMembers success') } }) //监听实时语音通话成员在线状态变化事件。有成员加入/退出通话时触发回调 wx.onVoIPChatMembersChanged(function (res) { console.log('onVoIPChatMembersChanged success') that.setData({ openIdList: res.openIdList }) //订阅视频画面成员。对于视频房间,当成员超过两人时需进行订阅,否则只能看到最先加入房间的两人画面。 wx.subscribeVoIPVideoMembers({ openIdList: res.openIdList, success(res) { console.log('subscribeVoIPVideoMembers success_b') } }) }) }, fail: function (e) { console.log("调用微信加入会议接口失败"); }, complete: function (e) { console.log("调用微信加入会议接口完成"); wx.hideLoading({ success: (res) => {}, }) } });
2021-01-08这问题确实存在,自己弄个标志字段得了,这么久了都不解决这个问题。
InnerAudioContext.paused在音频播放状态下第一次输出永远是true在播放音频后,通过paused获取播放状态第一次永远是true
2021-01-05通用的付款码也是你自己实现的,你识别了你的二维码,肯定会带标志是微信还是支付,然后再自己后台走支付宝或者微信的支付api。市面上很多这种码的。
企业如何调用个人微信付款码?我们公司自己开发了一款APP,现在有这么一个需求,就是想通过我们公司的APP,在不跳转倒微信界面的情况下,怎么调用微信个人的付款码?用途就是用户在使用我们APP,通过该APP进行支付时,就直接在我们APP上进行,不用跳转到微信;我逛了一圈社区,好像也有很多同行有这需求,但说是什么需要DB权限?怎么申请? 现在我有两个思路,如下: 1,就是通过调用微信个人付款码接口去实现该付款功能,但不知道怎么申请。 2,就是通过我们公司自己的随机微信付款码,体现在用户APP的界面上,在商家通过扫该二维码时,我们公司会先判断用户余额是否充足,再接着判断商家实际需要扣款多少钱,我们公司就事先扣除用户相应的钱,成功后,在提示付款成功。 第二种思路是否可行?微信支付有没有提供企业性质的付款码?
2021-01-05这个问题很容易复现,只要我把斜杆去掉,用wx.previewImage就能预览,其他图片没改的仍然无法预览。
小程序图片用wx.previewImage预览图片链接多一个斜杆符号就会显示一直在加载,预览不了。微信更新了之后,之前小程序图片链接如果有两个斜杠,用wx.previewImage 就预览不了了。 譬如:https://xxxxx.com//images/xxxx.jpg 域名和文件存储位置中间 有两个斜杆https://xxxxx.com【//】images/xxxx.jpg image 标签能显示,但是用 previewImage就预览不了。这个有点严重了吧。之前的版本还能浏览的。现在都预览不了了。 https://www.xxx.com//img/flexible/logo/pc/result.png 像这样放在 <image> 里面 是可以显示的 但是用 wx.previewImage 就预览不了,一直在加载。注意看,我 www.xxx.com 和 img/...中间 加了两个斜杆。 【//】两个斜杆的
2021-01-03我知道了,是微信版本的原因,我更新到7.0.20之后,点击就能直接弹出,App导航的选择框了。
请问一下, 插件 1.0.11 支持直接调起地图app进行导航 文档里面哪个字段是配置这个的请问一下, 插件 1.0.11 支持直接调起地图app进行导航 文档里面哪个字段是配置这个的. 我现在用的是 1.0.11 点击还是先到微信内部地图位置, 再点击, 才弹出那个地图 app的选择
2021-01-01我的也是,官方可以解释一下么。
微信里打开h5页面,经常无缘无故白屏,请问是什么原因,微信是否对链接有限制最近在做的h5页面,只要用户一访问多了,就容易出现无缘无故的白屏问题,苹果经过重启手机,安卓退出登录,又可以正常打开,问一下微信是否有对链接做访问限制,访问多了就做屏蔽,然后本地缓存呢?
2020-06-24原来你也遇到了,确实,用最简单的代码都不行。第一个音频是主动触发的。播完之后,第二个也能播放,关键是,第三个就播放不了了。其他的浏览器都可以,只有安卓的微信里面就播放不了了。 我的倒是没有弹出要用户手动提示。直接什么提示都没有。关键是,有时候我又能连续播放,概率小到忽略,就很回神奇。应该是官方微信的问题吧。 https://developers.weixin.qq.com/community/develop/doc/000282e1a3c4c83e148a1978f56000?jumpto=comment&commentid=000ee6625ccee0f62f8accbd8514
7.0.15网页播放音频,用户点击后不能连续播放音频?https://developers.weixin.qq.com/community/develop/doc/000e640d77cfa001132a6cb8456c01?highLine=7.0.15%25E7%25BD%2591%25E9%25A1%25B5%25E6%2592%25AD%25E6%2594%25BE%25E9%259F%25B3%25E9%25A2%2591 根据公告,只是禁了进页面自动播放音频。 现在我司有个场景是,用户点击某个按钮,多个音频依次播放。现在在7.0.15这个微信版本,Android10的设备上,第一个音频能正常播放,但是在第一个音频播放完成的回调里面,播第二个音频会提示,需要用户手动操作,请问也是上面的限制导致的吗?
2020-06-16