微信小程序卡券功能研究記錄

微信小程序可以使用公眾號的卡券功能了,老板要加上這個功能,只好硬著頭皮研究了。
閱讀開發者文檔可以了解到,在微信小程序開發里提供了兩個主要的關于卡券包的api:

wx.addCard(OBJECT) ----- 批量添加卡券
wx.openCard(OBJECT) ----- 查看微信卡包中的卡券

相關介紹看文檔

那么我覺得這里就應該是卡券功能的切入點,從這里入手小程序卡券功能。

wx.addCard(OBJECT)函數的參數
請求對象說明
cardExt 說明1

cardExt 說明2

關于卡券的擴展參數 必填的只有兩個 一個是時間戳,一個是簽名。

給人的感覺是很簡單的,時間戳,很好獲取,簽名肯定是把很多數據組成字符串然后加密生成的密文。

點開卡券簽名文檔進入的是微信公眾平臺技術文檔

這里一個坑就是他并沒有跳到關于卡券簽名的位置,想來可能微信這邊是出于想讓你看完這篇文檔的考慮才這樣坑我們的

這里是微信卡券

(PS:這個目錄做的挺有意思的,不知道是不完善還是故意設計的,反正我不會,沒事了可以研究研究)

人家說了 想要簽名,必須要有api_ticket,想要api_ticket,必須要有access_token

獲取api_ticket
調用的接口

截圖上方的“2.由于獲取api_ticket 的api 調用次數非常有限,頻繁刷新api_ticket 會導致api調用受限,影響自身業務,開發者需在自己的服務存儲與更新api_ticket。”讓我突然意識到,這些操作應該在后臺服務器實現,應該是幾乎所有的東西都應該在服務器操作,小程序只要拿到了簽名就好了。

那么access_token是什么呢,線索斷了。。。

其實并沒有斷,微信這邊就是希望開發者可以從頭開始看。

獲取access_token

在文檔的開始開發欄下就有關于獲取access_token的介紹。

access_token是公眾號的全局唯一接口調用憑據,公眾號調用各接口時都需使用access_token。開發者需要進行妥善保存。access_token的存儲至少要保留512個字符空間。access_token的有效期目前為2個小時,需定時刷新,重復獲取將導致上次獲取的access_token失效。

這個access_token也是不要重復調用的,有效期也是2個小時,7200秒。

接口調用請求說明

這里的AppID和Appsecret都是在公眾號的設置里可以查看或重置的,AppID不可修改可以查看,是公眾號的唯一標識,Appsecret是開發者密碼,可以重置,但是重置會導致原來的用到Appsecret的功能失效,所以謹慎重置。

通過接口可以獲取到access_token,通過access_token可以獲取到api_ticket,通過api_ticket就可以簽名了。有了簽名,wx.addCard(OBJECT)接口就可以用了。

現在,就是簽名這一步驟了

簽名說明

分析:這些參與簽名的參數似乎都不用從小程序獲取,所以,這些操作最好還是都在服務器操作,通過一個接口返給簽名和時間戳,小程序端直接用就好。

應該就這樣了,捋順了邏輯,就改寫代碼了,服務器端,我也是剛開始研究,寫的很慢,很low,就不上代碼了,希望我的這一番研究對遇到同樣問題的你有所幫助~~

關于wx.openCard(OBJECT)這個接口,大家自行研究吧~

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容