主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
线索:
开发一个小程序,只能在企业微信中访问,只有授权用户才能在企业微信中使用。
(学习视频分享:编程视频)
问题分析:
首先,有几个问题需要解决:
1.只能在企业微信中使用,不能在普通小程序中使用。
判断当前运行环境
2.只有授权用户才能使用这个小程序。
权限检查
1:普通微信,账号+密码登录,审计专用,可限制账号权限。
2.企业微信,查企业id,查用户id,只有有权限的人才允许使用。
3.控制搜索
在小程序管理后台设置“不允许被搜索”。
4.控制共享
关闭小程序中的共享
好了,通过上面的做法,实现了只有企业微信中的授权用户才能看到企业微信工作台上的小程序。
处理流程
好了,现在问题清楚了,我们开始吧。
1.开发小程序的基本功能,提交审核。
是的,它是正确的。先提交审核,因为只有通过审核的小程序才能绑定企业微信。所以可以先做小程序的基本功能,也可以限制一些功能。总之这个小程序先上架。同时在小程序管理后台设置“不要被搜索”,避免不必要的麻烦。
2.企业微信相关小程序
进入企业微信后台->应用管理->小程序->关联小程序,然后用小程序管理员的微信扫码,按照指示操作。
3.获取关联小程序的密码并设置可见范围。
在上一步中的applet页面上,将出现刚刚关联的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。
返回的内容如下:
有权威
{ & quot错误代码& 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:[]}无权限:
{ & quot错误代码& 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:[]}好了,根据有没有权限进行不同的操作就行了,这里就不赘述了。
参考数据
企业微信API(小程序):https://work.weixin.qq.com/api/doc#90000/90136/90289
企业微信界面调试工具:https://work.weixin.qq.com/api/devtools/devtool.php
错误码查询工具:https://open.work.weixin.qq.com/devtool/query
相关推荐:小程序开发
这几篇文章你可能也喜欢:
- 如何实现小程序发送服务通知(小程序如何主动向用户发送通知)
- 如何获取小程序的unionid(如何获取小程序的页面路径)
- 生成海报的示例小程序(Java后端)(微信小程序生成海报演示)
- 什么是小程序? 有哪些功能?(什么是小程序?有哪些功能?)
- 介绍如何用小程序生成参数二维码(二维码+小程序参数)
本文由主机参考刊发,转载请注明:开发企业微信小程序的流程分析(企业微信小程序开发) https://zhujicankao.com/118541.html
评论前必须登录!
注册