开发过程中,发现的Taro平台下微信支付宝差异



  • Taro开发的小程序在微信和支付宝都上线了,总结一下开发过程。
    这次开发的小程序之前在支付宝小程序上线了,现在想移植到微信,实现同一个二维码,微信和支付宝都可以扫。多终端支持框架选型时我也下了很大决心,由于一直对Taro,react比较神往,最终抛弃了uni-app等其他方案,选择了Taro。

    总体来说,上手比较快,以下是时间表。
    3月4日 创建项目;
    3月9日 微信第一次审核上线,之后频繁迭代更新。
    3月16日想起,更新到支付宝小程序试试吧。匹配过程,十分顺利,大概一两个小时就搞定了,提交,顺利通过审核。
    本文详细说说微信支付宝开发的差异,避免掉坑里。
    **一. 样式问题。**我在支付宝里用了组件的类来写css。比如这样写,

    .box Image {width:100%; height:100%;}
    

    结果在支付宝不能用了,发现是大小写的问题,改成image即可。既然兼容性有问题,我就没简单的改成小写,把image全部改成类名了。

    .box image {width:100%; height:100%;}
    <Image className='image' />
    

    二、Taro.getStorage 差异
    在微信中,不存在的键名,会直接报错,而在支付宝中正常执行,但是data=null。针对这种差异,改一下;
    三、Taro Login, getPhoneNumber 功能API差异,需要单独写,使用Taro.getEnv()获取当前小程序平台,分别写代码。
    四、Taro.showModal 差异,在支付宝小程序里,必须显式赋值cancelText: '取消',不然在取消的按钮会变成undefined。这应该算是bug吧,已经提交issue。
    五、标题栏透明问题,支付宝不支持navigationStyle: 'custom'(虽然文档上说是支持的)。我每次都是发布前,手工修改支付宝小程序源码下json文件,增加"transparentTitle": "auto"。

    好像就这么多吧,确实比较省心。感谢Taro!最后推广一下,我的小程序,支付宝、微信都可以搜索“神马排队”,这是一个可以免费创建排队二维码的小程序,助力疫情!



  • 正文提到的小程序

    微信二维码


登录后回复