支付寶小程式對比微信小程式

startstudysmile發表於2018-10-15

一、什麼是支付寶小程式?

定義:支付寶小程式是手機應用嵌入支付寶客戶端的一種方法

優點

  • 1、基於 Web 技術,學習成本低
  • 2、一套程式碼,同時支援 iOS 和 Android,接近原生體驗
  • 3、提供豐富的元件和 API(比如獲取使用者資訊、本地儲存、支付功能等)

開發教程

docs.alipay.com/mini/develo…

二、支付寶小程式和微信小程式對比

區別

  • 支付寶小程式
    • 支付寶小程式不支援個人申請、僅支援企業註冊
    • 支付寶小程式稽核相對嚴格:比如你的小程式裡的使用者協議裡的詞語不規範,都不會過稽核。
    • 支付寶跟微信相比一個特色的模組就是信用市場
  • 文件目錄結構
    xx.axml    xx.acss   xx.json   xx.js
複製程式碼
  • api呼叫物件 my
  • 網路請求介面 my.httpRequest
  • 獲取快取資料 my.getStorage({‘key’:”})
  • 點選事件 onXXX
  • xml模板裡面{{}}可以進行++ –運算
"window": {
    "defaultTitle": "支付寶",            //頁面標題
    "titleBarColor": "#d05021",         //導航欄背景色
    "pullRefresh":true,                 //是否允許下拉重新整理 預設false
    "allowsBounceVertical": yes,       //頁面是否支援縱向拽拉超出實際內容。   
 },
 "tabBar": {
    "textColor":"#000",                //未選中字型顏色
    "selectedColor":"#d81e06",         //選中的字型顏色
    "backgroundColor":"#fff",          //背景色
    "items": [{
      "pagePath": "pages/index/index" ,   //頁面路徑
      "name": "首頁",                     //頁面標題
      "icon": "pages/icon/index.png",    //為選中圖示
      "activeIcon": "pages/icon/index_1.png" //選中圖示
    }]
}
複製程式碼
  • 微信小程式
    • 微信小程式大家都可以申請註冊。
    • 微信小程式跟支付寶小程式相比的優點是微信流量大、人群活躍度高
  • 目錄結構
    xx.wxml  xx.wcss   xx.json   xx.js
複製程式碼
  • api呼叫物件 wx
  • 網路請求介面 wx.request
  • 獲取快取資料 wx.getStorage()
  • 點選事件 bindXXX onTap bindtap
  • xml模板裡面{{}}微信小程式不能進行javaScript計算
"window": {
    "backgroundTextStyle": "light",             //下拉背景字型
    "navigationBarBackgroundColor": "#d0501f",  //導航欄背景顏色
    "navigationBarTitleText": "",              //導航欄標題文字內容
    "navigationBarTextStyle": "white",         //導航欄標題文字樣式
    "enablePullDownRefresh": true,             //是否開啟下拉重新整理
    "onReachBottomDistance": 50        //頁面上拉觸底事件觸發時距頁面底部距離,單位為px。
},
"tabBar": {
    "selectedColor": "#d0501f",      //選中字型顏色
    "backgroundColor": "#fff",       //背景顏色
    "color": "#333",                 //未選中字型顏色
    "list": [
       {
        "pagePath": "/pages/home/home",  //頁面路徑
        "text": "首頁",                  //頁面標題
        "iconPath": "/pages/images/shouye@2x.png", //未選中圖示
        "selectedIconPath": "/pages/images/fill@2x.png"  //選中圖示
        },
    ]
}
複製程式碼

三、微信小程式轉成支付寶小程式

方法一:wxmp2antmp

wxmp2antmp 是一個微信小程式轉支付寶小程式的命令列工具

支付寶小程式對比微信小程式

github.com/aOrz/wxmp2a…

  • 安裝
npm i -g wxmp2antmp 
複製程式碼
  • 使用
