uniapp 公众号获取code

uniapp H5获取code

 onLoad(){
        this.getCode()
    },
methods:{
    getCode() {
			var local = encodeURIComponent('xxx'); // 当前H5页面的url
			var appid = 'xxx';
			this.code = this.getUrlCode().code; // 截取code
				// 如果没有code,则去请求
			if (this.code == null || this.code === '' || this.code == undefined) {
				var wxUrl =
					'https://open.weixin.qq.com/connect/oauth2/authorize?appid=' +
					appid +
					'&redirect_uri=' +
					local +
					'&response_type=code' +
					'&scope=snsapi_base' +
					'&state=STATE#wechat_redirect';
				window.location.href = wxUrl;
			} else {
				// 存在code 获取openid
				uni.request({
					url: 'http://xxx/wx/getOpenId', //请求后台路径
					method: 'GET',
					data: {
						code: this.code
					},
					dataType: 'json',
					success: res => {
						this.openId = res.data.openid;
					},
					fail: error => {}
				});
			}
		},
		getUrlCode() {
			// 截取url中的code方法
			var url = location.href; //获取打开的公众号的路径
			let winUrl = url;
			var theRequest = new Object();
			if (url.indexOf('?') != -1) {
				var str = url.substr(url.indexOf('?') + 1);
				var strs = str.split('&');
				for (var i = 0; i < strs.length; i++) {
					var items = strs[i].split('=');
					theRequest[strs[i].split('=')[0]] = strs[i].split('=')[1];
				}
			}
			return theRequest;
		}
}

在这里插入图片描述

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值