在企业微信应用中,确保只有授权用户能在工作台浏览小程序,这一步骤至关重要。然而,很多人并不清楚如何操作,这就像一个隐藏在幕后的秘密。今天,我们就来具体探讨一下这个问题。
小程序审核要先行
开发小程序的基本功能至关重要。这好比建造房屋先要打好地基,绝不能草率行事。必须保证基础功能的全面性,尽管可以暂时关闭一些复杂功能,但整体必须符合上架要求。以2022年为例,有一家公司在小程序开发初期,特意指派了三名开发人员,花费了一个月时间来构建基础功能。随后,他们迅速提交审核,因为未经审核通过的程序无法与企业微信对接。此外,他们还在小程序管理后台将其设置为不可搜索,如同关闭一扇不欢迎访客的门,以防不测。
在实际操作中,各开发团队可能会面临各自的基础功能开发难题。有些团队可能在界面设计上感到困惑,而另一些团队可能在交互流程上遇到挑战。这些问题都需要我们一一解决。
关联小程序至企业微信
企业微信后台的进入路径是清晰规定的。首先进入应用管理,接着点击小程序板块,之后进行小程序的关联。在此环节,小程序管理员需使用微信扫描二维码,并严格遵循指引进行操作。这一流程宛如一场正式的对接仪式。以2021年的一例为例,一个创业团队在关联过程中,差点因网络问题导致扫码失败。这一步骤将小程序与企业微信两大平台连接起来,就好比在它们之间建立了一座桥梁。
该程序处理的是企业微信后台的权限问题,若权限不足或设置不当,便难以实现顺利关联。此外,版本间的差异有时也会导致意外状况,企业需对后台的配置进行细致检查。
获取关联小程序关键信息及设置可见范围
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) {
if (res.code) {
console.log(res.code);
// 这里可以将 res.code 通过请求发送给后台,让后台做权限校验
} else {
console.log('登录失败!' + res.errMsg);
}
}
});
}
})
关联成功后,小程序页面将展示出关联的小程序入口。点击该入口,即可查看到所需的关键信息和可见范围设置。这整个过程,就如同揭开了一个隐藏的宝藏,发现了藏宝箱中的关键物品。以某科技公司为例,技术人员小王在发现这一关键信息后,欣喜若狂。这些关键内容,就如同获取企业微信数据的通行证,极其重要,必须谨慎保管。
https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=xxxx&corpsecret=xxxx
请求方式:GET
可见范围指的是规定哪些用户能访问该小程序,决定了谁能够看到它。这直接影响到企业内部信息的保密性和传播效率。各企业会根据自身的组织结构和人员职责,设定不同的可见范围策略。
修改小程序之判断运行环境
{
"errcode": 0,
"errmsg": "ok",
"access_token": "xxxxxx",
"expires_in": 7200
}
小程序需准确识别其运行环境。区分是个人微信还是企业微信,对后续操作至关重要。若用户在2023年6月使用该小程序,系统需即时识别环境。这个过程犹如在十字路口辨明方向,绝不能出错。它直接关系到小程序对用户权限的合理分配,防止出现越权等潜在风险。
https://qyapi.weixin.qq.com/cgi-bin/miniprogram/jscode2session?access_token=xxx&js_code=xxx&grant_type=authorization_code
请求方式:GET
在实际操作中,技术团队得借助特定的代码逻辑或工具来精确地进行此类判断。一旦判断出现错误,就可能发生本不该看到小程序的人却看到了,或者本应看到的人却看不到的情况。
{
"userid": "bottle",
"session_key": "xxxxx",
"corpid": "xxxxxx",
"deviceid": "xxxxxx",
"errcode": 0,
"errmsg": "ok"
}
修改小程序之权限校验
进行权限确认需借助特定接口,其操作方式与在常规微信中获取token相近。若某企业拥有企业ID,123456,就如同其唯一的身份证。通过此企业ID及相关的返回码,我们可初步判断用户权限。若为多家企业开发小程序,犹如为多个家庭设计不同房间,企业ID便成为关键的区别标志。
使用接口时可能会遭遇网络延迟或接口反馈错误等情况。以2020年某个项目开发为例,由于开发环境的网络不稳定,接口调用频繁失败,因此必须准备备用应对措施。
https://qyapi.weixin.qq.com/cgi-bin/user/get?access_token=xxx&userid=xxx
请求方式:GET
通过用户信息判断权限
为了进行最终的权限判定,我们需要收集用户的相关信息。根据前面步骤获取的各类数据,我们能够判断用户是否具备相应的权限,并据此执行相应的操作。这相当于一个严谨的门禁制度,允许有权限的人进入,而阻止无权限者。不同公司的用户信息架构和内容可能存在差异,因此需要根据具体情况进行灵活应对。
读完这段,您是否产生了在自己公司应用类似小程序权限控制的念头?不妨在评论区发表意见,为文章点赞并转发分享。
{
"errcode": 0,
"errmsg": "ok",
"userid": "xxx",
"name": "xxx",
"department": [],
"position": "",
"mobile": "xxx",
"gender": "2",
"email": "",
"avatar": "http://p.qlogo.cn/bizmail/xxx/0",
"status": 1,
"isleader": 0,
"extattr": {
"attrs": []
},
"telephone": "",
"enable": 1,
"hide_mobile": 0,
"order": [],
"qr_code": "https://open.work.weixin.qq.com/wwopen/userQRCode?vcode=xxx",
"alias": "",
"is_leader_in_dept": []
}