最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

nodejs獲取微信小程序帶參數(shù)二維碼實現(xiàn)代碼

 更新時間:2017年04月12日 11:11:55   作者:興xing0_0  
這篇文章主要介紹了nodejs獲取微信小程序帶參數(shù)二維碼實現(xiàn)代碼的相關資料,需要的朋友可以參考下

nodejs獲取微信小程序帶參數(shù)二維碼實現(xiàn)代碼

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

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

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

2、獲取完token之后,再發(fā)送請求獲取二維碼,坑的是,微信沒有告訴我們獲取的是二進制流,之前一直是寫前端的代碼,對流沒有概念,百度之,谷歌之,折騰了兩天,終于搞定。還遇到了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; 
//請求二維碼的參數(shù) 
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請求數(shù)據(jù)出錯'); 
  } 
 } 
} 
module.exports = createQrcode;//暴露對象,調(diào)用create方法既可以創(chuàng)建二維碼 

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關文章

  • Node.js數(shù)據(jù)流Stream之Duplex流和Transform流用法

    Node.js數(shù)據(jù)流Stream之Duplex流和Transform流用法

    這篇文章介紹了Node.js數(shù)據(jù)流Stream之Duplex流和Transform流的用法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • express中間件加載機制示例詳解

    express中間件加載機制示例詳解

    中間件是一種方法,可以接收客戶端發(fā)來的請求,可以對請求做出響應,也可以將請求繼續(xù)交給下一個中間件繼續(xù)處理,下面這篇文章主要給大家介紹了關于express中間件加載機制的相關資料,需要的朋友可以參考下
    2022-08-08
  • node.js的http.createServer過程深入解析

    node.js的http.createServer過程深入解析

    這篇文章主要給大家介紹了關于node.js的http.createServer過程的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用node.js具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-06-06
  • node學習記錄之搭建web服務器教程

    node學習記錄之搭建web服務器教程

    本篇文章主要介紹了詳解node學習記錄——搭建web服務器,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • Node.js之構建WebSocket服務全過程

    Node.js之構建WebSocket服務全過程

    這篇文章主要介紹了Node.js之構建WebSocket服務全過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-09-09
  • node.js結(jié)合webSocket實現(xiàn)聊天室

    node.js結(jié)合webSocket實現(xiàn)聊天室

    于Node.js和WebSocket的聊天室,主要包括前端頁面,主要是用戶操作的頁面,還包括后臺數(shù)據(jù)通信以及邏輯處理,具有一定的參考價值,感興趣的可以了解一下
    2023-08-08
  • vscode 調(diào)試 node.js的方法步驟

    vscode 調(diào)試 node.js的方法步驟

    這篇文章主要介紹了vscode 調(diào)試 node.js的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • 詳解如何使用nvm管理Node.js多版本

    詳解如何使用nvm管理Node.js多版本

    這篇文章主要介紹了詳解如何使用nvm管理Node.js多版本,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • 使用nvm安裝node的詳細圖文教程

    使用nvm安裝node的詳細圖文教程

    nvm是nodejs的版本管理工具,可以在一個環(huán)境中同時安裝多個nodejs 版本(和配套的 npm 版本),并隨時切換,下面這篇文章主要給大家介紹了關于使用nvm安裝node的詳細圖文教程,需要的朋友可以參考下
    2023-02-02
  • nodejs獲取微信小程序帶參數(shù)二維碼實現(xiàn)代碼

    nodejs獲取微信小程序帶參數(shù)二維碼實現(xiàn)代碼

    這篇文章主要介紹了nodejs獲取微信小程序帶參數(shù)二維碼實現(xiàn)代碼的相關資料,需要的朋友可以參考下
    2017-04-04

最新評論

泰来县| 巴林左旗| 乐东| 耒阳市| 富川| 恭城| 房产| 阿拉善左旗| 百色市| 措勤县| 屏东县| 桓仁| 读书| 改则县| 年辖:市辖区| 嘉兴市| 淅川县| 兴山县| 五大连池市| 永清县| 白水县| 年辖:市辖区| 南溪县| 扎赉特旗| 阳城县| 霍山县| 东丽区| 汉阴县| 聊城市| 城固县| 溆浦县| 哈巴河县| 乐至县| 西丰县| 嘉禾县| 云林县| 寻乌县| 巍山| 随州市| 平山县| 濉溪县|