最近公司業(yè)務(wù)需求入坑支付寶小程序,本人自以為有微信小程序開發(fā)的經(jīng)驗會很簡單飘千,結(jié)果還是中了支付寶的坑堂鲜,由于百度上對于支付寶小程序的教程少之又少,開發(fā)過程中遇到的問題都是在釘釘群和與技術(shù)客服咨詢护奈,而大多數(shù)回答都是抱歉暫時沒有缔莲,暫時沒開發(fā)。小程序copy的不咋樣霉旗,審核那是真特么的嚴(yán)痴奏,第一版審核8次才過審核,下面是自己的脫坑記錄厌秒。
- 代碼轉(zhuǎn)移
這個沒多大區(qū)別读拆,把微信小程序代碼復(fù)制過來,只需要把文件名wxml->axml,wxss->acss简僧,js中的大多數(shù)api名稱把wx.XXX改為my.XXX建椰,但是有些微信里的api支付寶還沒有需要自己比較,axml頁面全局替換wx->a 例如wx:if -> a:if岛马,還有事件支付寶以onTap駝峰命名棉姐,微信是bindtap 只需要改這幾點即可屠列。 - 編輯器
這第一點記憶猶新,根據(jù)官方文檔下載了個0.28.xx(記不清了)的穩(wěn)定版編輯器伞矩,然后創(chuàng)建了兩個官方的demo笛洛,編輯器上沒有任何事情,預(yù)覽和真機調(diào)試的時候手機上就一直是加載中乃坤,報一堆node.js的錯苛让,然后自己創(chuàng)了個空白的demo也是同樣的,以為是mac原因在windows上試了下也一樣湿诊,咨詢了阿里的技術(shù)客服狱杰,建議是升級下編輯器試試,于是我升級了個嘗鮮版成功解決(不過想吐槽這bug怎么稱為穩(wěn)定版的)厅须。 - 用戶登錄
總感覺小程序的開發(fā)文檔很是隱蔽仿畸,還是在開發(fā)文檔中搜索“用戶授權(quán)”才找到的文檔(用戶授權(quán)),發(fā)現(xiàn)還是不在開發(fā)文檔中朗和,然后百度了下支付寶小程序用戶登錄就是螞蟻金服開發(fā)文檔中的支付寶會員授權(quán)信息查詢接口错沽,附地址:(支付寶會員授權(quán)信息查詢接口)
官方返回的用戶信息為大坑中的大坑
如果你們用戶授權(quán)出現(xiàn)報錯,可以看一下官方有沒有返回給你用戶的昵稱 頭像之類的眶拉,我碰到的是用戶沒有此信息連下標(biāo)都不給返回寫的代碼就直接報錯了千埃,正常應(yīng)該是沒有數(shù)據(jù)返回個空,這就很難受忆植,后來發(fā)版審核不過就因為頭像昵稱改了放可,審核員的賬號性別沒設(shè)置就一直出錯。 - 地址選擇(自定義組件通信問題)
微信小程序有官方picker中mode提供了省-市-縣三級聯(lián)動選擇功能唱逢,而支付寶提供了my.multiLevelSelect的級連選擇api吴侦,但是沒有地址表還得再找,由于懶得找還得寫接口我前端搞了個自定義地址選擇組件坞古,到最后一步的時候發(fā)現(xiàn)父子組件不能通信。劫樟。黑人問號臉痪枫,以為自己沒找到正確的辦法,咨詢了技術(shù)客服確實是他們沒做這功能叠艳。奶陈。。只能頁面調(diào)用組件里的方法附较,反之不可吃粒。
自定義地址選擇組件找的網(wǎng)上的,原文地址:(微信小程序之省市區(qū)三級聯(lián)動自定義組件)拒课。這是微信的徐勃,我給改到支付寶了如果有不熟悉的可以留言下事示。 - 自定義tabBar
業(yè)務(wù)功能tabBar里有個掃一掃,咨詢官方回復(fù):暫時不支持自定義tabBar僻肖,然后找UI把掃一掃調(diào)到頁面了肖爵。 - 生命周期坑
tabBar上的兩個頁面來回切換onShow只加載一次,跳轉(zhuǎn)其他頁面再回來onShow正常展示臀脏。 - 客服
支付寶也提供了一鍵客服功能
<view class='kfBox'>
<contact-button tnt-inst-id="企業(yè)編碼" scene="聊天窗編碼" size="35" color="#00A3FF" icon="/images/wd-ico06.png" />
<!-- <text class='kfText'>客服與幫助</text> -->
</view>
該標(biāo)簽不能包含文字劝堪,也不能定義文字,只能自定義圖片揉稚。(有一次審核被駁回就是因為審核員說點擊文字不能打開客服秒啦,我特么你們組件不能定義文字,我給個提示說點不動搀玖,然后就把文字去掉了帝蒿,標(biāo)簽客服圖標(biāo)放大)
- 審核
述說幾次被駁回的記錄,吐槽下支付寶審核惡心的地方巷怜,一是非常的嚴(yán)葛超,二是遇見不符合的就駁回,絕對不會給你往下多看幾個問題讓你一次改延塑,來來回回的非常浪費時間P逭拧!
1.支付寶不允許打開小程序就有授權(quán)彈框的功能关带,這點和微信一樣侥涵。但是官方給的demo就是打開先授權(quán),這點就誤導(dǎo)我以為支付寶允許宋雏。
微信獲取code和授權(quán)是分為兩個方法芜飘,而支付寶都整合在my.getAuthCode這個api了,控制my.getAuthCode用戶授權(quán)框的是scopes參數(shù)磨总,這個參數(shù)不是必填的嗦明,但是當(dāng)該參數(shù)為auth_user(主動授權(quán)) / auth_zhima(芝麻信用)的時候授權(quán)框才會彈出。
首次用戶獲取code去后臺判斷用戶是否存在的時候可以把這參數(shù)去掉蚪燕,就不會直接彈出授權(quán)框了娶牌。
還有一點需要說明,支付寶小程序的授權(quán)框可以不用button激活馆纳,就是說寫個公共授權(quán)的方法诗良,判斷用戶沒授權(quán)就直接調(diào)用該方法就能彈出授權(quán)框了。
2.支付寶審核非常的嚴(yán)格鲁驶,每個頁面的功能都要點擊鉴裹,我有個回首頁的按鈕事件忘記調(diào)回來就給駁回了。
3.沒做完的功能或者不完整的別上架審核,因為地址選擇的問題沒做完径荔,我想先發(fā)一版測試一下掃一掃的功能督禽,結(jié)果駁回內(nèi)容是地址不能添加。要是在微信很多時候就直接給過了猖凛。
4.我們的產(chǎn)品是線上線下結(jié)合的因悲,因為掃一掃的功能椒丧,支付寶讓錄個視頻給審核,但是線下的機器還沒連調(diào)成功沒辦法模擬了個假視頻的給上傳的。(這一點感覺很膈應(yīng)鸿市,我做的是小程序功能不對不給過就算了腿箩,線下的機器也要看一眼就有點煩了尚骄,微信我發(fā)了二十多小版本毛事沒有)
5.敏感詞匯潭流。最后一次審核把bug都調(diào)完了,小程序由于是重微信小程序直接轉(zhuǎn)回來的试溯,介紹里面有幾個微信的詞語蔑滓,所以給駁回了讓刪除,這一個點又耽誤了一天審核遇绞。