w2a 微信小程式目錄 支付寶小程式目錄 
複製程式碼
  • 使用時注意事項

    • 路徑問題:支付寶小程式中的路徑解析和微信小程式中的路徑解析是不同的

      路徑必須為相對路徑

    • js 中的 wx 變數會被賦值為 my

    • 微信小程式和支付寶小程式的 api 存在差異

  • 實踐結果

    • 只能轉變資料夾字尾名,以及所定義的變數,需要手動更改支付寶和微信小程式API不同的地方,例如底部tabBar,再比如登陸,比如快取資訊,彈出框,都需要自己手動改變,效率很低,但是可以根據文件仔細對比進行改正。

方法二:wx2ali

支付寶小程式對比微信小程式

github.com/foxitdog/wx…

npm i wx2ali -g

如果是舊版本請命令列中輸入npm update wx2ali -g進行更新 以獲得更好的服務

複製微信小程式的原始碼一份;
wx2ali --getConfig獲取配置檔案路徑 按照需要修改配置並儲存
wx2ali --start
等待處理完成。
或者可以通過 wx2ali --path path路徑 開始轉換
複製程式碼
  • 實踐結果

    • 轉化過後堪稱完美解決微信小程式轉成支付寶小程式,幾乎不需要手動更改任何東西,直接將所有的微信小程式的東西轉成了支付寶小程式。
    • 不過該轉換方法只能轉化微信小程式和支付寶小程式公共有的部分。
    • 缺點:操作步驟比較複雜。針對於window系統和mac系統有不同操作的方式
    • 該轉化方法是直接在微信小程式上進行修改的,所以需要單獨備份。

方法三:wxToAlipay

支付寶小程式對比微信小程式

github.com/douzi8/wxTo…

npm install wx-alipay -g

wxToalipay --src={{小程式原始碼目錄}} --dest={{支付寶小程式目錄,可預設}}

// 排除部分資源
wxToalipay --src=/weixin/min --filter="!lizard/package/*,!lizard/Gruntfile.js"

// 定製回撥, 在框架處理好後,在對每個檔案進行處理
wxToalipay --src=/weixin/min --callback="wxToAlipay.js"
複製程式碼
  • 實踐結果

    • 操作難易度適中
    • 轉化程度適中
    • 轉化形式較為複雜

四、微信小程式轉支付寶小程式表格對比

對比方法 wxmp2antmp wx2ali wxToAlipay
gitHub支援度 star 93 watch 6 fork 24 star 51 watch 10 fork 13 star 47 watch 3 fork 9
安裝 npm i -g wxmp2antmp npm i wx2ali -g npm install wx-alipay -g
使用過程 w2a 微信小程式目錄 支付寶小程式目錄 複雜 wxToalipay --src={{小程式原始碼目錄}} --dest={{支付寶小程式目錄,可預設}}
操作複雜程度 簡單 複雜 適中
轉化內容 1、檔案字尾名轉化 2、變數名轉化,3、繫結事件名轉化 1、除外部形式轉化以外,對微信小程式和支付寶小程式共同的API也同時轉化 2、且轉化的程式碼也很貼合支付寶小程式形式 1、除外部形式轉化以外,對微信小程式和支付寶小程式共同的API也同時轉化;2、但是轉化的程式碼並不能貼合支付寶小程式形式
轉化程式碼截圖 支付寶小程式對比微信小程式 支付寶小程式對比微信小程式 支付寶小程式對比微信小程式
轉化結果 轉化程度低 轉化程度高 轉化程度適中
轉化檔案是否需要備份 無需備份 需要備份 無需備份

五、微信小程式轉支付寶小程式方法選擇

  • 轉化的可能性:根據三種方法的實踐以及對比,我認為微信小程式是能夠合理的轉化成支付寶小程式的,根據綜合對比,我認為選擇wx2ali是最合理的轉化方法。
  • 轉化風險:因為實踐專案很小,暫時沒有碰到很大的轉化問題,而這三種方法都沒有大專案做支撐,且gitHub上面所受關注度不是很高,所以存在一定的轉化風險。

相關文章