1.本人也是初学者有不对的地方欢迎指出.所有自己总结一下希望能帮到大家!我尝试了两种方式后去小程序二维码,第一种前台请求获取的方式用的都是B接口注意:这个接口只有项目上线了才能扫出来调用这个接口前你需要获取access_token凭证
2.这几个必要条件一般都是放在后台去请求我用的是Java,我工具类和调用我是在别人的基础上加了自己的方法,工具类需要根据自己的要求做修改.
工具类调用getminiqrQr的时候需要根据自己的情况修改下其他的不用3.packagecom.esmall.utils;
4.importjava.awt.Color;importjava.awt.Font;importjava.awt.Graphics;importjava.awt.Image;importjava.awt.image.BufferedImage;importjava.io.BufferedInputStream;importjava.io.BufferedReader;importjava.io.File;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.InputStreamReader;importjava.io.OutputStream;importjava.io.PrintWriter;importjava.net.HttpURLConnection;importjava.net.URL;importjava.net.URLConnection;importjava.util.List;importjava.util.Map;
5.importjavax.imageio.ImageIO;
6.importcom.esmall.core.common.CommonConstants;importcom.esmall.core.common.Constants;importcom.qq.connect.utils.json.JSONObject;
7.publicclassHttpRequest{
publicstaticvoidmain(String[]args){//发送GET请求Strings=HttpRequest.sendGet("http://v.qq.com/x/cover/kvehb7okfxqstmc.html?vid=e01957zem6o","");System.out.println(s);////发送POST请求//String//sr=HttpRequest.sendPost("http://www.toutiao.com/stream/widget/local_weather/data/?city=%E4%B8%8A%E6%B5%B7",//"");//JSONObjectjson=JSONObject.fromObject(sr);//System.out.println(json.get("data"));}/***向指定URL发送GET方法的请求**@paramurl*发送请求的URL*@paramparam*请求参数,请求参数应该是name1=value1&name2=value2的形式。*@returnURL所代表远程资源的响应结果*/publicstaticStringsendGet(Stringurl,Stringparam){Stringresult="";BufferedReaderin=null;try{StringurlNameString=url+"?"+param;URLrealUrl=newURL(urlNameString);//打开和URL之间的连接URLConnectionconnection=realUrl.openConnection();//设置通用的请求属性connection.setRequestProperty("accept","*/*");connection.setRequestProperty("connection","Keep-Alive");connection.setRequestProperty("user-agent","Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1;SV1)");//建立实际的连接connection.connect();//获取所有响应头字段MapString,ListStringmap=connection.getHeaderFields();//遍历所有的响应头字段for(Stringkey:map.keySet()){System.out.println(key+"---"+map.get(key));}//定义BufferedReader输入流来读取URL的响应in=newBufferedReader(newInputStreamReader(connection.getInputStream()));Stringline;while((line=in.readLine())!=null){result+=line;}}catch(Exceptione){System.out.println("发送GET请求出现异常!"+e);e.printStackTrace();}//使用finally块来关闭输入流finally{try{if(in!=null){in.close();}}catch(Exceptione2){e2.printStackTrace();}}returnresult;}/***向指定URL发送POST方法的请求**@paramurl*发送请求的URL*@paramparam*请求参数,请求参数应该是name1=value1&name2=value2的形式。*@return所代表远程资源的响应结果*/publicstaticStringsendPost(Stringurl,Stringparam){PrintWriterout=null;BufferedReaderin=null;Stringresult="";try{URLrealUrl=newURL(url);//打开和URL之间的连接URLConnectionconn=realUrl.openConnection();//设置通用的请求属性conn.setRequestProperty("accept","*/*");conn.setRequestProperty("connection","Keep-Alive");conn.setRequestProperty("user-agent","Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1;SV1)");//发送POST请求必须设置如下两行conn.setDoOutput(true);conn.setDoInput(true);//获取URLConnection对象对应的输出流out=newPrintWriter(conn.getOutputStream());//发送请求参数out.print(param);//flush输出流的缓冲out.flush();//定义BufferedReader输入流来读取URL的响应in=newBufferedReader(newInputStreamReader(conn.getInputStream()));Stringline;while((line=in.readLine())!=null){result+=line;}}catch(Exceptione){System.out.println("发送POST请求出现异常!"+e);e.printStackTrace();}//使用finally块来关闭输出流、输入流finally{try{if(out!=null){out.close();}if(in!=null){in.close();}}catch(IOExceptionex){ex.printStackTrace();}}returnresult;}/***生成带参小程序二维码**@paramsceneStr*参数*@paramaccessToken*token*/publicstaticStringgetminiqrQr(StringsceneStr,StringaccessToken,){Stringresult="";try{URLurl=newURL("https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token="+accessToken);HttpURLConnectionhttpURLConnection=(HttpURLConnection)url.openConnection();httpURLConnection.setRequestMethod("POST");//提交模式//设置通用的请求属性//httpURLConnection.setRequestProperty("content-type",//"application/json");httpURLConnection.setRequestProperty("accept","*/*");httpURLConnection.setRequestProperty("connection","Keep-Alive");httpURLConnection.setRequestProperty("user-agent","Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1;SV1)");//conn.setConnectTimeout(10000);//连接超时单位毫秒//conn.setReadTimeout(2000);//读取超时单位毫秒//发送POST请求必须设置如下两行httpURLConnection.setDoOutput(true);httpURLConnection.setDoInput(true);//获取URLConnection对象对应的输出流PrintWriterprintWriter=newPrintWriter(httpURLConnection.getOutputStream());//发送请求参数这里根据自己的需要JSONObjectparamJson=newJSONObject();paramJson.put("scene",sceneStr);//paramJson.put("page","pages/index/index");paramJson.put("width",430);//paramJson.put("auto_color",true);/***line_color生效paramJson.put("auto_color",false);JSONObject*lineColor=newJSONObject();lineColor.put("r",0);*lineColor.put("g",0);lineColor.put("b",0);*paramJson.put("line_color",lineColor);*/printWriter.write(paramJson.toString());//flush输出流的缓冲printWriter.flush();BufferedInputStreambis=newBufferedInputStream(httpURLConnection.getInputStream());StringoriginalFilename=null;//二维码的地址Stringurl="";//需要存放的文件路径Filefile=newFile("");//这里的是路径写到你要放的文件夹那层就可以了没有就会创建if(!file.exists()){file.mkdirs();}OutputStreamos=newFileOutputStream(newFile(url));//FileUtils.copyInputStreamToFile(myfile.getInputStream(),new//File(realPath,originalFilename));intlen;byte[]arr=newbyte[1024];while((len=bis.read(arr))!=-1){os.write(arr,0,len);os.flush();}os.close();result=返回二维码路径地址;}catch(Exceptione){e.printStackTrace();}returnresult;}8.}
这个是调用的方法9./***二维码生成扫描**@throwsJSONException**/@RequestMapping(value=“/thinkChange”)@ResponseBodypublicMapString,ObjectthinkChange(@RequestParam(required=false,value=“wechatId”,defaultValue=“”)StringwechatId,@RequestParam(required=false,value=“memberId”,defaultValue=“”)StringmemberId)throwsJSONException{MapString,Objectmap=Maps.newHashMap();//小程序唯一标识填写自己的StringwxspAppid=“”;//appsecret填写自己的StringwxspSecret=“”;//二维码参数值Stringparamss=“grant_type=client_credential&appid=”+wxspAppid+“&secret=”+wxspSecret;//生成二维吗的access_token值Stringsrs=HttpRequest.sendGet(“https://api.weixin.qq.com/cgi-bin/token”,paramss);//解析相应内容(转换成json对象)JSONObjectjson=newJSONObject(srs);//获取accessToken的凭证StringaccessToken=json.get(“access_token”).toString();Stringscene=“”;//二维码接口StringgetminiqrQr=HttpRequest.getminiqrQr(scene,accessToken);
map.put("qrQr",getminiqrQr);System.out.print(map);returnmap;}10.还有一种js直接调用我是看了下面这个人的博客是可以实现的传送门https://blog.csdn.net/qq_41473887/article/details/81335977我用上面的方法实现了我碰到了个问题是就是需要请求两次才能把生成二维码.我也不知道什么原因.
对了因为我用的是Java后台下载本地了要给用户一个点击下载到相册11.//将图片保存到相册wx.downloadFile({url:scanLife,success:function(res){//图片保存到本地wx.saveImageToPhotosAlbum({filePath:res.tempFilePath,success:function(data){wx.hideLoading()wx.showModal({title:‘提示’,content:‘您的推广海报已存入手机相册,赶快分享给好友吧’,showCancel:false,})},fail:function(err){if(err.errMsg===“saveImageToPhotosAlbum:fail:authdenied”||err.errMsg===“saveImageToPhotosAlbum:failauthdeny”){//这边微信做过调整,必须要在按钮中触发,因此需要在弹框回调中进行调用wx.showModal({title:‘提示’,content:‘需要您授权保存相册’,showCancel:false,success:modalSuccess={wx.openSetting({success(settingdata){console.log(“settingdata”,settingdata)if(settingdata.authSetting[‘scope.writePhotosAlbum’]){wx.showModal({title:‘提示’,content:‘获取权限成功,再次点击图片即可保存’,showCancel:false,})}else{wx.showModal({title:‘提示’,content:‘获取权限失败,将无法保存到相册哦~’,showCancel:false,})}},fail(failData){console.log(“failData”,failData)},complete(finishData){console.log(“finishData”,finishData)}})}})}},complete(res){wx.hideLoading()}})},fail:function(err){
}})12.这个是接口调试可以知道你的接口是不是有用https://mp.weixin.qq.com/debug/cgi-bin/apiinfo?t=index&type=基础支持&form=获取access_token接口/token
13.写的比较乱见谅有意见可以提出我会改修改应为上面的只是一个大概按自己的情况修改,借鉴了很多别人的博客谢谢大神!
小程序的二维码在哪找-小程序获取二维码java方式-小程序二维码
浏览量:2121
时间:
来源:我啥都不会,这可咋办
版权声明
即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。
最新资讯
-

