愿世间 bug 温柔对待于我吧,求求了…

大家好,我是 Chocolate。

这一周下来几乎都在折腾 bug,别说了,有一丢丢寒酸,头发那不是一根一根掉,那是一把一把掉落。不过就在今天算是解决了大的问题,只剩下小问题了,后续优化一下就差不多了。

闲聊

开头还是闲聊会,感觉也挺巧的,上周就收到微信通知晚餐会免费了,这周就为了这个改 bug 加班了几天,免费的晚餐虽然很香,但刚开始排队还真的等了接近半个小时才打到饭。

当我端到饭的时候,已经处于饥饿状态了。连忙干饭,干完饭就回家了。

接到的需求

下面来说说这个困扰我一周的需求吧,当时接到的就是将用户反馈一些信息的页面,原本是 textArea 的文本输入框,发现用户需要提供一些图片辅助说明的时候,不是很方便,原本是采用附件上传的形式。

原本这个附件上传的方式有多麻烦呢,直接对比看 QQ 截图以及微信截图,我们截图了之后就可以直接粘贴到输入框,然后发送给别人,这样就很方便。但是附件的话,我截图了之后还要保存到本地,可能保存在桌面,或者其它地方,然后再点击附件上传按钮上传图片或者文件。

对于用户来说体验不是很好,还有一点不足的是附件上传就不能保持排版了,比如用户输入了一段文字,然后这段文字是介绍接下来图片里面的问题,然后接下来又有一段文字,再接下来又要放一张图片,那么这个显示图片就会有排版问题。

因此需求就是转变成 MarkDown 形式,这样方便图片粘贴上传了,配合腾讯云 COS 对象存储,获取上传之后的图片地址,在输入框显示。

遇到的问题

看起来好像上述需求不是很难,关键点在于调用腾讯云那边的 COS 就好了,返回图片地址。

但是我还是遇到了问题,首先是我上传了之后,那个请求会一直 403,我感觉好奇怪,怎么一直 403 呢?

因为在此之前其它项目代码仓库有使用过 COS,所以参考了一下,发现存储桶的相关配置,比如 SecretId、SecretKey 以及 Bucket 和 Region 等都是从后端接口那边获取的,没有看到相关字符串。

其实这个需求点之前是我工作导师做的,不过做了好久了,他说都忘记怎么做了,当我询问这个问题的时候,他和我说你可以用你自己的 COS 试一下。

好,试试就试试,我拿着手机扫了腾讯云官网的二维码,注册了一个个人的 COS,把所有的访问权限都打开了,然后改了改现在的代码,居然成功实现了!

首先是我在编辑器粘贴之后成功获取了图片地址,并且可以显示出来,不过当我上传当前表单的时候,又有问题了,在接收方那边无法正常显示。

我就奇了怪了,我这边不是正常显示出来了嘛,我感觉有点不对劲了,直接上号滴滴组内产品经理,产品经理和我导师讨论一下这个需求,当时导师就在线上滴滴了我,说这个不能用 MarkDown,因为处理这个需求的那边页面不支持,只有我们官网这边可以正常显示,并且你提交过去必须按照他们那边的格式提交,那边项目比较老,不支持 MarkDown 形式,推荐你用富文本编辑器。

这里补充一下:虽然我已经转正成为正式员工了,本文中多次提及了导师这个词,但是平常我基本上不喊导师的哈哈哈,他是我们组内大牛,向大佬学习。

转变需求

于是乎,我之前写的大部分代码就需要重写了,有些包导入的可能要删去了,把原本使用公司封装好的 MarkDown 编辑器给删掉了。

到网上搜了搜关于 React 比较好用的富文本编辑器,当时搜到了 Braft Editor,美观好用的 React 富文本编辑器,而且是基于 DraftJS,具有强拓展性。

https://braft.margox.cn/

当时看到了强拓展性和基于 DraftJS,我觉得就已经可以了,因为对于我这个需求来说的话,不需要很多其它按钮,比如下划线呀,加粗,字体变大变小,插入其它等等。

另外一点是, 我看到了这个基于 DraftJS,因为看了之前 MarkDown 也是基于 DraftJS 这个来做的,我想应该还可以的。

