H5判断微信端打开静默授权获取code

       onLoad() {
			console.log("token=>", localStorage.getItem('token'))
			var ua = navigator.userAgent.toLowerCase();
			
			var isWeixin = ua.indexOf('micromessenger') != -1;
			
			if (isWeixin) {
				console.log("微信浏览器内打开")
				this.getWXCode()
		
			} else {
				console.log("其他浏览器内打开")
			}

		},

// 获取code并登录   
			getWXCode() {
                let appid = '' //公众号的唯一标识
  				let code = this.getUrlCode().code; //是否存在code
				let url = '' //授权后重定向的回调链接地址
				if (code == null || code === "") {
					window.location.href = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=' + appid +
						'&redirect_uri=' + encodeURIComponent(url) +
						'&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect'
				} else {
					this.code = code;
					console.log(this.code)
				
					//此处调用后端提供的接口,传入获取到的code换取access_token
					
				}

			},
			// 截取url中的code方法
			getUrlCode() {
				// 截取url中的code方法
				var url = location.search;
				console.log(url)
				var theRequest = new Object();
				if (url.indexOf("?") != -1) {
					var str = url.substr(1);
					var strs = str.split("&");
					for (var i = 0; i < strs.length; i++) {
						theRequest[strs[i].split("=")[0]] = strs[i].split("=")[1];
					}
				}
				return theRequest;
			},

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
uni微信h5静默授权是指在用户进入uni微信H5页面时,通过微信授权接口获取用户的openid,并且不弹出授权页面让用户手动授权的一种授权方式。 实现uni微信H5静默授权获取openid的步骤如下: 1. 首先,在uni-app中引入微信JSSDK,通过在index.html中引入微信JS SDK库文件,或者通过npm安装并在main.js中引入微信JSSDK。 2. 在uni微信H5页面中编写获取openid的逻辑。可以在页面加载完成后,通过微信JSSDK提供的接口wx.config进行微信JS SDK的配置。在配置完成后,可以通过调用wx.ready函数,在ready回调函数中进行获取openid的操作。 3. 使用uni.request或uni.get请求后接口,将微信提供的code发送至后。 4. 后接口需要通过微信的网页授权接口,调用接口获取access_token和openid。接口调用成功后,可以把openid返回给前。 5. 前接收到openid后,可以进行后续的业务逻辑处理,例如用户登录、数据统计等。 需要注意的是,uni微信H5静默授权获取openid需要满足一定的条件,包括要求用户在微信客户中已经授权过且未取消授权,页面的域名需要与微信公众平台的配置一致等。 总结起来,通过微信JSSDK的配置和调用微信的网页授权接口,可以实现uni微信H5静默授权获取openid的功能。这使得开发者能够更加便捷地获取用户的openid,并基于openid实现个性化的功能和服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值