解讀微信第三方平臺-代小程序開發

簡單介紹微信小程序服務商-第三方平臺申請、測試以及全網發佈相關流程。另外會着重例證成爲第三方平臺後先後端須要作哪些事情。html

一. 第三方平臺開發初體驗

打開微信開放平臺https://open.weixin.qq.com/cgi-bin/frame?t=home/wx_plugin_tmpl&lang=zh_CN。完成開發者資質認證後打開開發文檔https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419318292&token=&lang=zh_CN。前端

勾選第三方平臺權限集json

注: 消息管理權限集建議不要勾選,除非業務要求。 若勾選在申請全網發佈資質時微信會對這一項基礎邏輯進行檢測。 小程序

image.png

全網發佈以及爲何須要進行檢測後端

顧名思義覺得是隻要發佈一個小程序,那麼全部的該模板下面的小程序都發布了。 NO!全網發佈只是一種資質。經過審覈後,第三方平臺就可託管被受權的公衆號/小程序,進行登陸受權。第三方平臺後端便可經過調api(核心接口:設置域名、設置分類、上傳代碼、綁定體驗者、獲取體驗二維碼、提交審覈、發佈)去對小程序進行自動化管理。微信小程序

  1. 流程以下:
    image.png
  2. 登陸受權發起頁域名: 公衆號/小程序開發發起受權等操做必須在此域名下。 受權測試公衆號列表 : 測試公衆號/小程序的原始id(不是appid)。 受權事件接收url : 此接口全限定名,用於接收微信官方推送的消息。如用戶取消受權、組件ticket等。一個小時內會推送六次,程序須返回success響應。 白名單ip地址列表: 不在此列的ip,沒法調用微信相關接口。
    微信圖片_20190507152003.png

微信圖片_20190507152015.png

這裏說明一下: 微信那邊也有bug,一會說什麼沒有測試資源。其實看到這個圖是已經檢測經過了。強迫症能夠再點一次。接下來就是先後端敲代碼的事情了。api

二. 慢慢明朗

如何註冊小程序?安全

  1. 自主註冊 : 小程序能夠是受權方管理員本身去微信公衆平臺本身註冊一個(若認證須要交300認證費),完善好分類後,把appid以及類目提供給第三方。 而後經過受權流程技術https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1453779503&token=&lang=zh_CN受權給第三方。
  2. 第三方經過api接口快速註冊 (有贊、微盟等小程序服務商就是例子): open.weixin.qq.com/cgi-bin/sho…

爲何須要受權?微信

若是不進行受權,第三方是沒法代開發的。 由於代小程序實現業務必須經過接口去實現,微信既然開放了[第三方平臺開發]這一機制,其實就是但願把被代管的小程序的全部之前在普通小程序後臺上看到的功能所有經過接口開放給第三方。 由於第三方有這個能力去開發並代管。 經過受權後,第三方後臺能夠獲取到受權方小程序的接口調用令牌即authorizer_accesstoken。經過api接口快速建立小程序後,若註冊成功,微信會推送註冊審覈事件給第三方後臺,裏面會包含appid以及auth_code(使用該受權碼能夠換取authorizer_accesstoken)等關鍵信息。 微信爲第三方代小程序實現業務開放的主要接口以下: markdown

image.png

小程序受權完成後,須要登陸[小程序後臺-設置-第三方受權管理 ]去綁定受權方小程序。 以下圖:

微信圖片_20190507162323.png

三. 前端小程序的變化

  1. 小程序這邊引入了一個模板(小程序模板開發:developers.weixin.qq.com/miniprogram… 在開發測試階段,前端這邊仍是跟開發普通小程序同樣開發。

只是在受權登陸的時候須要前端識別一些參數,而後帶給後端。 該參數是第三方平臺後臺在【上傳代碼】的時候配置進小程序的。api請看:open.weixin.qq.com/cgi-bin/sho… 安全起見,建議對該參數加密一下。 微信官方:爲了便於第三方平臺使用同一個小程序模版爲不一樣的小程序提供服務,第三方能夠將自定義信息放置在ext_json中,在模版小程序中,可使用接口獲取自定義信息,從而區分不一樣的小程序。

  1. 前端上傳代碼 上傳以後就是上傳到開放平臺的後臺草稿箱部分,每個開發者只有一個草稿。會自動覆蓋上次,也就是說草稿箱最多隻能保存10個,合適的版本就能夠添加模板庫了。模板庫最多也只能添加50個。 前端上傳完成後,第三方平臺能夠在小程序後臺看到,而後能夠把草稿指定成模板。 而後就能夠提交審覈併發布了。
    image.png

四. 漸入佳境

令牌中控臺

熟悉微信開發服務尿性的,都知道微信有個accessToken。 因爲微信側沒有區分測試/正式環境,只是給調用方50個/天的accessToken的機會,用完了當天就不能再獲取。 可是調用方這邊是分了環境的,因此最好調用方這邊準備一箇中控臺專門去獲取token。

第三方平臺也同樣,可是本次有兩個令牌:component_accesstoken以及authorizer_accesstoken。component_accesstoken是平臺令牌,每次更新該令牌須要拿每10分鐘一次微信推送過來的ticket去換的。雖然官方說是兩小時有效,筆者測試發現當ticket有變化時須要去刷新令牌,不然使用舊的令牌微信方會報令牌已過時類錯誤信息。

authorizer_accesstoken是受權方小程序令牌,當小程序被受權後,第三方側會獲取到authcode即受權碼,使用該authcode(10分鐘內有效,過時後須要從新受權獲取)去換取refresh_accesstoken.當受權方小程序令牌過時後須要使用refresh_accesstoken去從新獲取。

受權流程技術解析

該流程適合於受權方已自主註冊小程序,而後須要受權給第三方的狀況。直接經過快速建立小程序接口註冊的小程序不須要進行該操做。

open.weixin.qq.com/cgi-bin/sho…

image.png

五. 第三方後臺小程序管理

反正我是把接口基本都實現了,開始也不知道哪些能夠用。 按照微信給的api文檔大多數都能調通。 第三方平臺就到這裏,還有不會的,請給我留言哦!或者去社區裏面發帖。。。

image.png
image.png
相關文章
相關標籤/搜索