JS方式 获取微信openid 【html5+jquery】

感谢:https://blog.csdn.net/yelin042/article/details/79707855

$(function () {
    var wxopenid=getcookie('wxopenid');
    var key=getcookie('key');
    if (key==''){
        var access_code=GetQueryString('code');
        if (wxopenid==""){
            if (access_code==null)
            {   
                var fromurl=location.href;
                var url='https://open.weixin.qq.com/connect/oauth2/authorize?appid=填你自已的appid哟&redirect_uri='+encodeURIComponent(fromurl)+'&response_type=code&scope=snsapi_base&state=STATE%23wechat_redirect&connect_redirect=1#wechat_redirect';
                location.href=url;
            }
            else
            {   
                $.ajax({
                    type:'get',
                    url:ApiUrl+'/index.php?act=payment&op=getopenid', 
                    async:false,
                    cache:false,
                    data:{code:access_code},
                    dataType:'json',
                    success:function(result){                 
                            if (result!=null && result.hasOwnProperty('openid') && result.openid!=""){
                               addcookie('wxopenid',result.openid,360000);                           
                               getlogininfo(result.openid);
                            } 
                            else
                            {
                              alert('微信身份识别失败 \n '+result);
                              location.href=fromurl;
                            }
                        }
                    });    
            }
        }else{
           if (key=='' && wxopenid!='')
               getlogininfo(wxopenid);  
        }
 
        function getlogininfo(wxopenid){       
            $.ajax({
               type:'get',
               url: ApiUrl + '/index.php?act=login&op=autologininfo',
               data: { wxopenid:wxopenid},
               dataType:'json',
               async:false,
               cache:false,               
               success: function (result) {                   
                       if (result.return_code=='OK'){
                           addcookie('key',result.memberinfo.key);
                           addcookie('username',result.memberinfo.username);
                       }else{
                           alert(result.return_msg);
                           location.href=WapSiteUrl+'/tmpl/member/login.html';
                       }
               }
            });
        }
    }
});

函数

// 写cookie
function addcookie(name,value,expireHours){
	var cookieString=name+"="+escape(value)+"; path=/";
	//判断是否设置过期时间
	if(expireHours>0){
		var date=new Date();
		date.setTime(date.getTime+expireHours*3600*1000);
		cookieString=cookieString+"; expire="+date.toGMTString();
	}
	document.cookie=cookieString;
}
 
//	获取cookie
function getcookie(name){
	var strcookie=document.cookie;
	var arrcookie=strcookie.split("; ");
	for(var i=0;i<arrcookie.length;i++){
	var arr=arrcookie[i].split("=");
	if(arr[0]==name)return decodeURIComponent(arr[1]); //增加对特殊字符的解析
	}
	return "";
}
 
//	删除cookie
function delCookie(name){//删除cookie
	var exp = new Date();
	exp.setTime(exp.getTime() - 1);
	var cval=getcookie(name);
	if(cval!=null) document.cookie= name + "="+cval+";
	path=/;expires="+exp.toGMTString();
}

感谢:https://blog.csdn.net/sinat_33010325/article/details/83795026

URL参数值获取GetQueryString

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

讲解

其中"(^|&)" + name + "=([^&]*)(&|KaTeX parse error: Expected 'EOF', got '&' at position 19: …意思就是取以name开头或者以&̲开头以&或者以结尾的字符串
window.location.search.substr(1).match(reg)的意思是找出?之后匹配reg的字符串
decodeURIComponent(r[2])的意思是对所选的字符串进行解码

### 回答1: 首先,您需要在开发者后台应用中,设置您的服务器域名,接着获取应用的 App ID 和 App Secret,然后在获取 OpenIDURL 中替换 APPID 和 SECRET 参数,获取授权页面,让用户扫码授权,然后获取到用户的 openid。 ### 回答2: 腾讯低代码如何获取微信OpenID 腾讯低代码是一种快速开发工具,可用于构建Web应用程序和移动应用程序。要获取微信OpenID,可以使用以下方法: 1. 在腾讯低代码的开发环境中,添加一个微信登录组件。这个组件将允许用户使用微信账号登录应用程序。 2. 配置微信登录组件。打开组件的属性设置界面,输入你的微信开发者账号信息,包括AppID和AppSecret。这些信息可以在微信开放平台上申请获得。 3. 创建一个用于保存用户信息的数据库。在腾讯低代码中,可以使用数据库组件来创建和管理数据库。 4. 在用户使用微信登录后,腾讯低代码将会返回一个授权码。使用这个授权码,调用微信开放平台的API,向微信服务器发送请求,以获取用户的OpenID。 5. 将返回的OpenID保存到数据库中,与用户的其他信息一起存储。可以使用数据库组件提供的相关函数来实现这一步骤。 6. 在应用程序的其他部分,可以根据需要随时获取用户的OpenID,并进行相关的业务操作。 需要注意的是,获取微信OpenID涉及到与微信开放平台的交互,因此需要事先在微信开放平台上创建开发者账号,并进行相应的配置和权限设置。同时,在使用微信登录功能时,也需要用户授权才能获取到他们的OpenID。 综上所述,以上是腾讯低代码获取微信OpenID的具体方法。通过配置微信登录组件、调用微信开放平台的API以及使用数据库组件等功能,可以实现在腾讯低代码中获取和保存用户的微信OpenID。 ### 回答3: 腾讯低代码是腾讯推出的一种开发工具,旨在帮助开发者快速构建应用程序。获取微信openid是一种常见需求,可以通过以下具体方法在腾讯低代码中实现: 1. 登录微信开放平台:首先,开发者需要登录微信开放平台,在开发者中心创建一个应用并获取其AppID和AppSecret。 2. 构建认证链接:在腾讯低代码的页面或流程中,建立一个与微信登录相关的功能,例如一个按钮或跳转链接。 3. 生成认证链接:使用腾讯低代码提供的API,将前面获取到的AppID和回调URL(用于接收授权码)拼接成一个认证链接。认证链接的格式如下: https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect 4. 用户授权登录:用户点击该链接后,将跳转至微信授权页面,用户需要登录并确认授权给应用访问其基本信息的权限。 5. 获取授权码:用户授权后,微信会将授权码(code)传递至之前设定的回调URL。在腾讯低代码中,可以通过回调事件来接收这个授权码。 6. 通过授权码获取openid:使用腾讯低代码提供的API,通过授权码连同AppID、AppSecret等参数发送请求,从微信开放平台获取用户的openid信息。具体获取openid的API如下所示: https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code 7. 处理返回结果:收到微信开放平台返回的结果后,即可从中提取出用户的openid,用于后续的业务逻辑处理。 通过以上具体方法,开发者可以在腾讯低代码中实现获取微信openid的功能,用于实现与微信用户信息相关的应用需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值