微信小程序怎么做(微信小程序二维码生成)
- 时间:
- 来源: 网络
微信小程序怎么做已经是当下最热门的话题,下面将从多方面来谈谈用户点击按钮生成二维码相关的内容。
目标:
请求二维码并展示
步骤:
用户点击按钮生成二维码
步骤:
1、微信小程序往后台请求二维码
2、后台(java/php)根据微信小程序信息往微信端请求tonken
3、后台得到tonken后往微信端请求二维码图片
4、后台得到图片后保存在服务器上,将路径返回给微信小程序
5、微信小程序得到路径后,根据路径下载图片
6、下载图片成功后再保存至本地
7、保存成功后将路径给予image标签里面展示
代码:
wxml
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
StringURL=systemConfig.getString("LoginOrRegisterUrl");
//请求类型
Stringgrant_type=systemConfig.getString("grant_type");
//第三方用户唯一凭证密钥
Stringsecret=systemConfig.getString("secret");
//第三方用户唯一凭证
StringappId=systemConfig.getString("appid");
//请求token时用到的URL
StringtokenUrl=systemConfig.getString("tokenUrl");
//向微信后台请求获取token
StringsendGet=HttpClientConnectionManager.sendGet(
tokenUrl,"grant_type="+grant_type
+"&secret="+secret+"&appid="
+appId+"");
System.out.println(sendGet);
JSONObjectjson=JSONObject.fromObject(sendGet);
access_token=json.get("access_token").toString();
if(access_token==null){
//没有token则返回错误码和错误信息
agentDTO.setCode("0002");
agentDTO.setDesc("获取tokenId失败");
returnagentDTO;
}
System.out.println(access_token);
//访问微信后台带的json参数
Map
map.put("path","pages/register");//你二维码中跳向的地址
map.put("width","430");//图片大小
JSONObjectjson=JSONObject.fromObject(map);
HttpClientConnectionManager.httpPostWithJSON(URL
+access_token,json.toString(),id+"max");
//返回给前端的后台服务器文件读取路径
StringdownloadUrl=systemConfig
.getString("agentImgDownloadUrl")
+id
+"max"
+"/";
//返回给前端的后台服务器文件下载路径
StringdownloadfileUrl=downloadUrl+id+"max"+".jpg";
agentResView.setURL(downloadfileUrl);
agentDTO.setAgentResView(agentResView);
agentDTO.setCode("00");
agentDTO.setDesc("成功");
returnagentDTO;
tip
1、这是申请一张二维码的代码,申请多张可以用for或者其他的方法
2、当id为定量时,每次点击按钮判断filePath缓存是否存在,存在则直接取值展示,不存在则向后台请求二维码
价值1980元火爆的0基础小程序制作开发赚钱训练营免费看