簡(jiǎn)單介紹微信小程序服務(wù)商-第三方平臺(tái)申請(qǐng)、測(cè)試以及全網(wǎng)發(fā)布相關(guān)流程。另外會(huì)著重例證成為第三方平臺(tái)后前后端需要做哪些事情蝗砾。
一. 第三方平臺(tái)開(kāi)發(fā)初體驗(yàn)
打開(kāi)微信開(kāi)放平臺(tái)https://open.weixin.qq.com/cgi-bin/frame?t=home/wx_plugin_tmpl&lang=zh_CN汇荐。完成開(kāi)發(fā)者資質(zhì)認(rèn)證后打開(kāi)開(kāi)發(fā)文檔https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419318292&token=&lang=zh_CN。
勾選第三方平臺(tái)權(quán)限集
注: 消息管理權(quán)限集建議不要勾選,除非業(yè)務(wù)要求棍厌。 若勾選在申請(qǐng)全網(wǎng)發(fā)布資質(zhì)時(shí)微信會(huì)對(duì)這一項(xiàng)基礎(chǔ)邏輯進(jìn)行檢測(cè)肾胯。
全網(wǎng)發(fā)布以及為什么需要進(jìn)行檢測(cè)
顧名思義以為是只要發(fā)布一個(gè)小程序竖席,那么所有的該模板下面的小程序都發(fā)布了。 NO敬肚!全網(wǎng)發(fā)布只是一種資質(zhì)毕荐。通過(guò)審核后,第三方平臺(tái)就可托管被授權(quán)的公眾號(hào)/小程序艳馒,進(jìn)行登錄授權(quán)憎亚。第三方平臺(tái)后端即可通過(guò)調(diào)api(核心接口:設(shè)置域名、設(shè)置分類弄慰、上傳代碼第美、綁定體驗(yàn)者、獲取體驗(yàn)二維碼陆爽、提交審核什往、發(fā)布)去對(duì)小程序進(jìn)行自動(dòng)化管理。
-
流程如下:
image.png -
登錄授權(quán)發(fā)起頁(yè)域名: 公眾號(hào)/小程序開(kāi)發(fā)發(fā)起授權(quán)等操作必須在此域名下慌闭。
授權(quán)測(cè)試公眾號(hào)列表 : 測(cè)試公眾號(hào)/小程序的原始id(不是appid)别威。
授權(quán)事件接收url : 此接口全限定名,用于接收微信官方推送的消息驴剔。如用戶取消授權(quán)兔港、組件ticket等。一個(gè)小時(shí)內(nèi)會(huì)推送六次仔拟,程序須返回success響應(yīng)衫樊。
白名單ip地址列表: 不在此列的ip,無(wú)法調(diào)用微信相關(guān)接口利花。
微信圖片_20190507152003.png
這里說(shuō)明一下: 微信那邊也有bug科侈,一會(huì)說(shuō)什么沒(méi)有測(cè)試資源。其實(shí)看到這個(gè)圖是已經(jīng)檢測(cè)通過(guò)了炒事。強(qiáng)迫癥可以再點(diǎn)一次臀栈。接下來(lái)就是前后端敲代碼的事情了。
二. 慢慢明朗
如何注冊(cè)小程序挠乳?
- 自主注冊(cè) : 小程序可以是授權(quán)方管理員自己去微信公眾平臺(tái)自己注冊(cè)一個(gè)(若認(rèn)證需要交300認(rèn)證費(fèi))权薯,完善好分類后,把a(bǔ)ppid以及類目提供給第三方睡扬。 然后通過(guò)授權(quán)流程技術(shù)https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1453779503&token=&lang=zh_CN授權(quán)給第三方盟蚣。
- 第三方通過(guò)api接口快速注冊(cè) (有贊、微盟等小程序服務(wù)商就是例子): https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=21538208049W8uwq&token=&lang=zh_CN,通過(guò)該接口創(chuàng)建小程序默認(rèn)“已認(rèn)證“且無(wú)需交300認(rèn)證費(fèi)卖怜。
為什么需要授權(quán)屎开?
如果不進(jìn)行授權(quán),第三方是無(wú)法代開(kāi)發(fā)的马靠。 因?yàn)榇〕绦驅(qū)崿F(xiàn)業(yè)務(wù)必須通過(guò)接口去實(shí)現(xiàn)奄抽,微信既然開(kāi)放了[第三方平臺(tái)開(kāi)發(fā)]這一機(jī)制蔼两,其實(shí)就是希望把被代管的小程序的所有以前在普通小程序后臺(tái)上看到的功能全部通過(guò)接口開(kāi)放給第三方。 因?yàn)榈谌接羞@個(gè)能力去開(kāi)發(fā)并代管逞度。
通過(guò)授權(quán)后额划,第三方后臺(tái)可以獲取到授權(quán)方小程序的接口調(diào)用令牌即authorizer_accesstoken。通過(guò)api接口快速創(chuàng)建小程序后档泽,若注冊(cè)成功锁孟,微信會(huì)推送注冊(cè)審核事件給第三方后臺(tái),里面會(huì)包含appid以及auth_code(使用該授權(quán)碼可以換取authorizer_accesstoken)等關(guān)鍵信息茁瘦。
微信為第三方代小程序?qū)崿F(xiàn)業(yè)務(wù)開(kāi)放的主要接口如下:
小程序授權(quán)完成后品抽,需要登錄[小程序后臺(tái)-設(shè)置-第三方授權(quán)管理 ]去綁定授權(quán)方小程序。
如下圖:
三. 前端小程序的變化
- 小程序這邊引入了一個(gè)模板(小程序模板開(kāi)發(fā):https://developers.weixin.qq.com/miniprogram/dev/devtools/ext.html#%E5%B0%8F%E7%A8%8B%E5%BA%8F%E6%A8%A1%E6%9D%BF%E5%BC%80%E5%8F%91)的概念甜熔。 在開(kāi)發(fā)測(cè)試階段圆恤,前端這邊還是跟開(kāi)發(fā)普通小程序一樣開(kāi)發(fā)。
只是在授權(quán)登錄的時(shí)候需要前端識(shí)別一些參數(shù)腔稀,然后帶給后端盆昙。 該參數(shù)是第三方平臺(tái)后臺(tái)在【上傳代碼】的時(shí)候配置進(jìn)小程序的。api請(qǐng)看:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1489140610_Uavc4&token=&lang=zh_CN焊虏。具體在參數(shù)ext_json.ext里面配置淡喜,可以是當(dāng)前授權(quán)方小程序的appid,前端是可以直接獲取到該自定義參數(shù)然后傳給后端的诵闭。 安全起見(jiàn)炼团,建議對(duì)該參數(shù)加密一下。
微信官方:為了便于第三方平臺(tái)使用同一個(gè)小程序模版為不同的小程序提供服務(wù)疏尿,第三方可以將自定義信息放置在ext_json中瘟芝,在模版小程序中,可以使用接口獲取自定義信息褥琐,從而區(qū)分不同的小程序锌俱。
-
前端上傳代碼
上傳之后就是上傳到開(kāi)放平臺(tái)的后臺(tái)草稿箱部分,每一個(gè)開(kāi)發(fā)者只有一個(gè)草稿敌呈。會(huì)自動(dòng)覆蓋上次贸宏,也就是說(shuō)草稿箱最多只能保存10個(gè),合適的版本就可以添加模板庫(kù)了磕洪。模板庫(kù)最多也只能添加50個(gè)吭练。
前端上傳完成后,第三方平臺(tái)可以在小程序后臺(tái)看到褐鸥,然后可以把草稿指定成模板线脚。 然后就可以提交審核并發(fā)布了赐稽。
image.png
四. 漸入佳境
令牌中控臺(tái)
熟悉微信開(kāi)發(fā)服務(wù)尿性的叫榕,都知道微信有個(gè)accessToken浑侥。 由于微信側(cè)沒(méi)有區(qū)分測(cè)試/正式環(huán)境,只是給調(diào)用方50個(gè)/天的accessToken的機(jī)會(huì)晰绎,用完了當(dāng)天就不能再獲取寓落。 但是調(diào)用方這邊是分了環(huán)境的,所以最好調(diào)用方這邊準(zhǔn)備一個(gè)中控臺(tái)專門(mén)去獲取token荞下。
第三方平臺(tái)也一樣伶选,但是本次有兩個(gè)令牌:component_accesstoken以及authorizer_accesstoken。component_accesstoken是平臺(tái)令牌尖昏,每次更新該令牌需要拿每10分鐘一次微信推送過(guò)來(lái)的ticket去換的仰税。雖然官方說(shuō)是兩小時(shí)有效,筆者測(cè)試發(fā)現(xiàn)當(dāng)ticket有變化時(shí)需要去刷新令牌抽诉,否則使用舊的令牌微信方會(huì)報(bào)令牌已過(guò)期類錯(cuò)誤信息陨簇。
authorizer_accesstoken是授權(quán)方小程序令牌,當(dāng)小程序被授權(quán)后迹淌,第三方側(cè)會(huì)獲取到authcode即授權(quán)碼河绽,使用該authcode(10分鐘內(nèi)有效,過(guò)期后需要重新授權(quán)獲劝η浴)去換取refresh_accesstoken.當(dāng)授權(quán)方小程序令牌過(guò)期后需要使用refresh_accesstoken去重新獲取耙饰。
授權(quán)流程技術(shù)解析
該流程適合于授權(quán)方已自主注冊(cè)小程序,然后需要授權(quán)給第三方的情況纹份。直接通過(guò)快速創(chuàng)建小程序接口注冊(cè)的小程序不需要進(jìn)行該操作苟跪。
五. 第三方后臺(tái)小程序管理
反正我是把接口基本都實(shí)現(xiàn)了,開(kāi)始也不知道哪些可以用蔓涧。 按照微信給的api文檔大多數(shù)都能調(diào)通削咆。
第三方平臺(tái)就到這里,還有不會(huì)的蠢笋,請(qǐng)給我留言哦拨齐!或者去社區(qū)里面發(fā)帖。昨寞。瞻惋。