微信授权获取openid

const wxUtil = {

    //获取base64编码

    getBase64: function(str) {

        var c1, c2, c3;

        var base64EncodeChars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';

        var i = 0,

            len = str.length,

            string = '';

        while (i < len) {

            c1 = str.charCodeAt(i++) & 0xff;

            if (i == len) {

                string += base64EncodeChars.charAt(c1 >> 2);

                string += base64EncodeChars.charAt((c1 & 0x3) << 4);

                string += '==';

                break;

            }

            c2 = str.charCodeAt(i++);

            if (i == len) {

                string += base64EncodeChars.charAt(c1 >> 2);

                string += base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xf0) >> 4));

                string += base64EncodeChars.charAt((c2 & 0xf) << 2);

                string += '=';

                break;

            }

            c3 = str.charCodeAt(i++);

            string += base64EncodeChars.charAt(c1 >> 2);

            string += base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xf0) >> 4));

            string += base64EncodeChars.charAt(((c2 & 0xf) << 2) | ((c3 & 0xc0) >> 6));

            string += base64EncodeChars.charAt(c3 & 0x3f);

        }

        return string;

    },

    //获取url上从参数

    getUrlParam: function(param) {

        var reg = new RegExp('(^|&)' + param + '=([^&]*)(&|$)', 'i');

        var r = window.location.search.substr(1).match(reg);

        if (r != null) {

            return unescape(r[2]);

        }

        return '';

    },

    //通过微信服务器跳转授权

    weixinJump: function(base64str) {

        var that = this;

        if (navigator.userAgent) {

            var ua = navigator.userAgent.toLowerCase(); //获取判断用的对象

            if (ua.match(/MicroMessenger/i) == 'micromessenger') {

                var openid = that.getUrlParam('openid');

                localStorage.setItem('wx_openid', openid);

                window.location.href = 'http://111111111/weixinmp/userinfo?' + 'url=' + base64str;

                //"url=aHR0cDovLzE5Mi4xNjguMS4yMTM6ODA4MS9zdGF0aWMvYWJpbGl0eSMv"

            }

        }

    }

};

 

export default wxUtil;

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值