搜索
首页微信小程序小程序开发微信小程序用户点击按钮生成带参二维码的示例代码

目标: 
请求二维码并展示 
步骤: 
用户点击按钮生成二维码 
步骤: 
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缓存是否存在,存在则直接取值展示,不存在则向后台请求二维码 

以上是微信小程序用户点击按钮生成带参二维码的示例代码的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
1 个月前By尊渡假赌尊渡假赌尊渡假赌

热工具

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中