微信小程序实现二维码生成器

 更新时间:2023年01月09日 16:49:27   作者:失散多年的哥哥  
这篇文章主要为大家详细介绍了如何通过微信小程序开发一个简单的二维码生成器,文中的示例代码讲解详细,感兴趣的小伙伴可以和小编一起学习一下

一、项目展示

项目是一个简单实用的二维码生成器。

使用者可以在生成器中输入文字生成二维码,也可以在识别器中识别二维码的内容

二、项目核心代码

二维码生成

// pages/home/home.js
Page({
  data:{
    qrMsg: '',
    recognizeMsg: '',
    isShowMsg: false,
    isShowResult: false,
    showClear: true,
  },
  onLoad:function(options){
    // 页面初始化 options为页面跳转所带来的参数
    this.setData({
      isShowMsg: false,
      isShowResult: true,
    })
  },
  onReady:function(){
    // 页面渲染完成
  },
  onShow:function(){
    // 页面显示
  },
  onHide:function(){
    // 页面隐藏
  },
  onUnload:function(){
    // 页面关闭
  },

  // 生成二维码
  makeQrcode: function(e) {
    this.setData({
      isShowMsg: false,
      isShowResult: true,
    })
    console.log(this.data.qrMsg + "家")
    if (this.data.qrMsg == "") {
      wx.showToast({
        title: '二维码内容不能为空',
        icon: 'loading',
        duration: 500
      })
      return
    }
    var that = this
    wx.navigateTo({
      url: '../main/main?msg=' + that.data.qrMsg,
      success: function(res){
        // success
      },
      fail: function() {
        // fail
      },
      complete: function() {
        // complete
      }
    })
  },
  bindInput: function(e) {
    console.log(e.detail.value)
    this.setData({
      qrMsg: e.detail.value
    })
    if (this.data['qrMsg'].length > 1) {
      this.setData({
        showClear: false
      })
    } else {
      this.setData({
        showClear: true
      })
    }
  },

  // 清空
  bindClearAll: function(res) {
    wx.redirectTo({
      url: '../home/home',
    })
  },

  // 识别二维码
  recognizeCode: function() {
    this.setData({
      isShowMsg: true,
      isShowResult: false,
      recognizeMsg: "",
    })
    var that = this
    wx.scanCode({
      success: function(res){
        // success
        console.log(res)
        that.setData({
          recognizeMsg: res["result"]
        })
      },
      fail: function() {
        // fail
      },
      complete: function() {
        // complete
      }
    })
  },
  
})
<!--pages/home/home.wxml-->
<view class="container-box">
    <!--生成器-->
    <view class="home-section">
        <view class="home-section-title" bindtap="makeQrcode">
            <text class="home-section-title-make">生成器</text>
            <image class="home-next-btn" src="../../images/next.png"></image>
        </view>
        <view hidden="{{isShowMsg}}">
            <textarea maxlength="-1" bindinput="bindInput" class="recognize-content" placeholder="请输入二维码的文本内容"/>
            <view class="home-clear"><text  hidden="{{showClear}}" bindtap="bindClearAll">CLEAR</text></view>
        </view>
        
    </view>
    <!--识别器-->
    <view class="home-section">
        <view  class="home-section-title" bindtap="recognizeCode">
            <text class="home-section-title-recognize">识别器</text>
            <image class="home-next-btn" src="../../images/next.png"></image>
        </view>
        <view hidden="{{isShowResult}}" class="recog-text">
            <textarea maxlength="-1" value="{{recognizeMsg}}" class="recognize-content"/>
        </view>
    </view>
</view>

到此这篇关于微信小程序实现二维码生成器的文章就介绍到这了,更多相关小程序二维码生成器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • JavaScript文档加载模式以及元素获取

    JavaScript文档加载模式以及元素获取

    这篇文章主要介绍了JavaScript文档加载模式以及元素获取,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • 从数据结构的角度分析 for each in 比 for in 快的多

    从数据结构的角度分析 for each in 比 for in 快的多

    今天仔细琢磨了会,从数据结构的角度分析了下,觉得for in和for each in效率上有着本质的区别,无论是JS还是AS
    2013-07-07
  • js运动动画的八个知识点

    js运动动画的八个知识点

    本文给大家分享的是个人在学习js运动动画的过程中总结的我们需要注意的8个知识点,分别是速度动画、透明度渐变、缓冲运动、多物体运动、获取样式、任意属性值、链式运动和同时运动,非常的详细,推荐给小伙伴们。
    2015-03-03
  • JavaScript实现2种常见的抽奖效果实例代码

    JavaScript实现2种常见的抽奖效果实例代码

    抽奖系统是一种常见的功能,可以用于各种活动和网站,这篇文章主要给大家介绍了关于JavaScript实现2种常见的抽奖效果的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-01-01
  • Javascript 模式实例 中介者模式

    Javascript 模式实例 中介者模式

    页面上,用户会有很多的操作 ,每进行一次操作我们需要去展示操作的结果,在这里我们有了一个问题,我们应如何去展示不同的结果呢?
    2010-04-04
  • layui之select的option叠加问题的解决方法

    layui之select的option叠加问题的解决方法

    下面小编就为大家分享一篇layui之select的option叠加问题的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • javascript结合Cookies实现浏览记录历史

    javascript结合Cookies实现浏览记录历史

    最近在工作当中遇到一个问题 有个页面需要添加一个浏览历史记录功能,具体来说就是要记录下用户在此网站的点击历史 并把它们降序排列出来(只显示前6个浏览历史而且不能重复)。
    2008-09-09
  • 非常实用的js验证框架实现源码 附原理方法

    非常实用的js验证框架实现源码 附原理方法

    这篇文章主要为大家详细介绍了一个非常实用的js验证框架实现源码,并附原理方法,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • js单独获取一个checkbox看其是否被选中

    js单独获取一个checkbox看其是否被选中

    这篇文章主要与大家分享js获取一个checkbox看其是否被选中的具体实现,很简单,但很实用,需要的朋友可以参考下
    2014-09-09
  • js手写贪吃蛇游戏实例源码

    js手写贪吃蛇游戏实例源码

    这篇文章主要给大家介绍了关于js手写贪吃蛇游戏的相关资料,贪吃蛇游戏是一款经典的游戏,在很多平台上都有出现,文中给出了详细源代码,需要的朋友可以参考下
    2023-09-09

最新评论