微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

uniapp在微信环境内静默授权

	let ua = navigator.userAgent.toLowerCase()
				let that = this
				if (ua.match(/MicroMessenger/i) == "micromessenger") {
					let code = this.GetQueryString('code');
					if (code == null) {
						window.location.href =
							'https://open.weixin.qq.com/connect/oauth2/authorize?appid=w**********e&redirect_uri=http%3A%2F%2Fymh.frp.dzkandian.com%2F&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect'
						code = this.GetQueryString('code');
					} else {
						let obj = {
							code: code
						}
						Logins(obj).then(res => {
							uni.setStorageSync('token', res.data.token);
							that.$isResolve()
						})
					}
				} else {
					uni.showModal({
						title: '提示',
						content: '非微信浏览器',
						success: function(res) {
							if (res.confirm) {
								console.log('用户点击确定');
							} else if (res.cancel) {
								console.log('用户点击取消');
							}
						}
					});
				}

1.首先判断是否在微信环境

2.如果是在微信环境通过'https://open.weixin.qq.com/connect/oauth2/authorize?appid=w**********e&redirect_uri=http%3A%2F%2Fymh.frp.dzkandian.com%2F&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect拿到code进行登录其中appid为公众号的APPID 参数redirect_uri是通过 urlEncode 处理后的授权后重定向的回调链接地址

3.然后通过

	GetQueryString(name) {
				var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
				var r = window.location.search.substr(1).match(reg);
				if (r != null) return unescape(r[2]);
				return null;
			},

即可拿到code

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