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端代码
// 访问微信后台的URLString URL = systemConfig.getString("LoginOrRegisterUrl");// 请求类型String grant_type = systemConfig.getString("grant_type");// 第三方用户唯一凭证密钥String secret = systemConfig.getString("secret");// 第三方用户唯一凭证String appId = systemConfig.getString("appid");// 请求token时用到的URLString 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参数 Mapmap = new HashMap (); 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社区 其它相关文章!