微信小程序怎么做(微信小程序二维码生成)

  • 时间:
  • 来源: 网络

微信小程序怎么做已经是当下最热门的话题,下面将从多方面来谈谈用户点击按钮生成二维码相关的内容。

目标:

请求二维码并展示

步骤:

用户点击按钮生成二维码

步骤:

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参数

Mapmap=newHashMap();

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基础小程序制作开发赚钱训练营免费看