不过在做的时候发现,我上传的图片和文字会有排版问题,而这个库对于这个转换不是很好(或许也是我自己找不到解决方式),并且这个文档总感觉差点味道,折腾两天样子还是没有结果,想了想,还是不能卡在这里了。

于是我又换了思路,在网上继续搜索有没有比较好的富文本编辑器,文档也会更加全面的,我记得是从掘金的一篇文章了解到的,好像正是这个富文本编辑器作者发布的。官网地址如下:

https://www.wangeditor.com/

争做国内使用体验Z好的开源 Web 富文本编辑器!

上面是官网看到的一句话,而且这个编辑器是有团队来开发的,很有开源精神!

最后到周五的时候,我总算是解决了难点问题,具体情况如下:

最开始看那个封装好的 COS 代码,在上传之前有 getAuthorization 这个操作,需要获取签名,但是当我们调用 cos.putObject 方法上传文件的时候,我发现居然是 XML 形式,这个上传地址无法在富文本编辑器正确显示,但是又能在处理这个需求的那边页面正确显示。

于是,我得解决当前输入框内粘贴图片之后的显示问题。后面了解到,可以根据 key 获取对应的真实图片 Url,倒是解决了这个问题。

再遇问题

可怕,又遇到了问题,虽然这个图片能够在发送方和接收方正确显示了,但是当我在提交之后的显示详情页面,点击我之前上传的图片的时候,发现会有跳转一个新的浏览器标签页,我以为是正常的预览图片页,但没想到的是居然是下载的形式。

我百思不解,于是去了腾讯云官网瞧了瞧,发现运维那边配置的存储桶域名格式是为 JSON 版本域名。

链接如下:

https://cloud.tencent.com/document/product/436/30740

而这个 JSON 版本域名生成的链接就是会访问弹出下载的窗口,官网也是强烈推荐升级到最新版的控制台,看来这个问题得找运维来解决了。

思考

也许这个问题找运维可能一下就解决了,但是可能又解决不了,就是我目前不清楚是否可以得到允许升级这个控制台,另外要考虑的是这个升级会不会对其它已经生成的图片有影响等等,如果就为了我这个小点而升级却不兼容以前版本的话,估计不会让我升级。

不是上文有提及说这个可以通过 key 来获取对应的真实图片地址嘛,那么是不是可以这样解决呢?

本周关于这个需求是做到这个点了,还有的事情就下周再说啦。

周五准备部门的团建,出发去珠海海洋王国游玩两天~

不过到今天我也是游玩回来了,现在正是补充之前还未写完的这篇博客,下一篇会聊聊在珠海游玩的一些想法,还有一些照片啦。

结尾

本篇文章就到此结束啦,每隔一段时间写写随笔,如果你有触动的话,可以帮我点点赞,这样我就知道有一批默默关注着我的小伙伴啦。

喜欢我的文章可以点点关注,下次我们还能遇见,关注就是最大的动力啦。

我是「一百个Chocolate」,一位狮子座的程序员,坚持写博客的第 4 年,座右铭:学如逆水行舟,不进则退。

今天是 1024,就祝各位程序员门少点 bug,升职加薪,遇到心仪的另一半,走上人生巅峰!

