美文网首页
小程序企业微信登录和更新检测支持

小程序企业微信登录和更新检测支持

作者: litielongxx | 来源:发表于2022-06-24 16:46 被阅读0次

    小程序在企业微信后台设置关联,就可以支持打开了。


    image.png

    1 微信暂不支持企业微信授权登录
    2 微信/企业微信打开为两个账号,且也是两个版本(前者可能更新了,后者还是老版本)
    3 实现企业微信登录,实际是后端自行对比数据统一核对归类
    更新为精默更新,但可以主动提示,一般最晚24小时。
    更新检测:

    // app.vue
    onShow() {
        console.log('App onShow')
         if (wx.canIUse("getUpdateManager")) {
          const updateManager = wx.getUpdateManager();
          updateManager.onCheckForUpdate(function(res) {
            if (res.hasUpdate) {
              // 请求完新版本信息的回调
              updateManager.onUpdateReady(function() {
                wx.showModal({
                  title: "更新提示",
                  content: "新版本已经准备好,是否重启应用?",
                  success: function(res) {
                    if (res.confirm) {
                      // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
                      updateManager.applyUpdate();
                    }
                  },
                });
              });
              updateManager.onUpdateFailed(function() {
                wx.showModal({
                  // 新的版本下载失败
                  title: "已经有新版本了哟~",
                  content: "新版本已经上线啦~,请您删除当前小程序,重新搜索进入哟~",
                });
              });
            }
          });
        } else {
          // wx.showModal({
          //   // 如果希望用户在最新版本的客户端上体验您的小程序,可以这样子提示
          //   title: "提示",
          //   content:
          //     "当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。",
          // });
        }
      },
    

    企业微信获取流程
    https://blog.csdn.net/jingjingshizhu/article/details/104313883
    判断企业微信环境
    先执行wx.login获取code,传给后台进行最重要的和code2Session微信那进行交换,之后通过企业微信的获取昵称和头像
    获取信息。

            let _sysInfo = uni.getSystemInfoSync()
    
            if (_sysInfo.environment == 'wxwork') {
             // uni.showLoading({
           //    title: '请求中',
           //    icon: 'none'
            });
              // 后端调用code2Session后来获取企业微信昵称和头像 
    
              qyresult=await new Promise((resolve)=>{
                wx.qy.login({
                  //获取企业微信派发的临时登录凭证
                  success: async (Qyres) => {
                    // 传递后端接口code ,接口自行处理code2Session步骤
                   // let loginQyData = await ({
                      code: Qyres.code,
                    });
                 //   uni.hideLoading()
                    resolve(loginQyData)
                  },
                  fail: (err) => {
                    uni.hideLoading()
                    uni.showToast({
                      title: err,
                      icon: 'none'
                    })
                    console.log(err, err)
                    throw new Error(err.errMsg)
                  }
                })
              })
    
              console.log('qyresult',qyresult)
    
              根据qyresult结果请求头像和昵称 
    let promise1 = new Promise((resolve, reject) => {
              wx.qy.getEnterpriseUserInfo({
                success: function (res) {
                  // that.model.wx_nickname = res.userInfo.name;
                  resolve(res);
                },
                fail: function (err) {
                  console.log(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) {
                  if (err) {
                    // uni.showToast({
                    //   // title:''+JSON.stringify(err.errMsg),
                    //   title: "您需要授权,才能同步企业微信头像!",
                    //   icon: "none",
                    // });
                    return;
                  }
                  reject(err);
                },
              });
            });
    
            Promise.all([promise1, promise2])
              .then(async (res) => {
                //头像,昵称获取到了,执行正常注册流程 [{},{}]
                console.log("头像、昵称", res);
                }
              })
              .catch((err) => {
                console.log(err);
              });
            }
       
    

    相关文章

      网友评论

          本文标题:小程序企业微信登录和更新检测支持

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