主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
文章目录
背景问题分析处理流程1。小程序基本功能开发,送审2。企业微信相关小程序3。获取相关小程序的秘密,设置可视范围。修改小程序4.1。判断运行环境4.2。权限验证的参考资料。相关免费学习推荐:微信小程序开发教程。
背景
为其他公司开发一个小程序。这个小程序只能通过企业微信访问,不能通过普通微信访问。
只有企业微信中的授权用户才能使用这个小程序。
之所以要整理这样一个流程,是因为微信上的文档太散太乱,我花了很长时间才把这个流程理顺。
问题分析
首先,有几个问题需要解决:
1.只能在企业微信中使用,不能在普通小程序中使用。
2.只有授权用户才能使用这个小程序。
3.控制搜索
4.控制共享
好了,通过上面的做法,实现了只有企业微信中的授权用户才能看到企业微信工作台上的小程序。
处理流程
好了,现在问题清楚了,我们开始吧。
1.开发小程序的基本功能,提交审核。如果没有错误,先提交审核,因为只有审核通过的小程序才能绑定企业微信。所以可以先做小程序的基本功能,也可以限制一些功能。总之这个小程序先上架。同时在小程序管理后台设置“不要被搜索”,避免不必要的麻烦。
2.企业微信相关小程序进入企业微信后台->应用管理->小程序->相关小程序,然后使用小程序管理员的微信扫码按照指示操作。
3.获取关联小程序的密码。设置可见范围。将出现上一步中的applet页面。点击进入,就会看到秘密和可见范围。
这个秘密相当于小程序访问企业微信数据的令牌。请妥善保管。
可见范围是授权,用户可以看到这个小程序,设置为可见的人会在自己企业微信的工作台上看到这个小程序。
4、修改小程序,这是重头戏。
4.1.判断运行环境小程序,需要判断当前的运行环境(普通微信还是企业微信)以及使用当前小程序的用户是否有使用权限。
var isWxWork = falsewx . getsystem info({ success(RES){ console . log(RES . environment);isWxWork = RES . environment = = ' wx work ';如果(!IsWxWork) {//现在的环境不是企业微信,想怎么回就怎么回;}//当前环境是企业微信,登录获取用户代码,用于检查wx.qy.login的权限({ success:function(RES){ if(RES . code){ console . log(RES . code));//这里可以通过一个请求把res.code发送到后台,让后台检查权限} else {console.log('登录失败!'+RES . errmsg);} } });}})4.2.权限验证后台需要调用以下接口进行权限验证。
1.获取访问令牌
https://qyapi.weixin.qq.com/cgi-bin/gettoken?公司= xxxx & ampCorpsecret=xxxx请求方法:GET这个接口类似于普通微信获取token的方式。
其中corpid在企业微信管理后台->我的企业->企业信息->企业ID;Corpsecret是我们在上一步关联applet后获得的秘密。
返回的内容如下:
{ & quot错误代码& quot:0,& quoterrmsg & quot:& quot好的& quot,& quot访问令牌& quot:& quotxxxxxx & quot,& quot过期时间为& quot: 7200}2.获取用户id
https://qyapi . weixin . QQ . com/CGI -bin/mini program/jscode 2 session?访问令牌= xxx & ampjs _ code = xxx & ampGrant_type=authorization_code请求方法:GET,其中access_token是上一步gettoken获得的;Js_code是res.code判断运行环境时获得;授权类型固定传输授权代码
返回的内容如下:
{ & quotuserid & quot:& quot瓶子& quot,& quot会话密钥& quot:& quotxxxxx & quot,& quotcorpid & quot:& quotxxxxxx & quot,& quotdeviceid & quot:& quotxxxxxx & quot,& quot错误代码& quot:0,& quoterrmsg & quot:& quot好的& quot}这里的corpid可以用来初步检查当前用户是否有权限,因为无论哪个公司,只要他使用企业微信和这个小程序,就会返回这样一个结果。你需要根据corpid是否是你授权的企业的id来检查。如果没有,就不经允许返回,不进行下一步。
当然,corpid也可以用来处理一个小程序关联多个公司的情况,但这是另外一个问题。下面简单介绍一下。因为是为其他公司开发的小程序,所以我们的小程序也关联了两家公司,一家是我们公司,一家是对方公司,也方便我们测试。我们只需要授权我们自己的测试人员在完全相同的环境中进行测试。
3.获取用户信息(判断权限)
https://qyapi.weixin.qq.com/cgi-bin/user/get?接入令牌= xxx & ampUserid=xxx请求方法:GET,其中access_token是上一步gettoken获得的;Userid是我们在上一步中得到的userid。
返回的内容如下:
有权限{ " errcode & quot:0,& quoterrmsg & quot:& quot好的& quot,& quotuserid & quot:& quotxxx & quot,& quot名称& quot:& quotxxx & quot,& quot部门& quot:[],& quot位置& quot:& quot",& quot手机& quot:& quotxxx & quot,& quot性别& quot:& quot2 & quot,& quot电子邮件& quot:& quot",& quot阿凡达& quot:& quothttp://p.qlogo.cn/bizmail/xxx/0",& quot状态& quot:1,& quotisleader & quot:0,& quotextattr & quot:{ & quotattrs & quot:[] },& quot电话& quot:& quot",& quot启用& quot:1,& quot隐藏_手机& quot:0,& quot订单& quot:[],& quotqr _ code & quot:& quothttps://open.work.weixin.qq.com/wwopen/userQRCode? vcode = XXX & quot;,& quot别名& quot:& quot",& quot部门领导& quot:[]}没有权限{ " errcode & quot:60011,& quoterrmsg & quot:& quot没有权限访问/修改联系人/当事人/代理,提示:[1564556097 _ 7 _ 8d 45297 BD 21 be 3702 ff 430560 E1 f 0652],来自IP:118.113.1.217,更多信息请访问https://open.work.weixin.qq.com/devtool/query? e = 60011 & quot;,& quot部门& quot:[],& quot订单& quot:[],& quot部门领导& quot:[]}好了,根据有没有权限进行不同的操作就行了,这里就不赘述了。
这几篇文章你可能也喜欢:
本文由主机参考刊发,转载请注明:企业微信小程序开发流程 https://zhujicankao.com/113669.html
评论前必须登录!
注册