这个 bug,硬是让我折腾了一周相关推荐

  1. Chocolate 一万粉成就达成 | 对未来工作内容的考虑,也许我会选择不做开发了

    大家好,我是 Chocolate. ​就在本周,终于达成了一万粉的成就,虽然不是公众号哈,但说不定公众号也会有的,在 CSDN 这个社区我应该算是写了比较久的了,今年是第 4 年了,现在社区也在不断改 ...

  2. “拼多多”惊爆重大Bug!程序员的眼泪,羊毛党的狂欢

    这次,拼多多真成拼夕夕了-- 作者 | 仲培艺 出品 | CSDN资讯 新年添福旺,拼多多给你"拜年"啦-- 今日有消息爆出,称从 20 日凌晨开始,拼多多出现重大 Bug,用户无 ...

  3. “拼多多”惊爆重大 Bug!程序员的眼泪,羊毛党的狂欢

    这次,拼多多真成拼夕夕了-- 新年添福旺,拼多多给你"拜年"啦-- 今日有消息爆出,称从 20 日凌晨开始,拼多多出现重大 Bug,用户无需抢购即可任意领取 100 元无门槛优惠券 ...

  4. 别再折腾开发环境了,一劳永逸的搭建方法

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 来源:Jack Cui 网上教程五花八门,读者吐槽最多的,也都是怎 ...

  5. 睡觉的时候,程序能不能自动查 bug?

    作者 | 杜沁园 等 责编 | 郭芮 出品 | CSDN(ID:CSDNnews) 曾在 Hacker News 上看到过一个 Oracle 工程师处理 bug 的 日常: 先花两周左右时间来理解 2 ...

  6. Bug管理的经验和实践

    微软的开发流程和bug管理经验 原文地址:http://www.cnblogs.com/Mainz/archive/2008/04/06/1139134.html -发表在<程序员>杂志2 ...

  7. 在我们睡觉的时候,程序能不能自动查 bug?

    作者介绍:我和我的 SQL 队(成员:杜沁园.韩玉博.黄宝灵.满俊朋),他们的项目「基于路径统计的 sql bug root cause 分析」获得了 TiDB Hackathon 2019 的三等奖 ...

  8. python第三方库笔记本_Python小白别再折腾开发环境了,一劳永逸的搭建方法

    原标题:Python小白别再折腾开发环境了,一劳永逸的搭建方法 关注 "" 网上教程五花八门,读者吐槽最多的,也都是怎么搭建开发环境. 对于小白来说,开发环境搭建,是必过的 第一关 ...

  9. 别在折腾开发环境了,一劳永逸的 Python 环境搭建方法

    点赞再看,养成习惯,微信公众号搜索[JackCui-AI]关注这个爱发技术干货的程序员.本文 GitHub https://github.com/Jack-Cherish/PythonPark 已收录 ...

  10. 疯狂的程序员1-40

    <疯狂的程序员>1 天已经七分黑了,屋里却还没开灯.这个全身黑衣服的男子突然像想起什么,从包里掏出烟,抽出一只,递给旁边的人:"兄弟,抽烟么?"――那烟是红塔山. 旁边 ...

最新文章

  1. 天体运行轨迹_海王星轨道外发现139个新天体, 能揭开太阳系第九颗行星奥秘?...
  2. 使用VAE、CNN encoder+孤立森林检测ssl加密异常流的初探——真是一个忧伤的故事!!!...
  3. mysql explain实践
  4. 平面设计师和ui设计师_游戏设计师的平面设计
  5. pptv如何绑定邮箱账号
  6. win10环境下VTK7.1的编译和Qt调用VTK的详细教程二(VS2013编译支持Qt的VTK库)
  7. 拆解拼多多、趣头条、小红书背后的上海互联网基因
  8. 他刷题5个月,直通Google,薪资Triple,总结出这套刷题笔记,今天首次公开!
  9. 【Python】打印200以内所有素数
  10. 测试固态硬盘寿命软件,为什么说耐久测试才是检验SSD寿命的关键
  11. wifi无线破解记录
  12. 工作过程中积累的书签(链接)
  13. Html 实现手风琴效果
  14. 求职秘籍-如何准备面试?
  15. Codeforce 1296 E String Coloring
  16. in memory computing 存内计算是学术圈自娱自乐还是真有价值?
  17. 论文笔记---Topological acoustics
  18. 基于ArduinoNano的LED点阵时钟探索(1)四合一MAX7219+DS3231
  19. vue整合dorado框架
  20. 法本转债上市价格预测

热门文章

  1. java面试 bs cs_面试题思考:BS与CS的区别与联系
  2. 电路串联和并联图解_如何识别串联电路和并联电路
  3. 极速pdf android,极速PDF阅读器 V3.0.0.2003 官方版[安卓软件]
  4. c# TcpClient 客户端断线重连类库
  5. linux应用程序使用aplay播放,Linux中如何解决Aplay不能播放问题
  6. 线性表的链式存储结构详解
  7. matlab 插值出错,MATLAB插值问题
  8. Insyde uefi 隐藏设置_联想台式机10代cpu装win10及bios设置教程(新bios设置)
  9. Floyd最短路算法
  10. 怎样解决“在禁用UAC时,无法激活此应用”问题