突然收到产品反馈一个古老项目测试环境出问题了
听到这个消息一脸黑人问号??????,这是我刚进公司接手的项目,已经很久没有改动了,怎么会出问题??
收到的问题是这样的,一个页面全选和多个选择的表格,跳转到另一个页面会带参数过去
this.$router.push({
path: '/order/inputTS',
query: {
ids: '',
orderType: this.orderForm.instatus,
isAll: true
}
})
如果是全选isAll为true否则为false并传ids,但是问题是现在不管怎么在下一个页面查询的都是全部的数据
开始排查,直接看浏览器参数没有任何问题,再看代码逻辑没有问题
😤最后经过排查找到问题,是router把Boolean值解析为了字符串,导致在查询页面判断无论怎样都为true
【这个问题值出现在了测试环境,线上正常本地正常,最后修改了Boolean值直接更改为字符串yes no判断】
app内嵌H5部分Android机型打不开
页面报错
看起来像是一个webpack问题,经过一番排查发现竟然是axios封装用到
Promise.reject(error) Promise.resolve(error)的兼容问题
axios.interceptors.request.use(
config => {
config.headers['Content-Type'] = 'application/x-www-form-urlencoded'
if (config.method === 'post') {
config.data = qs.stringify(config.data)
}
return config
},
error => Promise.error(error),
)
解决安装
npm i es6-promise并在main.js 引入require('es6-promise/auto')
打包警告 chunk chunk-commons [mini-css-extract-plugin]
原因: 公共组件在各个页面引入顺序不同
解决: 调整各个组件引入顺序