关于mpvue写小程序移植到uni-app的总结

目录

1.单位

2.对不同机型的兼容

iphone

3.对路由的配置

1.uni-app的navigateback不能实现刷新之后还能返回到上一个页面的操作。不能实现刷新之后还能返回到上一个页面的需求

2.对有自定义底部tabbar页面刷新之后回到第一个页面


原来的项目用的是mpvue+colorui+vant-weapp的框架

想着可能以后会转成android或者ios

就把mpvue 转成了uni-app

参考了uni-app官网的mpvue转uni-app

https://ask.dcloud.net.cn/article/34945

但是却发现有些地方不通用

1.单位

之前的项目用的px的单位但是在uniapp上px不能直接转成自适应 看文档才知道得在src 下的mainifest.json里 用transformPx:true

才能开启px的自适应 但是这样其实是把px 转成了rpx  但是rpx其实应该是2倍的px。但这里并没有转成2倍的而是1倍的。看了无数的文档也没有什么好的解决办法。只能手动吧所有的px转成了2倍的rpx来写。

2.对不同机型的兼容

iphone

1.h5页面和小程序有许多的不同之处。其中h5中微信登录得刷新。但是在ios9这个版本 刷新之后会局部变得非常大 

参考了 https://blog.csdn.net/wozaixiaoximen/article/details/56484479之后得知ios9版本在

解决办法:mate标签下得再加一个shrink-to-fit=no

 

2.在ios9下拉箭头

对父元素display:flex 然后子元素postion:absolute;right:0这种垂直右边对齐方式是无法对齐的。

解决办法:加一个top等于高度的一半来垂直居中

 

3.在iphonex span标签不设定宽度在父元素display:flex会换行

解决办法:在span标签加一个white-space: nowrap;才能不换行

4.h5分享的时候ios手机上分享用不了的问题

解决办法:网上说了很多用location.href,window.open还有截取路由的办法。实验了很久只能用location.href这样来写window.open会打开新页面而不是重定向这样要是自定义返回按钮就无法使用了。截取路由uni-app路由已经封装好了。才疏学浅研究了半天算了。但是用了location.href的话uni-app的路由就无法使用了

5.用location.href来跳转无法使用uni-app

解决办法:用history这个内置对象来进行路由的跳转

6.关于ios9宽度会超出屏幕之外

解决办法:

{
width:100vw;
overflow-x:hidden;
}

3.对路由的配置

1.uni-app的navigateback不能实现刷新之后还能返回到上一个页面的操作。不能实现刷新之后还能返回到上一个页面的需求

解决办法:用history.go或者history.back这种原生内置对象来进行路由的跳转就能有效的避免

2.对有自定义底部tabbar页面刷新之后回到第一个页面

解决办法:每次跳转的时候在顶部都加上一个参数index=当前页面下标然后用this.$route.query来获取下标自定义加载页面

4.支付

1.对于微信浏览器h5支付一直失败的原因

1.1在ios上为timeStamp为空而安卓是好的情况下

解决办法:前端直接用后台传的值,后台传的值得是字符串

1.2在ios和安卓都无效但是传的参数是对的情况下

解决办法:不要用微信的包。直接用微信的内置对象WeixinJSBridge来进行支付

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值