zoukankan      html  css  js  c++  java
  • 从企业微信登录小程序的坑

    一. 基本需求

    小程序需要有一个企业微信的入口,就是让小程序绑定在企业微信的工作台。这样我们不仅可以在企业微信中使用小程序,也可以使用企业微信的信息。所以我们要做的就是文档中说的

    二. 步骤

    安装示意图,步骤如下(随便也会说坑)

    1. 先上线一个普通版本的小程序(申请审核的那种),为什么,因为有个步骤用到了关联小程序的企业微信应用的screct, 而你去做关联操作,肯定要一个上线的小程序。 不然需要提交资料给客服,让他临时帮你申请权限,我感觉先上线个普通版本比较好。

    2. 先判断是不是企业微信环境wx.getSystemInfoSync,返回的res.environment === 'wxwork'表示是在企业微信环境。

    3. 所以1,2步骤都是前提工作,剩下的就是wx.qy.login获取code, 后端通过corpid和关联小程序的企业微信应用的screct(企业微信应用后台管理可以看到)得到access_token,在利用access_token得到session+userid, 最后后端一般会返回一个有时效性的token(关联了session+userid的信息),每次前端请求都携带就好了。

    三. 代码

    const res = wx.getSystemInfoSync()
    // 如果是企业微信环境
    if(res.environment === 'wxwork') {
      wx.qy.login({
        success (res) {
             if (res.code) {
              //发起网络请求
              wx.request({
                url: 'xx', // 后端的地址
                data: {
                  code: res.code
                },
                success (res) {
                  // 這裏就是得到token的位置了,然后缓存token
                 console.log(res.data)
                }
              })
            } else {
              console.log('登录失败!' + res.errMsg)
            }   
        } 
      })
    }
    

    四. 调试

    这里需要先绑定到对应的企业微信,使用企业微信入口调试,才能触发到以上代码,目前开发者工具不支持wx.qy.login。

    五. 题外话

    1. wx.getUserInfo

    微信小程序回收wx.getUserInfo接口可获取用户个人信息能力。
    2021年4月28日24时后发布的新版本小程序,开发者调用wx.getUserInfo<button open-type="getUserInfo"/>将不再弹出弹窗,直接返回匿名的用户个人信息,获取加密后的openID、unionID数据的能力不做调整。
    而新增的wx.getUserProfile需要用户点击按钮触发,直接调用是不会弹出弹窗的。

  • 相关阅读:
    centos ftp搭建
    python_模块
    python_如何建立包
    python_类
    python_递归
    python_函数
    python_字典
    python_条件、循环语句
    python_中文乱码问题
    Viola–Jones object detection framework--Rapid Object Detection using a Boosted Cascade of Simple Features中文翻译 及 matlab实现(见文末链接)
  • 原文地址:https://www.cnblogs.com/listenMao/p/15786521.html
Copyright © 2011-2022 走看看