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

 更新时间: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>

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

相关文章

  • 原生JS实现拖拽功能

    原生JS实现拖拽功能

    这篇文章主要为大家介绍了JS实现拖拽功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-12-12
  • JavaScript Html实现移动端红包雨功能页面

    JavaScript Html实现移动端红包雨功能页面

    这篇文章主要为大家详细介绍了JavaScript Html实现移动端红包雨功能页面,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-01-01
  • JavaScript利用fetch实现异步请求的方法实例

    JavaScript利用fetch实现异步请求的方法实例

    传递信息到服务器,从服务器获取信息,是前端发展的重中之重,尤其是现在前后端分离的大前提下,前后端的数据交互是前端的必修科目了,下面这篇文章主要给大家介绍了关于JavaScript利用fetch实现异步请求的相关资料,需要的朋友可以参考借鉴。
    2017-07-07
  • 如何编写高质量JS代码(续)

    如何编写高质量JS代码(续)

    本文是如何编写高质量JS代码系列文章的第二篇,前篇文章反响还不错,应小伙伴们的要求,今天继续此系列的文章,有需要的小伙伴参考下。
    2015-02-02
  • JavaScript面向对象继承原理与实现方法分析

    JavaScript面向对象继承原理与实现方法分析

    这篇文章主要介绍了JavaScript面向对象继承原理与实现方法,结合实例形式分析就面向对象程序设计中原形、对象、继承的相关概念、原理、实现方法及操作注意事项,需要的朋友可以参考下
    2018-08-08
  • JS+Canvas绘制时钟效果

    JS+Canvas绘制时钟效果

    这篇文章主要为大家详细介绍了基于javascript下使用canvas绘制时钟的具体实现代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • JS基于for语句编写的九九乘法表示例

    JS基于for语句编写的九九乘法表示例

    这篇文章主要介绍了JS基于for语句编写的九九乘法,涉及for语句循环输出结合table表格布局实现九九乘法功能的相关操作技巧,需要的朋友可以参考下
    2018-01-01
  • JS 验证码功能的三种实现方式

    JS 验证码功能的三种实现方式

    这篇文章主要介绍了验证码功能的三种实现方式,分为数字短信验证码,图形验证码,滑动验证码,本文通过示例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-11-11
  • CascadeView级联组件实现思路详解(分离思想和单链表)

    CascadeView级联组件实现思路详解(分离思想和单链表)

    本文介绍自己最近做省市级联的类似的级联功能的实现思路,为了尽可能地做到职责分离跟表现与行为分离,这个功能拆分成了2个组件并用到了单链表来实现关键的级联逻辑,下一段有演示效果的gif图
    2016-04-04
  • Java中int与integer的区别(基本数据类型与引用数据类型)

    Java中int与integer的区别(基本数据类型与引用数据类型)

    这篇文章主要介绍了int与integer的区别(基本数据类型与引用数据类型),简单的说 int 是基本数据类型,integer 是引用数据类型,具体区别详解大家参考下本文
    2017-02-02

最新评论