即速应用,赋能企业玩转微信小程序智慧经营
作为国内领军的智慧商业经营服务商,即速应用始终秉承“让每个企业都拥有自己的智慧店铺”的愿景,持续赋能更多企业玩转智慧经营。即速应用旗下拥有“小程序搭建工具-即速应用”、“私域流量专家-即客云”等产品,帮助商家打通互联网全生态营销闭环。 -

即客云2.0重磅更新,让微信小程序运营更简单!
即客云作为一款基于企业微信的第三方工具,现从多维度提供超过30种功能,自上线以来,已服务多家企业,受到一致好评。近期,我们根据客户反馈和市场调研正式推出升级版 即客云2.0!更新了私域运营SOP,群日历功能,批量拓客,客户雷达,消息推送,个人欢迎语,帮助企业更好运用企业微信;同时提升了社群运营工作标准化,提升运营效率,帮助企业实现客户增长,玩转私域流量。 -

零代码 + AI 双轮驱动|即速应用解锁人工智能小程序开发新范式
无需代码、无需 AI 算法功底,普通人也能快速搭建智能小程序。即速应用将人工智能与零代码开发深度融合,推出 AI 智能生成能力,用户通过自然语言描述需求,AI 自动生成小程序页面、功能模块与后台配置,覆盖商城、预约、同城、社区团购等全场景。平台内置 AI 智能推荐、智能客服、用户画像分析等能力,一键对接微信生态,打通视频号、企业微信、短信跳转,帮企业快速落地 AI 应用,抢占智慧经营先机,让每家企业都拥有 AI 驱动的智慧店铺。












