中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

nodejs怎么獲取微信小程序帶參數二維碼

發布時間:2021-04-20 14:25:51 來源:億速云 閱讀:299 作者:小新 欄目:web開發

這篇文章主要介紹nodejs怎么獲取微信小程序帶參數二維碼,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

JS是什么

JS是JavaScript的簡稱,它是一種直譯式的腳本語言,其解釋器被稱為JavaScript引擎,是瀏覽器的一部分,主要用于web的開發,可以給網站添加各種各樣的動態效果,讓網頁更加美觀。

nodejs獲取微信小程序帶參數二維碼實現代碼

由于項目需求,需要獲取小程序頁面的帶有參數的二維碼。好,那就看文檔搞吧。

之前都是寫前端,沒有寫過后臺的東西,這次難得有機會組長讓我試一試試用node來寫,那就寫吧。

1、首頁獲取token,發送request請求,用get的方式,在url后面加上小程序的grant_type,appid,secret,就順利拿到token了,注意,這個token是有有效時間的,小程序的是7200秒,也就是2個小時,每天獲取的次數有限,需要有個中控服務器定時獲取token,由于我的業務量小,就沒有對token進行保存了,每次都是重新獲取。

2、獲取完token之后,再發送請求獲取二維碼,坑的是,微信沒有告訴我們獲取的是二進制流,之前一直是寫前端的代碼,對流沒有概念,百度之,谷歌之,折騰了兩天,終于搞定。還遇到了express的坑,用原來express的代碼,死活生成不了二維碼,新建一個express再生成二維碼就沒問題,莫名其妙的坑。

上代碼:

var fs = require('fs'); 
var request = require('request'); 
var wx_conf = require('../../conf/wx_conf');//這里放了微信appid跟appSecret,文件沒有引入進來,要用的時候,改一下吧。 
var AccessToken = { 
 grant_type: 'client_credential', 
 appid: wx_conf.appId, 
 secret: wx_conf.appSecret 
} 
var wx_gettoken_url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=' + AccessToken.grant_type + '&appid=' + AccessToken.appid + '&secret=' + AccessToken.secret; 
//請求二維碼的參數 
var postData = { 
 path: "pages/index/index", 
 width: 430 
} 
var createQrcode = { 
 create: function() { 
  console.log('fn:create'); 
  this.getToken(); 
 }, 
 //獲取微信的token 
 getToken: function() { 
  console.log('fn:getToken'); 
  var that = this; 
  new Promise((resolve, reject) => { 
   console.log('進入Promise方法了'); 
   request({ 
    method: 'GET', 
    url: wx_gettoken_url 
   }, function(err, res, body) { 
    if (res) { 
     resolve({ 
      isSuccess: true, 
      data: JSON.parse(body) 
     }); 
    } else { 
     console.log (err); 
     reject({ 
      isSuccess: false, 
      data: err 
     }); 
    } 
   }) 
  }).then(proData => { 
   that.getQrcode(proData); 
  }); 
 }, 
 //生成二維碼 
 getQrcode: function(proData) { 
  console.log ('fn:getQrcode'); 
  if (proData.isSuccess) { 
   postData = JSON.stringify(postData); 
   request({ 
    method: 'POST', 
    url: 'https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=' + proData.data.access_token, 
    body: postData 
   }).pipe(fs.createWriteStream('./public/images/index.png'));//路徑自己定義吧 
  } else { 
   console.log('Promise請求數據出錯'); 
  } 
 } 
} 
module.exports = createQrcode;//暴露對象,調用create方法既可以創建二維碼

以上是“nodejs怎么獲取微信小程序帶參數二維碼”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

江口县| 清丰县| 海林市| 应城市| 义乌市| 平江县| 高州市| 磴口县| 宝应县| 平谷区| 平舆县| 镇宁| 高安市| 东乌珠穆沁旗| 宁波市| 祥云县| 苗栗县| 阿拉善左旗| 册亨县| 沙湾县| 平凉市| 赣榆县| 无锡市| 潢川县| 苍溪县| 普安县| 溆浦县| 南召县| 株洲市| 海宁市| 呼伦贝尔市| 舞阳县| 霍山县| 抚宁县| 潞西市| 南靖县| 贵州省| 肇源县| 确山县| 浦北县| 泰兴市|