支付宝小程序开发踩坑记录,附链接
2019-05-21 本文已影响0人
丶dove丶
最近公司业务需求入坑支付宝小程序,本人自以为有微信小程序开发的经验会很简单,结果还是中了支付宝的坑,由于百度上对于支付宝小程序的教程少之又少,开发过程中遇到的问题都是在钉钉群和与技术客服咨询,而大多数回答都是抱歉暂时没有,暂时没开发。小程序copy的不咋样,审核那是真特么的严,第一版审核8次才过审核,下面是自己的脱坑记录。
- 代码转移
这个没多大区别,把微信小程序代码复制过来,只需要把文件名wxml->axml,wxss->acss,js中的大多数api名称把wx.XXX改为my.XXX,但是有些微信里的api支付宝还没有需要自己比较,axml页面全局替换wx->a 例如wx:if -> a:if,还有事件支付宝以onTap驼峰命名,微信是bindtap 只需要改这几点即可。 - 编辑器
这第一点记忆犹新,根据官方文档下载了个0.28.xx(记不清了)的稳定版编辑器,然后创建了两个官方的demo,编辑器上没有任何事情,预览和真机调试的时候手机上就一直是加载中,报一堆node.js的错,然后自己创了个空白的demo也是同样的,以为是mac原因在windows上试了下也一样,咨询了阿里的技术客服,建议是升级下编辑器试试,于是我升级了个尝鲜版成功解决(不过想吐槽这bug怎么称为稳定版的)。 - 用户登录
总感觉小程序的开发文档很是隐蔽,还是在开发文档中搜索“用户授权”才找到的文档(用户授权),发现还是不在开发文档中,然后百度了下支付宝小程序用户登录就是蚂蚁金服开发文档中的支付宝会员授权信息查询接口,附地址:(支付宝会员授权信息查询接口)
官方返回的用户信息为大坑中的大坑
image.png
如果你们用户授权出现报错,可以看一下官方有没有返回给你用户的昵称 头像之类的,我碰到的是用户没有此信息连下标都不给返回写的代码就直接报错了,正常应该是没有数据返回个空,这就很难受,后来发版审核不过就因为头像昵称改了,审核员的账号性别没设置就一直出错。 - 地址选择(自定义组件通信问题)
微信小程序有官方picker中mode提供了省-市-县三级联动选择功能,而支付宝提供了my.multiLevelSelect的级连选择api,但是没有地址表还得再找,由于懒得找还得写接口我前端搞了个自定义地址选择组件,到最后一步的时候发现父子组件不能通信。。黑人问号脸,以为自己没找到正确的办法,咨询了技术客服确实是他们没做这功能。。。只能页面调用组件里的方法,反之不可。
自定义地址选择组件找的网上的,原文地址:(微信小程序之省市区三级联动自定义组件)。这是微信的,我给改到支付宝了如果有不熟悉的可以留言下。 - 自定义tabBar
业务功能tabBar里有个扫一扫,咨询官方回复:暂时不支持自定义tabBar,然后找UI把扫一扫调到页面了。 - 生命周期坑
tabBar上的两个页面来回切换onShow只加载一次,跳转其他页面再回来onShow正常展示。 - 客服
支付宝也提供了一键客服功能
<view class='kfBox'>
<contact-button tnt-inst-id="企业编码" scene="聊天窗编码" size="35" color="#00A3FF" icon="/images/wd-ico06.png" />
<!-- <text class='kfText'>客服与帮助</text> -->
</view>
该标签不能包含文字,也不能定义文字,只能自定义图片。(有一次审核被驳回就是因为审核员说点击文字不能打开客服,我特么你们组件不能定义文字,我给个提示说点不动,然后就把文字去掉了,标签客服图标放大)
- 审核
述说几次被驳回的记录,吐槽下支付宝审核恶心的地方,一是非常的严,二是遇见不符合的就驳回,绝对不会给你往下多看几个问题让你一次改,来来回回的非常浪费时间!!
1.支付宝不允许打开小程序就有授权弹框的功能,这点和微信一样。但是官方给的demo就是打开先授权,这点就误导我以为支付宝允许。
微信获取code和授权是分为两个方法,而支付宝都整合在my.getAuthCode这个api了,控制my.getAuthCode用户授权框的是scopes参数,这个参数不是必填的,但是当该参数为auth_user(主动授权) / auth_zhima(芝麻信用)的时候授权框才会弹出。
首次用户获取code去后台判断用户是否存在的时候可以把这参数去掉,就不会直接弹出授权框了。
还有一点需要说明,支付宝小程序的授权框可以不用button激活,就是说写个公共授权的方法,判断用户没授权就直接调用该方法就能弹出授权框了。
2.支付宝审核非常的严格,每个页面的功能都要点击,我有个回首页的按钮事件忘记调回来就给驳回了。
3.没做完的功能或者不完整的别上架审核,因为地址选择的问题没做完,我想先发一版测试一下扫一扫的功能,结果驳回内容是地址不能添加。要是在微信很多时候就直接给过了。
4.我们的产品是线上线下结合的,因为扫一扫的功能,支付宝让录个视频给审核,但是线下的机器还没连调成功没办法模拟了个假视频的给上传的。(这一点感觉很膈应,我做的是小程序功能不对不给过就算了,线下的机器也要看一眼就有点烦了,微信我发了二十多小版本毛事没有)
5.敏感词汇。最后一次审核把bug都调完了,小程序由于是重微信小程序直接转回来的,介绍里面有几个微信的词语,所以给驳回了让删除,这一个点又耽误了一天审核。