• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >微信小程序 > 微信小程序用户点击按钮生成带参二维码的示例代码

微信小程序用户点击按钮生成带参二维码的示例代码

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-11-30

匿名通过本文主要向大家介绍了微信小程序等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
目标:
请求二维码并展示
步骤:
用户点击按钮生成二维码
步骤:
1、微信小程序往后台请求二维码
2、后台(java/php) 根据微信小程序信息往微信端请求tonken
3、后台得到tonken后往微信端请求二维码图片
4、后台得到图片后保存在服务器上,将路径返回给微信小程序
5、微信小程序得到路径后,根据路径下载图片
6、下载图片成功后再保存至本地
7、保存成功后将路径给予image标签里面展示
代码:
wxml

<image class="scanimg" src="{{filePath}}" bindtap="getAgain"></image>
<button type="primary" bindtap="primary">点击生成二维码</button>

s代码

primary:function (e) {
var _url = '后台地址';
  wx.request({
    url: _url,
//请求报文体
    data: [{
      id: agentCode
    }],
    method: 'POST',
    header: {
      'content-type': 'application/json'
    },
    success: function (res) {
//为00时表示成功,得到二维码的地址
      if (res.data.code == '00') {
        console.log("成功")
//下载二维码
        wx.downloadFile({
          url: res.data.body[0].URL,
          success: function (res) {
//如果二维码中的id为固定值可以将图片保存到本地,否则不用保存
            wx.saveFile({
              tempFilePath: res.tempFilePath,
              success: function (res) {
                console.log("保存成功")
_that.setData({
filePath: res.savedFilePath
})
console.log(res.savedFilePath)
try {
//id为定值,则将保存的地址存入缓存,非定值则只需要setData就行
wx.setStorageSync('filePath', res.savedFilePath)
} catch (e) {
console.log(e)
}
              },
              fail: function (res) {
                console.log("保存失败")
                console.log(res)
              }
            })
          }, fail: function (res) {
            util.msg("错误", "通讯失败")
            console.log(res)
          }
        })
      } else {
        console.log("错误")
        util.msg("错误", res.data.msg)
      }
    },
    fail: function () {
      util.msg("错误", "通讯失败")
      console.log(res)
    }
  })
}

java端代码

// 访问微信后台的URL
String URL = systemConfig.getString("LoginOrRegisterUrl");
// 请求类型
String grant_type = systemConfig.getString("grant_type");
// 第三方用户唯一凭证密钥
String secret = systemConfig.getString("secret");
// 第三方用户唯一凭证
String appId = systemConfig.getString("appid");
// 请求token时用到的URL
String tokenUrl = systemConfig.getString("tokenUrl");
// 向微信后台请求获取token
                        String sendGet = HttpClientConnectionManager.sendGet(
                                tokenUrl, "grant_type=" + grant_type
                                        + "&secret=" + secret + "&appid="
                                        + appId + "");
                        System.out.println(sendGet);
                        JSONObject json = JSONObject.fromObject(sendGet);
                        access_token = json.get("access_token").toString();
                        if (access_token == null) {
//没有token 则返回错误码和错误信息
                            agentDTO.setCode("0002");
                            agentDTO.setDesc("获取tokenId失败");
                            return agentDTO;
                        }
System.out.println(access_token);
// 访问微信后台带的json参数
                    Map<String, Object> map = new HashMap<String, Object>();
                    map.put("path", "pages/register");//你二维码中跳向的地址
                    map.put("width", "430");//图片大小
                    JSONObject json = JSONObject.fromObject(map);
                    HttpClientConnectionManager.httpPostWithJSON(URL
                            + access_token, json.toString(), id + "max");
                    // 返回给前端的后台服务器文件读取路径
                    String downloadUrl = systemConfig
                            .getString("agentImgDownloadUrl")
                            + id
                            + "max"
                            + "/";
                    // 返回给前端的后台服务器文件下载路径
                    String downloadfileUrl = downloadUrl + id + "max" + ".jpg";
                    agentResView.setURL(downloadfileUrl);
                    agentDTO.setAgentResView(agentResView);
agentDTO.setCode("00");
agentDTO.setDesc("成功");
                        return agentDTO;

tip
1、这是申请一张二维码的代码,申请多张可以用for或者其他的方法
2、当id为定量时,每次点击按钮判断filePath缓存是否存在,存在则直接取值展示,不存在则向后台请求二维码

以上就是微信小程序用户点击按钮生成带参二维码的示例代码的详细内容,更多请关注微课江湖其它相关文章!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2018-11-30从零开发微信小程序(四)
  • 2018-11-30数独解题小程序实现代码
  • 2018-11-30微信小程序之多文件下载的简单封装
  • 2018-11-30微信小程序开发(四)小程序开发实操指南
  • 2018-11-30微信小程序开发之跑步微信小程序
  • 2018-11-30教你快速使用微信小程序 微信小程序从哪进入
  • 2018-11-30关于微信小程序url与token的设置
  • 2018-11-23微信小程序云开发服务端数据库API Collection.skip
  • 2018-11-30微信小程序开发一键登录 获取session_key和openid的实现
  • 2018-11-30从零开始开发微信小程序(二)

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 微信小程序页面间跳转如何监听事件?
    • 微信小程序开发之快递查询功能的实现实例代码
    • 小程序开发之计算器
    • 微信小程序云开发API 查询指令
    • 微信小程序上传图片实战案例解析
    • 微信小程序的掘金信息流demo代码
    • 微信小程序开发弹出框实现方法
    • 微信小程序云开发服务端数据库API 创建集合
    • 微信小程序开发系列(二)开发组件使用的详解
    • 模拟登录教务系统计算GPA的小程序

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有