W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
多端發(fā)布 是指使用支付寶小程序提供的各種接口,來開發(fā)小程序并發(fā)布到各個(gè)端使用。也就是說可以讓開發(fā)者開發(fā)一次支付寶小程序,同一套代碼不做任何改動(dòng)就可以通過發(fā)布到各個(gè)端,同時(shí)觸達(dá)更多的用戶群體,節(jié)約了開發(fā)成本。
支付寶小程序目前支持的端有:
需要登錄 開發(fā)者中心控制臺(tái) > 在相應(yīng)小程序點(diǎn)擊進(jìn)入管理后臺(tái) > 開發(fā)服務(wù) > 開發(fā)設(shè)置 > 多端發(fā)布支持 > 點(diǎn)擊 開通 其他端的發(fā)布權(quán)限。開通后頁(yè)面上方可選擇切換為其他端的發(fā)布頁(yè)面。
說明:
開發(fā)者使用同一套代碼,通過 IDE 在不同環(huán)境下進(jìn)行構(gòu)建,然后上傳并發(fā)布在不同的端上:
所有的端使用同一套小程序框架,語(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í),開發(fā)者根據(jù)自己的應(yīng)用場(chǎng)景,在不同的端下選擇不同的應(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ù)覽:
不同端的真機(jī)預(yù)覽在操作上是一致的,但需要使用當(dāng)前端 APP 掃碼進(jìn)行預(yù)覽:
不同端的上傳在操作上是一致的,上傳到當(dāng)前端對(duì)應(yīng)的開放平臺(tái):
上傳后,不同端分別到相應(yīng)的開放平臺(tái)提交發(fā)布申請(qǐng),審核后即可上線。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: