node实现生成带参数的小程序二维码并保存到本地功能示例


Posted in Javascript onDecember 05, 2018

本文实例讲述了node实现生成带参数的小程序二维码并保存到本地功能。分享给大家供大家参考,具体如下:

注意:小程序必须要上线才能获取到小程序二维码,否则会报错。。

使用node koa2框架,生成小程序二维码,需要引入两个模块

var requestp = require('request-promise');
var fs = require('fs'); // 载入fs模块

通过微信接口,获取小程序二维码,并保存到本地。返回图片名称。

var wxapi = {};
module.exports = wxapi;
//获取二维码
wxapi.qrcode = async (ctx, next) => {
  //获取access_token
  var access_token = global.access_token
  var qrcodeurl = 'https://api.weixin.qq.com/wxa/getwxacode?access_token='+access_token
  let options = {
    method: 'POST',
    uri: qrcodeurl,
    encoding:null,
    body: {
      "path": 'pages/index/index?openid='+ctx.query.openid,//带参数的path
      "width":280,
      "is_hyaline":false
    },
    json: true
  }
  var imgname='./public/images/'+ ctx.query.openid+'.jpg'
  var imgnameback=ctx.query.openid+'.jpg'
  fs.exists(imgname, function (exists) {
    //判断图片是否存在
    if(!exists){
      //通过微信接口获取小程序码
      requestp(options)
      .then(function (body) { 
        var base64Img = body.toString('base64'); // base64图片编码字符串
        var dataBuffer = new Buffer(base64Img, 'base64');
        //保存到本地
        fs.writeFile(imgname, dataBuffer, function(err) {
          if(err){
            console.log(err);
          }else{
            console.log("保存成功!");
          }
        });
      })
      .catch(function (err) {
        console.log(err)
      });
    }
  })
  //返回图片名
  ctx.body = {
    code: 1,
    img: imgnameback
  }
};
Javascript 相关文章推荐
Mootools 1.2教程 Tooltips
Sep 15 Javascript
js实现点击图片改变页面背景图的方法
Feb 28 Javascript
JS控制表格实现一条光线流动分割行的方法
Mar 09 Javascript
JavaScript位置与大小(1)之正确理解和运用与尺寸大小相关的DOM属性
Dec 26 Javascript
使用DeviceOne实现微信小程序功能
Dec 29 Javascript
AngularJS 异步解决实现方法
Jun 12 Javascript
纯js实现页面返回顶部的动画(超简单)
Aug 10 Javascript
使用cropper.js裁剪头像的实例代码
Sep 29 Javascript
vue脚手架搭建项目的兼容性配置详解
Jul 17 Javascript
Vue文件配置全局变量的实例
Sep 06 Javascript
JS实现带阴历的日历功能详解
Jan 24 Javascript
layui复选框限制选择个数的方法
Sep 18 Javascript
详解如何在Angular优雅编写HTTP请求
Dec 05 #Javascript
JS+HTML5 canvas绘制验证码示例
Dec 05 #Javascript
详解关于Angular4 ng-zorro使用过程中遇到的问题
Dec 05 #Javascript
JS实现简单的点赞与踩功能示例
Dec 05 #Javascript
node.js实现为PDF添加水印的示例代码
Dec 05 #Javascript
vue组件之间通信实例总结(点赞功能)
Dec 05 #Javascript
JS获取今天是本月第几周、本月共几周、本月有多少天、是今年的第几周、是今年的第几天的示例代码
Dec 05 #Javascript
You might like
php visitFile()遍历指定文件夹函数
2010/08/21 PHP
PHP fgetcsv 定义和用法(附windows与linux下兼容问题)
2012/05/29 PHP
几个实用的PHP内置函数使用指南
2014/11/27 PHP
thinkphp3.x中display方法及show方法的用法实例
2016/05/19 PHP
js文件中调用js的实现方法小结
2009/10/23 Javascript
菜鸟javascript基础资料整理3 正则
2010/12/06 Javascript
JavaScript高级程序设计 DOM学习笔记
2011/09/10 Javascript
jQuery学习笔记(4)--Jquery中获取table中某列值的具体思路
2013/04/10 Javascript
javascript操作referer详细解析
2014/03/10 Javascript
jquery仅用6行代码实现滑动门效果
2015/09/07 Javascript
Bootstrap入门书籍之(四)菜单、按钮及导航
2016/02/17 Javascript
用JavaScript动态建立或增加CSS样式表的实现方法
2016/05/20 Javascript
深入理解JS函数的参数(arguments)的使用
2016/05/28 Javascript
vue2滚动条加载更多数据实现代码
2017/01/10 Javascript
解决ie img标签内存泄漏的问题
2017/10/13 Javascript
浅谈Webpack核心模块tapable解析
2018/09/11 Javascript
JS实现省市县三级下拉联动
2020/04/10 Javascript
JavaScript组合模式---引入案例分析
2020/05/23 Javascript
AngularJs的$http发送POST请求,php无法接收Post的数据问题及解决方案
2020/08/13 Javascript
Python中列表list以及list与数组array的相互转换实现方法
2017/09/22 Python
tensorflow TFRecords文件的生成和读取的方法
2018/02/06 Python
Python异常处理例题整理
2019/07/07 Python
Django-rest-framework中过滤器的定制实例
2020/04/01 Python
Windows 下更改 jupyterlab 默认启动位置的教程详解
2020/05/18 Python
浅谈keras中Dropout在预测过程中是否仍要起作用
2020/07/09 Python
python 实现朴素贝叶斯算法的示例
2020/09/30 Python
Python自动化办公Excel模块openpyxl原理及用法解析
2020/11/05 Python
CSS3 函数技巧 用css 实现js实现的事情(clac Counters Tooltip)
2017/08/15 HTML / CSS
HTML中meta标签及Keywords
2020/04/15 HTML / CSS
英国电器零售商:PRC Direct
2018/06/21 全球购物
代码中finally中的代码会不会执行
2012/02/06 面试题
中药专业自荐信范文
2014/03/18 职场文书
敬老院院长事迹材料
2014/05/21 职场文书
省级优秀班集体申报材料
2014/05/25 职场文书
精神文明建设汇报材料
2014/12/24 职场文书
2019终止劳动合同协议书最新范本!
2019/07/09 职场文书