现象如标题所讲,很诡异,到了客户现场先分析环境情况、问题可能出现的原因(页面是前端实习生写的,但这种诡异问题也就只能交由老同志来解决啦……)
同事提到昨天改的 logo 在浙政钉环境下还是老样子,然后登录页的图片也出不来(我试了一下还真是……)
电脑上打开应用,发现控制台有报错,图片加载失败,想着 iPhone 手机访问空白这个问题暂时也没有头绪,顺手把这个报错解决了吧
想着先让这个问题上线,让同事发布了一个版本,发现线上还是那样……复制出来地址浏览器打开,发现还是这样,一看网址?咋不是我们公司 ip???
然后问了下负责政务云这块任务的同事是不是配置的地址配错了(昨天政务云资源刚申请下来,同事还在部署环境,还在调试……)
然后让同事打包发给他,线上替换一下就接着分析问题了
我从页面加载开始梳理了一遍相关代码文件,并未发现有什么可疑的代码会引起兼容性问题
想到将浙政钉里的应用链接复制出来,看在手机浏览器里是否有此问题(排查是不是浙政钉环境的原因),结果发现还是有这个问题,那就不是浙政钉环境的原因咯……就是 iOS 系统的兼容问题
既然上述的几种方向都没法在排查下去,看能不能通过全局 API 捕获到什么错误,从而从错误里找到突破点
vue 有全局错误捕获相关的 API(Vue.config.errorHandler
),想看看 uniapp 文档里是不是也有,看能不能看到什么报错信息
(专有钉钉近期在维护,还没法用专有钉钉进行调试:专有钉钉是最接近浙政钉环境的)
试试就试试咯,也总比每次改完发版本来的强呀……
前提:需要同一局域网下,关闭 windows 防火墙,用手机访问 ipv4 地址,能够访问通则用钉钉配置该应用到工作台,进行调试(通过钉钉打开则具备了钉钉环境,怎么配置应用台可自行百度,不作展开)
新问题:钉钉环境没有控制台可以调试怎么办?
JSON.stringfy()
将想要 console.log
展示的内容序列化后用弹窗(uni.showModal(...)
)展示环境配通后让同为 iOS 系统同样出现过问题的同事打开看看,发现没有问题……可以直接打开……
啊这……
最后想在 iOS 系统下再仔细看看错误出现的过程,看能不能从现象捕捉到什么端倪,从而找到解决问题的切入点,发现本文所要解决的问题居然可以了……?
我改了什么?图片地址更正了……他就行了?
图片加载不出来也不会影响页面渲染呀,图片空着下面的内容还是会出来的呀……
-
连接之后的又一新坑……)看来习惯养好点还是有好处的呀,有时候神不知鬼不觉得就把bug 解决了,或者直接跳过了