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实现的一个include函数
Jul 21 Javascript
JSDoc 介绍使用规范JsDoc的使用介绍
Feb 12 Javascript
学习javascript,实现插入排序实现代码
Jul 31 Javascript
Javascript模块化编程(三)require.js的用法及功能介绍
Jan 17 Javascript
JS交换变量的方法
Jan 21 Javascript
纯javascript制作日历控件
Jul 17 Javascript
javascript跨域请求包装函数与用法示例
Nov 03 Javascript
jQuery层级选择器实例代码
Feb 06 Javascript
js实现弹出框的拖拽效果实例代码详解
Apr 16 Javascript
vue模仿网易云音乐的单页面应用
Apr 24 Javascript
php结合js实现多条件组合查询
May 28 Javascript
JQuery+Bootstrap 自定义全屏Loading插件的示例demo
Jul 03 jQuery
详解如何在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 存储文本换行实现方法
2010/01/05 PHP
php中通过正则表达式下载内容中的远程图片的函数代码
2012/01/10 PHP
基于JQuery+PHP编写砸金蛋中奖程序
2015/09/08 PHP
鼠标划过实现延迟加载并隐藏层的js代码
2013/10/11 Javascript
用js来获取上传的文件名纯粹是为了美化而用
2013/10/23 Javascript
一个JavaScript变量声明的知识点
2013/10/28 Javascript
给js文件传参数(详解)
2014/07/13 Javascript
JavaScript6 let 新语法优势介绍
2016/07/15 Javascript
Vue 2.0学习笔记之Vue中的computed属性
2017/10/16 Javascript
javaScript 连接打印机,打印小票的实例
2017/12/29 Javascript
vue.js获得当前元素的文字信息方法
2018/03/09 Javascript
React+Webpack快速上手指南(小结)
2018/08/15 Javascript
angular学习之动态创建表单的方法
2018/12/07 Javascript
JavaScript创建对象的四种常用模式实例分析
2019/01/11 Javascript
Echarts动态加载多条折线图的实现代码
2019/05/24 Javascript
前端路由&webpack基础配置详解
2019/06/10 Javascript
微信小程序后台持续定位功能使用详解
2019/08/23 Javascript
js实现简单进度条效果
2020/03/25 Javascript
vue实现导航菜单和编辑文本的示例代码
2020/07/04 Javascript
Python单例模式实例详解
2017/03/01 Python
Python 模拟登陆的两种实现方法
2017/08/10 Python
搭建python django虚拟环境完整步骤详解
2019/07/08 Python
python基于property()函数定义属性
2020/01/22 Python
Django admin管理工具TabularInline类用法详解
2020/05/14 Python
Python如何使用27行代码绘制星星图
2020/07/20 Python
诗狄娜化妆品官方网站:Stila Cosmetics
2016/12/21 全球购物
俄罗斯的精英皮具:Wittchen
2018/01/29 全球购物
ECOSUSI官网:女式皮革背包
2019/09/27 全球购物
外贸业务员岗位职责
2013/11/24 职场文书
五年级语文教学反思
2014/01/30 职场文书
小学教师师德演讲稿
2014/05/06 职场文书
幼儿园欢迎词范文
2015/01/26 职场文书
增值税发票丢失证明
2015/06/19 职场文书
2016年小学端午节活动总结
2016/04/01 职场文书
pytorch中的model.eval()和BN层的使用
2021/05/22 Python
分享几个实用的CSS代码块
2022/06/10 HTML / CSS