在微信公众号的项目中难免会用到支付,用到支付后就必须前端拿到code后去换区openid,在微信公众号中获取授权的有两种方式,一种是静默授权,一种是非静默的授权,具体移步微信公众号开发文档

 let origin =  location.href;
  let urlNow =encodeURIComponent(origin);///netbar/api/wechat/v1/get_open_id
  let scope = 'snsapi_base';    //snsapi_userinfo   //静默授权 用户无感知
  let appid = '你的appid';
  let url = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appid}&redirect_uri=${urlNow}&response_type=code&scope=${scope}&state=${state}#wechat_redirect`

微信公众号是通过微信的链接重定向来获取code,我们拿到code需要将code从地址上截取出来,下面是截取的方法

	function getUrlKey(name) {//获取url 参数
	  // alert("location.href code = "+"====="+location.href);
	  return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.href) || [, ""])[1].replace(/\+/g, '%20')) || null;
	}

在这里插入图片描述
拿到code后我们把cide传给后台就行,还有在微信工号的后台配置js安全域名和网页授权域名,要不会提示redirect_uri和配置的域名不一致

Logo

前往低代码交流专区

更多推荐