點擊上方 web項目開發,選擇 設爲星標html
優質文章,及時送達vue
效果圖java
帶參數的小程序二維碼應用場景介紹:
連接:
https://blog.csdn.net/qq_36538012/article/details/79852594web
環境介紹spring
jdk:1.8及以上typescript
技術:springboot
apache
完整源碼獲取json
掃碼關注回覆【生成小程序二維碼】獲取源碼小程序
若是你在運行這個代碼的過程當中有遇到問題,請加小編微信xxf960513,我拉你進對應微信學習羣!!幫助你快速掌握這個功能代碼!後端
核心代碼介紹
pox.xml
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.41</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> </dependency>
<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpmime</artifactId> </dependency>
<!-- 添加Gson依賴--> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> </dependency>
QRcodeController.class
package com.example.demo.util;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.io.OutputStream;import java.util.HashMap;import java.util.Map;
public class QRcodeController {
/** * 詳情看官方文檔 https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/qr-code.html * 此處以官方接口B爲例 * 生成小程序碼,可接受頁面參數較短,生成個數不受限 * param :參數 例如:123 page:須要跳轉的頁面地址 例如:pages/index */ "/getCode") ( public void smallProgramCode(String param, String page, HttpServletResponse response) { OutputStream stream = null; try { //獲取AccessToken String accessToken = getAccessToken(); //設置響應類型 response.setContentType("image/png"); String url = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" + accessToken; //組裝參數 Map<String, Object> paraMap = new HashMap<>(); //二維碼攜帶參數 不超過32位 參數類型必須是字符串 paraMap.put("scene", param); //二維碼跳轉頁面 paraMap.put("page", page); //二維碼的寬度 paraMap.put("width", 450); //自動配置線條顏色,若是顏色依然是黑色,則說明不建議配置主色調 paraMap.put("auto_color", false); //是否須要透明底色, is_hyaline 爲true時,生成透明底色的小程序碼 paraMap.put("is_hyaline", false); //執行post 獲取數據流 byte[] result = HttpClientUtils.doImgPost(url, paraMap); //輸出圖片到頁面 response.setContentType("image/jpg"); stream = response.getOutputStream(); stream.write(result); stream.flush(); stream.close(); } catch (IOException e) { e.printStackTrace(); } } /** * 獲取ACCESS_TOKEN * 官方文檔地址:https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/access-token/auth.getAccessToken.html * <p> * 須要正確的 appid 和 secret 查看本身的微信開放平臺 */ public String getAccessToken() { //這裏須要換成你d的小程序appid String appid = "wx5eeeqrwerwer5ee3f"; //這裏須要換成你d的小程序secret String appSecret = "c91207f9sdfsdfwetwe80f9051b0cd"; //獲取微信ACCESS_TOKEN 的Url String accent_token_url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET"; String url = accent_token_url.replace("APPID", appid).replace("APPSECRET", appSecret); //發送請求 String result = HttpClientUtils.doGet(url); Map<String, Object> resultMap = (Map<String, Object>) JsonUtil.jsonToMap(result); System.out.println("access_token------>" + resultMap.get("access_token").toString()); return resultMap.get("access_token").toString(); }}
--完--
若是你以爲這個案例以及咱們的分享思路不錯,對你有幫助,請分享給身邊更多須要學習的朋友。別忘了《留言+點在看》給做者一個鼓勵哦!
一、springboot+mybatis+vue先後端分離實現用戶登錄註冊功能
三、SpringBoot+Spring Data JPA+Vue先後端分離實現分頁功能
四、SpringBoot+Spring Data JPA+Vue先後端分離實現Excel導出功能
五、Spring Boot + Vue先後端分離實現圖片上傳功能
六、springboot+jpa+tymeleaf實現分頁功能
七、springboot+jpa+thymeleaf實現信息修改功能
爲了方便你們更好的學習,本公衆號常常分享一些完整的單個功能案例代碼給你們去練習,若是本公衆號沒有你要學習的功能案例,你能夠聯繫小編(微信:xxf960513)提供你的小需求給我,我安排咱們這邊的開發團隊免費幫你完成你的案例。
注意:只能提單個功能的需求不能要求功能太多,好比要求用什麼技術,有幾個頁面,頁面要求怎麼樣?
記得留言+點在看+轉發
本文分享自微信公衆號 - web項目開發(javawebkaifa)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。