위챗 애플릿 사용자 가져오기 오픈id - 직접 테스트 사용 가능

2718 단어 기타
1、wx.login(OBJECT)
인터페이스를 호출하여 로그인 증명서(code)를 얻고 사용자의 유일한 표지(openid)와 이번 로그인 세션 키(session key)를 포함하여 사용자의 로그인 상태 정보를 교환합니다.사용자 데이터의 복호화 통신은 세션 키에 의존해야 합니다.
2、code 교환sessionkey
이것은 HTTPS 인터페이스로 개발자 서버가 로그인 증명서 코드를 사용하여session키와 openid.여기서 session키는 사용자 데이터를 암호화하여 서명하는 키입니다.자신을 위해 보안을 적용하기 위해session키는 네트워크에서 전송해서는 안 된다.인터페이스 주소:https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code
자세한 내용은 애플릿 API 참조https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-login.html#wxloginobject
3. 사용자 openid 실례 가져오기
//app.js
App({
    globalData:{
        appid:'1wqas2342dasaqwe2323424ac23qwe',//appid     ,   appid     
        secret:'e0dassdadef2424234209bwqqweqw123ccqwa',//secret     ,   secret     
 
    },
    onLaunch: function () {
     var that = this
     var user=wx.getStorageSync('user') || {};  
     var userInfo=wx.getStorageSync('userInfo') || {}; 
     if((!user.openid || (user.expires_in || Date.now()) < (Date.now() + 600))&&(!userInfo.nickName)){ 
        wx.login({  
        success: function(res){ 
            if(res.code) {
                wx.getUserInfo({
                    success: function (res) {
                        var objz={};
                        objz.avatarUrl=res.userInfo.avatarUrl;
                        objz.nickName=res.userInfo.nickName;
                        //console.log(objz);
                        wx.setStorageSync('userInfo', objz);//  userInfo
                    }
                });
                var d=that.globalData;//     appid、secret、token   
                var l='https://api.weixin.qq.com/sns/jscode2session?appid='+d.appid+'&secret='+d.secret+'&js_code='+res.code+'&grant_type=authorization_code';  
                wx.request({  
                    url: l,  
                    data: {},  
                    method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT  
                    // header: {}, //       header  
                    success: function(res){ 
                        var obj={};
                        obj.openid=res.data.openid;  
                        obj.expires_in=Date.now()+res.data.expires_in;  
                        //console.log(obj);
                        wx.setStorageSync('user', obj);//  openid  
                    }  
                });
            }else {
                console.log('         !' + res.errMsg)
            }          
        }  
      }); 
    } 
   },
})

텍스트:https://blog.csdn.net/qq_27626333/article/details/54614037

좋은 웹페이지 즐겨찾기