本章内容出自《小程式開發不求人》電子書, 點選下載下傳完整版
小程式模闆介紹
角色介紹
- 系統服務商(ISV):負責開發、維護小程式模闆,基于模闆執行個體化出商戶小程式。是被委托方。
- 商戶:委托系統服務商(ISV)基于系統服務商(ISV)提供的小程式模闆執行個體化出商戶自己的小程式。是委托方。
模闆開發模式的核心
三方小程式模闆,是支付寶為系統服務商(ISV)提供批量生成小程式的能力,系統服務商(ISV)通過模闆開發,得到商戶授權後,即可快速根據模闆代碼給商戶快速執行個體化小程式。
模闆開發模式下系統服務商(ISV)可以通過 API 接口批量處理商家小程式,比如系統服務商(ISV)通過模闆開發模式服務了 1 萬個不同的餐飲小程式,如果需要對這 1 萬個不同的小程式做版本更新時,在模闆開發模式下,可以實作用API 接口建構、提審、上架這 1 萬個不同的小程式。
在模闆開發模式下商戶把自己的小程式授權給系統服務商(ISV)的三方應用,讓系統服務商(ISV)去幫商戶實作商戶小程式的代碼建構、提審以及商戶小程式上架。在商戶把商戶小程式授權給系統服務商(ISV)的三方應用後,商戶小程式的代碼隻能通過服務商三方應用下的小程式模闆代碼去建構。
業務特點:
- 開發流程:系統服務商(ISV)先開發小程式模闆的代碼,然後通過小程式模闆的代碼去建構商戶小程式的代碼。
- 快速開通:通過服務市場,商戶僅需完成訂購,即完成商戶小程式授權,通過模闆快速生成自有商戶小程式。
- 批量維護:系統服務商(ISV)可代商戶實作小程式的快速批量更新。
模式簡介
系統服務商(ISV)可以通過研發小程式模闆的方式,為商戶提供标準化的小程式代開發服務,快速規模化的拓展商戶。
模闆開發主要有四步:
1、系統服務商(ISV) 需建立和開發第三方應用。如已經擁有,則可以沿用;
2、在第三方應用下建立小程式模闆,并完成開發;
3、引導商戶完成小程式授權:
- 系統服務商(ISV)通過第三方應用,引導商戶将小程式應用授權給自己,以便進行後面模闆小程式執行個體化的實施操作;
- 系統服務商(ISV)釋出模闆為服務,并引導商戶在服務市場訂購對應小程式模闆,或完成小程式應用授權。操作如下:
- 系統服務商(ISV) 引導商戶在服務市場訂購小程式模闆。如商戶沒有小程式,在訂購過程中平台會讓商戶完成小程式的建立并授權;
- 系統服務商( ISV)通過線下推廣的方式,引導商戶完成模闆服務的授權。如商戶沒有小程式,在授權過程中平台會讓商戶完成小程式的建立;
4、系統服務商(ISV)通過平台接口完成模闆小程式的建構、提審、測試、上架等操作。
小程式插件介紹
插件是小程式的一項能力,插件 2.0 體系使插件不僅像元件一樣可以嵌入到主體小程式頁面内部,而且還可以像頁面一樣提供獨立服務,可以從主體小程式進行跳轉,同時我們對主體小程式和插件進行權限隔離,在保證插件資料安全的前提下提供更多的靈活性。目前隻有 支付寶官方 才能開發,但所有的開發者可以通過支付寶服務市場來擷取和使用這些插件。
每個插件有插件 ID(和小程式 AppID 同一命名空間),形态在功能和結構上和小程式類似,不同的是插件運作在主體小程式的上下文之中,對主體小程式的能力進行擴充。
目前插件主要聚焦于門店小程式的場景,用于三方開發者對各門店進行能力上的擴充,如電子發票、配送和預訂等。
主體小程式和插件的差別

插件與開放平台、商家及使用者之間的關系
- 在開發時,插件開發商需要和開放平台簽約獲得特色能力(如支付) 。
- 商家購買插件後,在門店啟用時,根據插件所需要獲得的資訊(如門店名稱)對插件進行授權,這樣插件在運作時可擷取被授權的資訊 。
- 在使用者使用過程中,喚起插件時,如果插件需要擷取使用者資訊(如使用者名稱、最近消費金額和時間),需要使用者授權。
插件開發和使用涉及到的場景
場景 1:小程式及小程式模闆開發
- 小程式和小程式模闆(特别是後者)在開發時,需要明确是否支援插件熱插拔,如果需要支援,需預留可插拔的位置,需要定義相關的參數傳遞處理邏輯,例如對于插件所需要的不同參數的獲得與傳遞 。
- 在釋出時,需要明确自己将對插件暴露什麼樣的參數 id、類型和描述,這樣插件開發者可以通過這些約定來獲得這些參數。
場景 2:插件開發
- 插件的業務目标決定了它被喚起時需要獲得主體程式什麼樣的資訊,這個時候需要定義插件期待的資訊參數 id:例如對于電子發票小服務,它希望在喚起的時候能夠獲得主體小程式目前門店的名稱 。
- 另外對于插件所需要的功能包,需要和開放平台進行簽約 。
場景 3:插件的購買和啟用
- 商家在選擇購買和啟用插件的時候,如果插件需要獲得商家小程式的資訊,需顯示出來并讓商家進行明确的授權:例如對于電子發票插件,訂購和啟用時,會提示該插件需要在運作時獲得目前門店的名稱,這需要商家明确同意,否則不能購買和啟用 。
- 如果插件需要的資訊在商家小程式中并不存在,則表明插件不适用于該商家,不能進行購買和啟用 。
場景 4:插件的使用
- 使用者可以在主體小程式喚起插件,例如在門店點選電子發票進行開票。插件如果在這個時候需要獲得使用者相關的資訊如使用者名稱、目前門店消費金額和時間,需要使用者明确授權 。
- 對于商家已在購買和啟用時所授權的資訊如門店名稱,主體小程式在喚起插件時會根據插件所需要的參數 id 傳遞過來相關的資訊 。
- 插件利用獲得的使用者資訊和商家資訊,運作相關業務邏輯對使用者提供服務。