支付寶小程序 多端發(fā)布概述

2020-09-16 16:28 更新

多端發(fā)布 是指使用支付寶小程序提供的各種接口,來開發(fā)小程序并發(fā)布到各個(gè)端使用。也就是說可以讓開發(fā)者開發(fā)一次支付寶小程序,同一套代碼不做任何改動(dòng)就可以通過發(fā)布到各個(gè)端,同時(shí)觸達(dá)更多的用戶群體,節(jié)約了開發(fā)成本。

支付寶小程序目前支持的端有:

image

需要登錄 開發(fā)者中心控制臺(tái) > 在相應(yīng)小程序點(diǎn)擊進(jìn)入管理后臺(tái) > 開發(fā)服務(wù) > 開發(fā)設(shè)置 > 多端發(fā)布支持 > 點(diǎn)擊 開通 其他端的發(fā)布權(quán)限。開通后頁(yè)面上方可選擇切換為其他端的發(fā)布頁(yè)面。

image

說明

  • 支付寶開放平臺(tái)默認(rèn)只支持開通的端請(qǐng)以開發(fā)平臺(tái)實(shí)際情況為準(zhǔn)。
  • 支付寶本身除了支付寶小程序之外還支持小程序的 IoT 端發(fā)布,小程序通過發(fā)布到 IoT 端(如:蜻蜓設(shè)備)為商家提供門店數(shù)字化經(jīng)營(yíng)解決方案。

整體框架

開發(fā)者使用同一套代碼,通過 IDE 在不同環(huán)境下進(jìn)行構(gòu)建,然后上傳并發(fā)布在不同的端上:

img

所有的端使用同一套小程序框架,語(yǔ)法、基礎(chǔ) API 和基礎(chǔ)組件都是一樣的。API 使用通用的前綴my,例如:

//.JS
my.navigateTo({
  url: 'new_page?count=100'
})

不同的端在小程序通用框架基礎(chǔ)上會(huì)有自己的擴(kuò)展,這樣開發(fā)者可以使用各端特色能力。不同的端API在my的后面加上不同的擴(kuò)展對(duì)象:支付寶為my.ap,釘釘為my.dd。在運(yùn)行時(shí),非當(dāng)前端的擴(kuò)展對(duì)象為空(undefined),例如在支付寶端里,my.dd為空;在釘釘端里,my.ap為空。(注:為了保持兼容,支付寶my.ap對(duì)象的擴(kuò)展API在my里面可以繼續(xù)調(diào)用,另外不同端由于發(fā)布節(jié)點(diǎn)不同,更新框架的時(shí)機(jī)也不一樣,這樣有些新增的通用 API 在某個(gè)時(shí)刻可能暫時(shí)未支持,可以用 my.canIUse 來進(jìn)行判斷)。

支付寶端擴(kuò)展 API 示例(小程序喚起支付):

//.JS
my.ap.tradePay({
  orderStr: 'myOrderStr', //完整的支付參數(shù)拼接成的字符串,從服務(wù)端獲取
  success: (res) => {
    my.alert({
      content: JSON.stringify(res),
    });
  },
  fail: (res) => {
    my.alert({
      content: JSON.stringify(res),
    });
  }
});

釘釘端擴(kuò)展 API 示例(發(fā)起 DING):

//.JS
my.dd.createDing({
    users : ['100', '101'],// 用戶列表,工號(hào)
    type: 1, // 附件類型 1:image  2:link
    alertType: 2, // 釘發(fā)送方式 0:電話, 1:短信, 2:應(yīng)用內(nèi)
    alertDate: {"format":"yyyy-MM-dd HH:mm","value":"2015-05-09 08:00"},
    attachment: {
        images: [''],
    }, // 附件信息
    text: '',  // 正文
    bizType :0, // 業(yè)務(wù)類型 0:通知DING;1:任務(wù);2:會(huì)議;
    confInfo:{
       bizSubType:0, // 子業(yè)務(wù)類型如會(huì)議:0:預(yù)約會(huì)議;1:預(yù)約電話會(huì)議;2:預(yù)約視頻會(huì)議;(注:目前只有會(huì)議才有子業(yè)務(wù)類型)
       location:'某某會(huì)議室' , //會(huì)議地點(diǎn);(非必填)
       startTime:{"format":"yyyy-MM-dd HH:mm","value":"2015-05-09 08:00"},// 會(huì)議開始時(shí)間
       endTime:{"format":"yyyy-MM-dd HH:mm","value":"2015-05-09 08:00"}, // 會(huì)議結(jié)束時(shí)間
       remindMinutes:30, // 會(huì)前提醒。單位分鐘-1:不提醒;0:事件發(fā)生時(shí)提醒;5:提前5分鐘;15:提前15分鐘;30:提前30分鐘;60:提前1個(gè)小時(shí);1440:提前一天;
       remindType:2 // 會(huì)議提前提醒方式。0:電話, 1:短信, 2:應(yīng)用內(nèi)
    },

 
    taskInfo:{
       ccUsers: ['100', '101'], // 抄送用戶列表,工號(hào)
       deadlineTime:{"format":"yyyy-MM-dd HH:mm","value":"2015-05-09 08:00"} , // 任務(wù)截止時(shí)間
       taskRemind:30// 任務(wù)提醒時(shí)間,單位分鐘0:不提醒;15:提前15分鐘;60:提前1個(gè)小時(shí);180:提前3個(gè)小時(shí);1440:提前一天;
    },
    success:function(res){
        /*
        {
            "dingId": "1_1_a09f167xxx",
            "text": "釘正文內(nèi)容",
            "result": true
        }
        */   
    },
    fail:function(err){
    }
});

創(chuàng)建項(xiàng)目時(shí)選擇應(yīng)用類型

創(chuàng)建項(xiàng)目時(shí),開發(fā)者根據(jù)自己的應(yīng)用場(chǎng)景,在不同的端下選擇不同的應(yīng)用類型:

8.PNG

切換應(yīng)用類型

應(yīng)用類型是和端關(guān)聯(lián)的。同一套代碼,開發(fā)者可以在研發(fā)時(shí)切換為其它端的應(yīng)用類型,這時(shí)模擬器和真機(jī)預(yù)覽自動(dòng)適配開發(fā)者當(dāng)前所選的端和應(yīng)用類型,這樣開發(fā)者可以在不同的端進(jìn)行模擬和預(yù)覽:

img

真機(jī)預(yù)覽

不同端的真機(jī)預(yù)覽在操作上是一致的,但需要使用當(dāng)前端 APP 掃碼進(jìn)行預(yù)覽:

img

構(gòu)建上傳

不同端的上傳在操作上是一致的,上傳到當(dāng)前端對(duì)應(yīng)的開放平臺(tái):

img

發(fā)布上線

上傳后,不同端分別到相應(yīng)的開放平臺(tái)提交發(fā)布申請(qǐng),審核后即可上線。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)