美文网首页
【微信小程序】企业微信中的获取用户信息

【微信小程序】企业微信中的获取用户信息

作者: 辣子_ | 来源:发表于2021-07-08 17:49 被阅读0次

企业微信小程序登录获取用户信息和微信小程序获取用户信息步骤不太一样,其中微信小程序获取用户信息需要做低版本兼容,具体移步微信小程序获取用户信息,所以首先需要判断当前运行环境是企业微信还是微信:

// 获取微信运行环境信息,可在app.vue中获取后赋值,vue实例直接用
// #ifdef MP-WEIXIN
const res = wx.getSystemInfoSync()
Vue.mixin({
      data() {
        return {
            wxRunInfo:res,
        };
    }
});
// #endif

点击注册获取用户信息,需判断如果是企业微信小程序则需要用企业微信小程序注册流程:

// #ifdef MP-WEIXIN
wx.qy.login({
    success: function(res) {
        if (res.code) {
            that.model.code = res.code
                              
             //生成并获取session_key
             that.$fly.get('/getsessionKey.php',{
                code:res.code
             }).then(res => {
                 if(res.code==0){
                     that.msgTip('登录失败')
                     return
                 }else{
                    that.model.userid = res.data.userid   //获取到userId和session_key
                     }
                                
                      //校验session_key,若过期重新登录生成session_key;这一步不太重要,不过最好校验一下
                    wx.qy.checkSession({
                        success: function(){
                             //校验成功,开始获取微信昵称
                            let promise1 = new Promise((resolve,reject)=>{
                                 wx.qy.getEnterpriseUserInfo ({
                                      success: function(res) {
                                                that.model.wx_nickname = res.userInfo.name
                                                resolve(res)                            
                                      },
                                                  fail:function(err){
                                              reject(err)
                                                }
                                    })
                    })
                                                                      //获取微信头像
                                    let promise2 = new Promise((resolve,reject)=>{
                                          wx.qy.getAvatar({
                                            success: function(res) {
                                                console.log(res)
                                                
                                                that.model.wx_avatarurl = res.avatar
                                                resolve(res)                            
                                            },
                                            fail:function(err){
                                                reject(err)
                                            }
                                          })
                                    })
                                    Promise.all([promise1,promise2]).then(res=>{
                                                                                //头像,昵称获取到了,执行正常注册流程
                                         that.register()
                                    }).catch(err=>{
                                        console.log(err)
                                    })
                                  },
                                  fail: function(){
                                    // session_key 已经失效,重新执行本函数
                                    that.wxLogin() 
                                  }
                                })
                              }).catch(err=>{
                                  console.log(err)
                              })
                              
                            } 
                          },
                          fail(err) {
                            console.log(err)
                          }
                        });
                    // #endif

相关文章

网友评论

      本文标题:【微信小程序】企业微信中的获取用户信息

      本文链接:https://www.haomeiwen.com/subject/banerltx.html