问题记录

264 阅读2分钟
  1. 微信支付使用scope为snsapi_base方式无法获取unionid,必须改为scope为snsapi_userinfo方式。(相关链接

因为接口在H5项目中做了整体逻辑更改,所以导致活动页面有bug,出现参数错误的提示,因为活动页面之前是用的snsapi_base方式,拿不到unionid导致接口报错,改了后就正常了

  1. 本地开发微信授权的时候,必须使用Charles的map功能。

在本地使用proxy调用线上接口会报错“和配置域名不匹配”之类的错误。但是发到线上又会导致频繁发版,所以使用Charles的远程映射功能可以把线上的静态资源地址map到本地,就可以不用频繁发版也可以测试线上的错误了。

  1. 添加自定义header的时候,会进入OPTIONS请求,这时需要配置规则。

后端将所有接口都配置了cors跨域,但是还是有部分接口会产生跨域问题。究其原因是因为这些请求里面都传了自定义的header,如果传递了自定义header,那么这将是一个OPTIONS请求,针对这种复杂请求,需要后端在method === 'OPTIONS'的条件下添加允许该自定义header请求的规则,笔者是因为后端虽然配置了,但是没有在method === 'OPTIONS'的条件内配置规则,所以产生跨域问题,找了好久才找到问题所在。

  1. vue-router使用history模式会导致显示刷新页面404。

vue-router使用history模式会导致显示刷新页面404,是因为后端配置的Nginx路径有问题,找不到页面,按照官网的配置重新配了一下就好了。

  1. 列表数据量多卡顿

使用虚拟列表

  1. uniapp使用阿里iconfont图标在App中不能正常显示。

因为从www.iconfont.cn/复制过来的css默认是不带https头的,所以在h5中可以正常访问;App中原本是可以正常访问的,因为原来iconfont的css是自带base64格式的,在5月份的改版中取消了base64的支持,如果想正常使用,须加上https协议头就可以了。

  1. 字体文件的体积优化

使用第三方的ttf字体比较大,特别占内存,所以可以使用字客网提取需要的字,后下载即可,大幅度减少字体的内存占用。

  1. 递归导致同步代码阻塞,使用webworker