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 相关文章推荐
js下用gb2312编码解码实现方法
Dec 31 Javascript
javascript cookie操作类的实现代码小结附使用方法
Jun 02 Javascript
使用javascript控制cookie显示和隐藏背景图
Feb 12 Javascript
jquery实现图片按比例缩放示例
Jul 01 Javascript
JavaScript获取网页、浏览器、屏幕高度和宽度汇总
Dec 18 Javascript
jQuery实现灰蓝风格标准二级下拉菜单效果代码
Aug 31 Javascript
JavaScript实现定时页面跳转功能示例
Feb 14 Javascript
分析javascript中9 个常见错误阻碍你进步
Sep 18 Javascript
React Native中Navigator的使用方法示例
Oct 13 Javascript
js注册时输入合法性验证方法
Oct 21 Javascript
了解JavaScript函数中的默认参数
May 30 Javascript
Vue.js+cube-ui(Scroll组件)实现类似头条效果的横向滚动导航条
Jun 24 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木马webshell扫描器代码
2012/01/25 PHP
浅析php过滤html字符串,防止SQL注入的方法
2013/07/02 PHP
windows下PHP_intl.dll正确配置方法(apache2.2+php5.3.5)
2014/01/14 PHP
php实现模拟登陆方正教务系统抓取课表
2015/05/19 PHP
PHP实现GIF图片验证码
2015/11/04 PHP
php版微信公众账号第三方管理工具开发简明教程
2016/09/23 PHP
Thinkphp5框架使用validate实现验证功能的方法
2019/08/27 PHP
Jquery 获取checkbox的checked问题
2011/11/16 Javascript
js修改input的type属性问题探讨
2013/10/12 Javascript
JavaScript异步回调的Promise模式封装实例
2014/06/07 Javascript
nodejs中实现sleep功能实例
2015/03/24 NodeJs
Bootstrap每天必学之工具提示(Tooltip)插件
2016/04/26 Javascript
jQuery插件制作的实例教程
2016/05/16 Javascript
微信小程序 详解下拉加载与上拉刷新实现方法
2017/01/13 Javascript
JavaScript实现类似淘宝的购物车效果
2017/03/16 Javascript
使用MUI框架模拟手机端的下拉刷新和上拉加载功能
2017/09/04 Javascript
使用nodejs+express实现简单的文件上传功能
2017/12/27 NodeJs
ES6 迭代器(Iterator)和 for.of循环使用方法学习(总结)
2018/02/08 Javascript
jquery分页优化操作实例分析
2019/08/23 jQuery
vue 动态设置img的src地址无效,npm run build 后找不到文件的解决
2020/07/26 Javascript
详解python之多进程和进程池(Processing库)
2017/06/09 Python
Python基于Pymssql模块实现连接SQL Server数据库的方法详解
2017/07/20 Python
安装Python的教程-Windows
2017/07/22 Python
Python通过paramiko远程下载Linux服务器上的文件实例
2018/12/27 Python
python使用原始套接字发送二层包(链路层帧)的方法
2019/07/22 Python
W3C公布最新的HTML5标准草案
2008/10/17 HTML / CSS
Julep官网:美容产品和指甲油
2017/02/25 全球购物
澳大利亚买卖正宗二手奢侈品交易平台:Luxe.It.Fwd
2019/10/16 全球购物
2014年党建工作汇报材料
2014/10/27 职场文书
实习单位证明范例
2014/11/17 职场文书
小学教师节活动总结
2015/03/20 职场文书
庆祝教师节活动总结
2015/03/23 职场文书
尼克胡哲观后感
2015/06/08 职场文书
干货分享:推荐信写作技巧!
2019/06/21 职场文书
MySQL主从搭建(多主一从)的实现思路与步骤
2021/05/13 MySQL
Nginx 常用配置
2022/05/15 Servers