您当前的位置: 首页 > 知识百科 > 微信公众号JSSDK开发,调用微信扫一扫

微信公众号JSSDK开发,调用微信扫一扫

时间:2023-07-01 14:05 阅读数:132 人阅读 分类:知识百科

  随着微信的火起来,微信公众平台开发了很多功能,而这就包括微信公众号JSSDK的开发。公众平台是为微信用户提供服务的平台,而公众平台开发接口则是提供服务的基础,下面就让小编给大家介绍一下关于什么是微信公众号JSSDK开发,调用微信扫一扫。

  // 微信JSSDK的AccessToken请求URL地址

  ublic final static String weixin_jssdk_acceToken_url = "api.weixin.qq/cgi-bin/token?grant_type=client_credential&appid=公众号appid&secret=众号appsecret;

  // 微信JSSDK的ticket请求URL地址

  public final static String weixin_jssdk_ticket_url = "api.weixin.qq/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi";

  /**

  * 获取微信JSSDK的access_token

  * @author Benson

  */

  public static String getJSSDKAccessToken() {

  String returnString="";

  String requestUrl = weixin_jssdk_acceToken_url;

  JSONObject jsonObject = Request(requestUrl, "GET", null); //Http GET请求

  // 如果请求成功

  if (null != jsonObject) {

  try {

  returnString=jsonObject.getString("access_token");

  } catch (JSONException e) {

  returnString = null;

  }

  }

  return returnString;

  }

  /**

  * 获取微信JSSDK的ticket

  * @author Benson

  */

  public static String getJSSDKTicket(String access_token) {

  String returnString="";

  String requestUrl = weixin_jssdk_ticket_url.replace("ACCESS_TOKEN", access_token);

  JSONObject jsonObject = Request(requestUrl, "GET", null);

  // 如果请求成功

  if (null != jsonObject) {

  try {

  returnString=jsonObject.getString("ticket");

  } catch (JSONException e) {

  returnString = null;

  }

  }

  return returnString;

  }

  //获取微信JSSDK签名,用于调用微信扫一扫,返回对应数据

  @Override

  public Map getSignture(HttpServletRequest request,ModelAndView mav) {

  String js_accessToken = WeixinUtil.getJSSDKAccessToken(); //获取微信jssdk---access_token

  String jsapi_ticket = WeixinUtil.getJSSDKTicket(js_accessToken); //获取微信jssdk---ticket

  System.out.println("jsapi_ticket==="+jsapi_ticket);

  //获取完整的URL地址

  String fullPath=BasePath.getFullPath(request);

  Map data = WxJSsign.sign(jsapi_ticket, fullPath);

  mav.addObject("timestamp", data.get("timestamp"));

  mav.addObject("nonceStr", data.get("nonceStr"));

  mav.addObject("signature", data.get("signature"));

  return data;

  }

  //JSP页面 放置3个隐藏的input 获取时间戳,签名等信息

  var timestamp = $("#timestamp").val();//时间戳

  var nonceStr = $("#nonceStr").val();//随机串

  var signature = $("#signature").val();//签名

  wx.config({

  debug: false, // 开启调试模式,调用的所有api的返回值会在微信客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。

  appId: '公众号ID', // 必填,公众号的唯一标识

  timestamp: timestamp, // 必填,生成签名的时间戳

  nonceStr: nonceStr, // 必填,生成签名的随机串

  signature: signature,// 必填,签名,见附录1

  jsApiList: ['scanQRCode'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2

  });

  //点击扫描按钮,扫描微信二维码并返回结果

  document.querySelector('#scanQRCode').onclick = function () {

  wx.scanQRCode({

  needResult: 1,

  desc: 'scanQRCode desc',

  success: function (res) {

  //扫码后获取结果参数:htpp://xxx/c/?6123,截取到url中的防伪码后,赋值给Input

  var url = res.resultStr;

  var tempArray = url.split('?');

  var tempNum = tempArray[1];

  $("#id_securityCode_input").val(tempNum);

  }

  });

  };

  //演示结果“

  通过以上的描述你是否了解微信公众号JSSDK开发,调用微信扫一扫呢?这样如此全面、有效、简单的恢复方法,你学会了吗?如果你还想了解更多的话。更多更详细微信公众号素材内容,请持续关注微素达。

更多推荐:

微信企业号畅移:线下门店也可以互联网+

微信公众号表单功能:微信公众号怎么添加万能表单?

分析微信自动发货功能