网友真实露脸自拍10p,成人国产精品秘?久久久按摩,国产精品久久久久久无码不卡,成人免费区一区二区三区

小程序模板網

聊一聊卡卷簽名的那些坑

發布時間:2018-05-03 15:55 所屬欄目:小程序開發教程
最近在做小程序卡卷,真是一個接一個的坑,不僅網上的資料不多,官方文檔更是混亂,搞了好幾天才搞定,這里說說過程中遇到的坑,基本上這些坑90%都出在簽名上。

卡卷簽名主要用到以下幾個參數:
  • api_ticket       (調用卡券相關接口的臨時票據)
  • timestamp      (時間戳,單位為:秒)
  • card_id          (卡卷創建后獲得的卡卷ID)
  • code              (卡券code碼,相當于用戶領取的那張卡卷的卡卷號)
  • openid          (指定領取用戶的opeind)
  • nonce_str     (32位隨機字符串)

因為我是在微信公眾平臺創建卡卷的,所以code和openid并不需要用到,所以實際參與簽名的是api_ticket、timestamp、card_id、nonce_str這4個,card_id在公眾平臺創建卡卷的時候就能看到,timestamp和nonce_str這兩個時間戳和隨機數生成就不用說了很簡單,這里重點說一下api_ticket 。

api_ticket的獲取比較麻煩,我們首先需要獲取到access_token,然后再用access_token換取api_ticket
獲取access_token的接口地址是下面這個:


這里重點來了,我就是在這里被坑了幾天,請求接口中需要我們添加appid和secret,而這里使用的是公眾號的appid和secret!!!公眾號的!公眾號的!重要的事情說三遍,記住是公眾號的appid而不是小程序的!!!

另外還有一點,就是獲取access_token的服務器地址還必須先加入公眾號的白名單,不然會提示獲取不了的,在微信公眾平臺里面點【安全中心】就能看到IP白名單的選項,在里面添加你服務器的ip地址,哦對了,ip白名單在啟用前要先啟用開發者密碼,這個在【基本配置】那里,將開發者密碼啟用后,Ip白名單才能添加地址。

好了,正常下來應該能獲取到access_token了,然后我們需要用它去換取api_ticket
獲取api_ticket的接口地址是下面這個:


這里值得注意的是,兩個接口在短時間內頻繁調用可能會受限,所以api_ticket獲取到后要進行緩存,避免重復調用接口,api_ticket的有效期為2個小時。

好了,到這里簽名所用到的參數都齊了,之后就是生成簽名,官方說明是這樣:


貼一下自己的代碼,PHP端:


最后返回的3個參數將返回給小程序,作為wx.addCard()--cardList--cardExt的值,當然,在賦值前我們還必須把這三個參數json序列化字符串,cardExt接收的是一個字符串而不是對象,那么到這里,卡卷的流程基本就是這樣了。

總結一下幾個要注意的地方:
  • 獲取access_token時,使用的appid是公眾號的而非小程序的
  • 服務器ip地址需要在微信公眾平臺加入ip白名單
  • api_ticket在獲取到后要進行緩存,因為頻繁調用接口有可能會受限。
  • 小程序wx.addCard()中,cardExt參數是一個字符串而不是對象,所以要將簽名連同其他參數轉為字符串后再賦值。
  • cardExt字符串里的字段參數必須和參與簽名的參數一致(card_id除外,這個是寫在wx.addCard()--cardList--cardId)

基本上就是這些了,最后吐槽一下官方開發文檔真夠亂的,有些地方還說得不明不白!!!!


易優小程序(企業版)+靈活api+前后代碼開源 碼云倉庫:starfork
本文地址:http://www.xiuhaier.com/wxmini/doc/course/24211.html 復制鏈接 如需定制請聯系易優客服咨詢:800182392 點擊咨詢
QQ在線咨詢
AI智能客服 ×