原生小程序和uniapp开发的坑

发布时间 2023-05-23 10:06:50作者: Math点PI

1、uniapp编译成微信小程序,微信开发者工具报错: xxx文件找不到,明明就在那里
解决方法:关闭,重新打开就好了;再不行就重启,绝对能解决

2、微信小程序只支持一次性上传一个文件,不支持多文件上传;可是我这里ocr识别,需要上传多张图片
解决方法: wx-multipart插件进行多文件上传;其原理就是使用一个ajax带多个文件,文件需要被编码后(binary)上传,越过微信的wx.upload方法;
1)wx-multipart的坑
坑1————传入的参数需要修改,修改后,参数数量不正确,如a:1,传入了三次
解决方法:竟然是打包压缩的原因,你敢信,我改了之后没有压缩,直接复制到src中,就解决了

坑2————ajax携带参数头之后,压缩后代码不存在了
解决方法:同上

备注:我这里改的都是他的lib下的小文件,改完之后重新打包,代码不存在;所以后续打包只打包集成文件,不打包min文件;min文件代码丢失,原因未知,因为急需项目,未深究

3、这个微信小程序只限制单包2M,实在太烦了
解决方法:优化:各种压缩 + 分包 + 图片服务器
我们小程序分为三个tabbar,把tarbar的主页和首页的内部页放到main中,其他分包;

4、预加载————条件限制:预加载+当前加载包 <= 2M
解决方法:这是限制,不能解决

5、scroll-view + popup 导致popup基于scroll-view作为大背景,而不是用page作为大背景
解决方法:这里有多种解决方法
1) 包裹下popup元素
2) 去掉scroll-view,改为view,scroll-y:true

6、uniapp,uview根据官方文档都加载不了
解决方法:根据文档,保证每一个引入都是正确的(文档不一定符合当时环境,但是自己得变通)

7、小程序上面的头,文字样式都不符合业务要求
解决方法:
1)json里面定义自定义头部 "navigationStyle": "custom" ,// 隐藏系统导航栏;
2)然后再用uview中的组件Navbar 自定义导航栏;slot各种传入
3)处理高度:自定义导航栏的下方的view需要处理高度,否则直接置顶被自定义导航栏遮盖;
页面 onLoad 时通过 uni.getSystemInfoSync().statusBarHeight 获取状态栏高度,然后通过 style 绑定方式给占位 view 设定高度。
uni.getSystemInfoSync().statusBarHeight ? (uni.getSystemInfoSync().statusBarHeight + 44) : 10;
文档链接【 https://uniapp.dcloud.net.cn/tutorial/syntax-css.html#css-变量

8、echarts 形成的canvas不移动
解决方法:scroll-view 包裹下echarts就能解决,scroll-x scroll-y 都true

9、预览小程序闪烁问题
解决方法:设置——通用设置——【取消勾选】使用GPU加速

10、