加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_开封站长网 (http://www.0378zz.com/)- 科技、AI行业应用、媒体智能、低代码、办公协同!
当前位置: 首页 > 运营中心 > 建站资源 > 经验 > 正文

企业微信小程序开发有哪些必须的步骤?

发布时间:2022-07-09 13:44:33 所属栏目:经验 来源:互联网
导读:背景 为其他公司开发一个小程序,这个小程序要只能在企业微信里面访问,不能通过普通微信访问。 问题分析 首先,这里面需要解决几个问题: 1、只在企业微信里使用,不能在普通小程序使用 判断当前运行环境 2、只有授权的用户可以使用该小程序 权限校验 1:普
  背景
 
  为其他公司开发一个小程序,这个小程序要只能在企业微信里面访问,不能通过普通微信访问。
 
 
  问题分析
 
  首先,这里面需要解决几个问题:
 
  1、只在企业微信里使用,不能在普通小程序使用
 
  判断当前运行环境
 
  2、只有授权的用户可以使用该小程序
 
  权限校验
 
  1:普通微信,使用账号+密码登陆,审核专用,可限制账号权限
 
  2:企业微信,校验企业id,校验用户id,有权限的才允许使用
 
  3、控制搜索
 
  在小程序管理后台设置「不允许被搜索」
 
  4、控制分享
 
  小程序里面关闭分享
 
  OK,做到以上几点,就实现了只有企业微信里授权的用户,才能够在企业微信的 工作台 看到该小程序。
 
  处理流程
 
  好,既然问题已经明确了,那我们就搞起。
 
  1、小程序基础功能开发,提交审核
  对,没看错,先提交审核,因为只有审核通过的小程序才能被企业微信绑定。所以,先把小程序的基础功能做出来,可以限制一部分功能,总之,就是先让这个小程序上架。同时,在小程序的管理后台设置「不允许被搜索」,避免不必要的麻烦。
 
  2、企业微信关联小程序
  进入企业微信后台 -> 应用管理 -> 小程序 -> 关联小程序,然后使用小程序管理员的微信扫码,按照指引操作即可。
 
  3、获取关联小程序的 Secret,设置可见范围
  上一步的小程序页面会出现刚才关联的小程序,点击进入,然后就看到 secret 及可见范围。
 
  这个 secret 相当于该小程序访问该企业微信数据的令牌,请妥善保存。
 
  可见范围就是授权,哪些用户能看到这个小程序,被设置可见的人将会在自己企业微信的工作台看到该小程序。
 
  4、修改小程序
  好了,到重头戏了。
 
  4.1、判断运行环境
  小程序需要判断当前的运行环境(普通微信 or 企业微信),需要判断使用当前小程序的用户是否有权限使用。
 
  var isWxWork = false;wx.getSystemInfo({
    success(res) {
      console.log(res.environment);
 
      isWxWork = res.environment == 'wxwork';
      if (!isWxWork) {
          // 当前环境不是企业微信,怎么处理你随便
          return;
      }
      
      // 当前环境是企业微信,执行登陆,获取用户 code,用于后面的权限校验
      wx.qy.login({
        success: function (res) {
     }})
  4.2、权限校验
  后台需要调用以下几个接口来进行权限校验。
 
  1、获取 access_token
 
  https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=xxxx&corpsecret=xxxx
 
  请求方式:GET
  这个接口和普通微信获取 token 的方法类似。
 
  其中,corpid 在企业微信管理后台->我的企业->企业信息->企业ID;corpsecret 就是我们上一步关联小程序后获取的 secret。
 
  返回内容如下:
 
  {
      "errcode": 0,
      "errmsg": "ok",
      "access_token": "xxxxxx",
      "expires_in": 7200}
  2、获取 userid
 
  https://qyapi.weixin.qq.com/cgi-bin/miniprogram/jscode2session?access_token=xxx&js_code=xxx&grant_type=authorization_code
 
  请求方式:GET
  其中,access_token 是我们前一步 gettoken 获取到的;js_code 是前面判断运行环境时获取到的 res.code;grant_type 固定传 authorization_code

(编辑:开发网_开封站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读