H5调起微信公众号登录

准备条件:公众号appid

uniapp开发H5需要调用公众号登录,以及公众号支付,支付看我上一篇文章,ios系统在H5是可以支付的。
代码:

/*微信登录相关  start*/
			//方法:用来判断是否是微信内置的浏览器
			isWechat() {
				console.log('isWechat');
				return String(navigator.userAgent.toLowerCase().match(/MicroMessenger/i)) === "micromessenger";
			},
			//方法:用来提取code
			getUrlCode(name) {
				console.log('getUrlCode', name);
				return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.href) ||
					[, ''
					])[1]
					.replace(/\+/g, '%20')) || null
			},
			//检查浏览器地址栏中微信接口返回的code
			checkWeChatCode() {
				console.log('checkWeChatCode');
				let code = this.getUrlCode('code')
				console.log(code, 'code-code-code');
				// uni.showToast({
				// 	title: `微信code=${code}`
				// })
				if (code) {
					this.getOpenidAndUserinfo(code)

				}
			},
			//请求微信接口,用来获取code
			getWeChatCode() {
				console.log('请求微信接口获取code');
				let local = encodeURIComponent(window.location.href); //获取当前页面地址作为回调地址
				let appid = '此处填写你的公众号appi'
				//通过微信官方接口获取code之后,会重新刷新设置的回调地址【redirect_uri】
				window.location.href =
					"https://open.weixin.qq.com/connect/oauth2/authorize?appid=" +
					appid +
					"&redirect_uri=" +
					local +
					"&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect";
				this.getOpenidAndUserinfo()
			},
	getOpenidAndUserinfo(code) {
				let data = {
					code: code,
				};
				data = that.$Base64.encode(JSON.stringify(data)); // Apply Base64 encoding to the data object
				uni.showLoading({
					title: '登录中',
					mask: true
				});
				that.$http.post("url接口", data).then((res) => {
					uni.hideLoading()
					uni.showToast({
							title: '登录成功',
							icon: 'none'
						})
				});
			},

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑云压城After

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值