1. 程式人生 > >生成無限制的微信小程式碼

生成無限制的微信小程式碼

概述

現在除了用二維碼之外,微信還可以為我們生成小程式碼,大概長這個樣子。
這裡寫圖片描述

如果要生成無限制的小程式碼,需要幾個步驟
1、小程式某個頁面的地址,也即是指定page引數的值;
2、獲取access_token;
3、指定scene引數的值;
4、呼叫getwxacodeunlimit介面,並將返回結果儲存到一個圖片裡。

page引數

page引數的值都是以pages開頭的,後面加上能到導航到某個小程式頁面的路徑,例如:

pages/xxxxxx

獲取access_token

這個比較簡單,只需要根據小程式對應的appid和secret以及grant_type三個引數的值,就可以獲取到access_token

用JAVA寫的話,虛擬碼大概如下:

  Map<String,String> params = new HashMap<>();
  params.put("grant_type","client_credential");
  params.put("appid","xxxxxAppId");
  params.put("secret","xxxxxxxAppSecret");        

  //發起請求
  HttpResponse httpResponse = HttpClientUtil.get("https://api.weixin.qq.com/cgi-bin/token"
,params); //從response中獲取token String token = httpResponse.getToken();

獲取到token後,一般會設定有效期,然後將token儲存到快取裡,避免每次都得去微信平臺獲取。

指定scene引數的值

scene的值可以是我們的業務主鍵,只要小程式內唯一就好。

生成小程式碼

有了這幾個引數後,就可以用

介面獲取小程式碼的內容了。從這個介面獲取到內容後,將內容寫入到圖片裡,最後將圖片的URL發到小程式端。微信使用掃一掃就可以將小程式碼識別出來。

使用單獨的應用儲存圖片

在一些稍微大型的公司裡,都會有自己的圖片伺服器,專門用來儲存圖片的。要讀取圖片,直接呼叫介面從圖片伺服器裡讀取即可。但是對於一些創業公司來說,通常沒有能力也沒有時間自己研發一套圖片儲存服務,通常都是使用第三方平臺,例如七牛

七牛的圖片處理還是很不錯,將圖片上傳到七牛後,會得到一個圖片的url,小程式端只需要解析這個url就可以顯示小程式碼對應的介面了。