1.小程序里面css表现很诡异,自定义组件加的样式和click.stop很多时候只在h5生效,小程序不生效,需要外套view,image不要直接写style。
2.在h5似乎不能直接播放m3u8,小程序可以。
3.创建选择器,需要传入当前组件实例,option
里面用this
,否则用getCurrentInstance
4.小程序和webview应用不能很好的双向通信,小程序里面改变url给子应用传参,history会增加记录,影响到返回功能,history.replaceState也不好用,带#的地址不生效。还可以用websocket通信
5.小程序开发者调试工具太jb难用了,编译慢,改了代码,编译总是上一次的代码的结果,需要清除编译缓存,有时候还需要重新打开该项目。
6.写插件把打包的图片全删掉,把代码里图片路径替换掉,图片全放对象存储里面,代码构建开始tree shaking 打包项目还是过大就需要分包。
7.富文本在小程序里面,图片可以正常播放,视频不可以!!可以用mp-html库。
8.微信小程序渲染似乎只能用腾讯地图,但是获取数据可以用其他地图的服务,一般他们的小程序版本的微信sdk很老,功能少,甚至用不了。高德地图的那个就是,但是可以自己改sdk完善功能。
9.注意!!!小程序page的生命周期函数在component组件里面是不生效的。tabbar的page 页面onBeforeUnmount
,onUnmounted
,onUnload
是不会触发的
- 在小程序端,uniapp的
v-show="false"
会因为原生设置了display: flex;
不生效。 v-show编译成小程序里面的hidden
11.原生和h5通信,有大小限制,最大1.5到2m
12.typescript 的enum
枚举在uniapp 微信小程序下,开发和打包不一致。打包出来报错,有问题。
-
微信订阅消息: 同一个公共模板创建的只能拉起一个选项 ,
总是保持以上选择,不在询问
,是默认勾选的,确认后是拉不起授权面板的。一次性消息是授权一次可以收到消息一次,可以重复多次授权。先发消息后授权是收不到之前的消息的。 -
uniapp文档和微信不是同步更新的,uniapp的会落后一些,有的新功能看uniapp的文档就没有,遇到问题不一定能解决,开发的时候需要两边文档都打开,两边的一起看
-
小程序做拍照蒙层的时候,需要做周边有蒙层,中间有透明镂空图片的效果,比如扫码界面,
camera
里面不要套cover的组件,正确的方式是 camera 加 view image +outline: solid 800rpx rgba(0, 0, 0);
不要用box-shadow
。 -
api能用新的尽量用新的,很多旧的api有bug。比如最近做到一个需要在小程序里面横屏拍照,例如横屏给身份证拍照的应用场景。小程序拍照出来就是竖屏的,相机界面,中间有蒙版,需要横屏拍照后,然后在canvas里面操作,只保留蒙版区域内的照片,再把照片逆时针旋转90度。最后把图片导出。调试特别麻烦,需要把canvas 设置宽高,默认情况下是不支持的,在小程序文档里面没有体现,需要设置canvas的type='2d', 然后再用新的drawImage 和获取图片的方法,结合坐标转换得到正确的参数给drawImage,才得以解决。
开发体验来说,小程序是💩,混合开发更是💩。