微信小程序,在使用canvas画海报的时候,会导致个别用户无法生成的情况,你们可以尝试把绘画某些块的代码注释掉再进行扫码调试,我前几天就遇到个别客户无法生成商品海报的情况,刚开始是以为上一个同事留的坑,当我重构画海报的页面代码以后,还是出现这种问题。

我在这里提醒开发者们,如果出现设备兼容性问题,请各位开发者不要使用真机调试,因为真机调试可以解决90%以上设备兼容性的问题,可以用扫码预览打开调试进行调试,今天我说的这个问题坑了我2天!电脑上无法复现无法绘画的问题,无奈之下只能让客户配合我这边把有问题的代码注释掉让客户扫码进去以后截图给我看看是什么效果,最终发现了问题,就是在绘画微信用户昵称的时候出现了问题,因为客户微信昵称第六个字符是带表情的,这里注意一下,不是canvas不能绘画表情,是因为我处理了到第五个字的时候就截取用省略号显示,比如:我是微信名....  这里正好第六个字符是表情,我这边用了substr(0,6)字符串截取前面5个字符进行绘画导致最后draw的时候出现绘画不出海报,这个问题控制台不会有任何报错,下面是错误的截取用户名称代码:

// 检查用户名称第一行大于5个字换行
let username = this.position.drawUserName.content
// username是用户名称 包含表情,不能用substr进行截取 否则绘画海报出现空白  无任何报错
let onelineusername = username.substr(0,6)

最后用了如下解决办法:

先把微信表情过滤掉再换成subString(0,5)进行截取,完美解决!!!

// 过滤微信表情
let username = this.drawUserName.replace(/\uD83C[\uDF00-\uDFFF]|\uD83D[\uDC00-\uDE4F]/g, "");
// 截取前面五个字符然后省略号显示
let onelineusername = username.substring(0,5)

【修复日常bug】微信小程序canvas画商品海报出现个别用户无法生成的情况相关推荐

  1. 小程序canvas绘制商品海报实现分享朋友圈

    小程序canvas绘制商品海报实现分享朋友圈 效果图: 实现步骤就是点击生成图片 在canvas画布中画出一张海报 然后保存在本地 在imags标签中展示,此处尽可能的把canvas组件隐藏 但是不能 ...

  2. 微信小程序canvas画价格走势图(六)

    到上一篇,可以说,所有的工作已经完成了,那为什么还会有第六篇呢?因为,客户改需求了,UI设计图改了,我也就不得不改代码,画一个新的版本出来.我在大功告成,开始写第一篇的时候突然改的,我也就准备加一篇来 ...

  3. 微信小程序canvas画价格走势图(三)

    今天继续更新在微信小程序上用canvas画价格走势图.上一篇讲了图上主要的部分,也就是折线图的绘制.假如我在我的绘图主函数中只调用了绘制折线图的函数,效果是这样的: 可以说除了作为坐标背景的<i ...

  4. 微信小程序canvas画价格走势图(一)

    今天是周二,今天来开一个新坑吧.最近花了整整两个工作日的时间画了一个微信小程序端的价格走势图,现在来分享一下经验. 因为内容比较多,所以打算这次分为多篇博客来写,这样一篇博客的内容就会更少.更清晰.下 ...

  5. 微信小程序canvas 画圆形带刻度进度条

    .canvas_1{ position: absolute; width: 120rpx; height: 120rpx; background: rgba(255, 00, 0, 0.0); } & ...

  6. 微信小程序canvas画图案列,实现生成头像并保存,小程序新版canvas变化,小程序中canvas注意事项

    你一定见过很多制作头像的小程序,无论是国庆的红旗,圣诞的帽子,还是疫情的口罩,都可以用小程序生成应景的头像,那么具体的代码是怎么实现的呢?前些天帮别人做了一个生成姓氏头像的功能,里面的实现原理基本一致 ...

  7. 微信小程序canvas画价格走势图(五)

    最近比较忙,所以趁着今年的最后一个周末,来把最后两篇完结掉.这是倒数第二篇了,这一篇的内容很简单,讲的是细节的绘制,也就是底部的刻度线和日期的绘制,以及一个小小的总结. 目前我们完成了canvas的准 ...

  8. 微信小程序--canvas 画海报 转发好友 下载本地

    获取本地手机的屏幕宽高(宽高需要按照自己实际需求计算) toCanvas() {let that = thiswx.getSystemInfo({success: function(res) {con ...

  9. 圆头像 微信小程序 绘图_微信小程序canvas画圆头像

    wxml: wxss: canvas{ width:375px; height:100px } js const headImge = 'https://ss0.bdstatic.com/70cFvH ...

最新文章

  1. 13个对Android开发者有帮助的工具和资源(转自android吧(www.and8.com))
  2. mysql安全性实验心得_mysql安全小结
  3. [云炬创业管理笔记]第五章打磨最有效的商业模式测试2
  4. 【资源】首发:徐亦达老师的机器学习课件及下载(中文目录)
  5. Python中的高阶函数reduce
  6. GitHub vs. Bitbucket 不只是功能不同
  7. 计算机二级网址打不开,大神为你解决win7系统打不开二级网页链接的操作教程...
  8. Hadoop之HDFS简介
  9. 一个编程指南还有这么多道道儿?
  10. 面向对象设计时需要“六化”设计人员
  11. AI量化交易(一)——量化交易简介
  12. vscode可以配置哪些编程语言_vscode支持哪些编程语言
  13. 施工部署主要不包括_施工部署编制内容不包括( )_学小易找答案
  14. 跑深度模型的显卡_人工智能研究者应该选择哪款显卡?
  15. Cobalt Strike 的 Beacon 使用介绍以及 Profile 文件修改Beacon内存教程
  16. 高通Android display分析【转】
  17. vue-cli 项目启动输出 INFO Starting development server... 69o/o after emitting CopyPlugin
  18. 移动浪潮下,看地推吧如何“霸占”行业新风口
  19. 系统分析师-2021年下午简答题
  20. java自定义一个数组类(封装多种方法)

热门文章

  1. 浅谈Springcloud中的几个主流熔断器
  2. 将形如 5D, 30s 的字符串转为秒
  3. SaaS电子病历系统源码
  4. 主权财富基金刺痛发达国家神经
  5. 超实用!如何让智能家居网络更安全?
  6. Part2:CSmartPtr
  7. 解决 FFmpeg 执行报错:Too many packets buffered for output stream 0:1
  8. ChinaSkills-网络系统管理(2021年全国职业院校技能大赛A-1 模块 A:Linux 环境 真题 )
  9. 两款开源的中文OCR工具
  10. GBase 8a并发支持性能