开发企业微信小程序的流程分析
导语:
开发一个小程序,该小程序只能在企业微信中访问,并且企业微信里只有被授权的用户可以使用。
(学习视频分享:编程视频)
问题分析:
首先,这里面需要解决几个问题:
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) { if (res.code) { console.log(res.code); // 这里可以将 res.code 通过请求发送给后台,让后台做权限校验 } else { console.log('登录失败!' + res.errMsg); } } }); } })
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
返回内容如下:
{ "userid": "bottle", "session_key": "xxxxx", "corpid": "xxxxxx", "deviceid": "xxxxxx", "errcode": 0, "errmsg": "ok" }
这里的 corpid 可以用来初步校验当前用户是否有权限,因为无论哪个公司的人,只要他用企业微信,使用这个小程序,都会返回这样的结果,你需要根据 corpid 是否是你授权的企业的ID来校验,如果不是,直接返回无权限就可以,不用进行下一步。
当然 corpid 也可以用于处理一个小程序关联多家公司的情况,不过这是另一个问题了。这里简单提一嘴,因为是给其他公司开发的小程序,所以我们这个小程序也关联了两个企业,一个我们公司,一个对方公司,这样也方便我们测试,只需要给我们自己的测试人员授权就可以让他们使用完全相同的环境进行测试了。
3、获取用户信息(判断权限)
https://qyapi.weixin.qq.com/cgi-bin/user/get?access_token=xxx&userid=xxx 请求方式:GET
其中,access_token 是我们前一步 gettoken 获取到的;userid 就是我们上一步获取到的 userid。
返回内容如下:
有权限
{ "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": [] }
无权限:
{ "errcode": 60011, "errmsg": "no privilege to access/modify contact/party/agent , hint: [1564556097_7_8d45297bd21be3702ff430560e1f0652], from ip: 118.113.1.217, more info at https://open.work.weixin.qq.com/devtool/query?e=60011", "department": [], "order": [], "is_leader_in_dept": [] }
OK,后面根据有权限还是无权限,执行不同的操作就可以了,这里不再赘述。
参考资料
企业微信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
相关推荐:小程序开发
以上是开发企业微信小程序的流程分析的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

越来越多的企业选择使用专属的企业微信,这不仅便于企业与客户、合作伙伴之间的沟通和交流,还极大地提高了工作效率。企业微信功能丰富,其中,共享屏幕功能备受欢迎。在会议过程中,通过共享屏幕,与会者可以更加直观地展示内容,从而更加高效地协作。那么究竟该如何在企业微信中高效的共享自己的屏幕呢,还不了解的用户们,这篇教程攻略就将为大家带来详细的内容介绍,希望能帮助到大家!企业微信怎么共享屏幕?1、在企业微信主界面的左侧蓝色区域内可以看到有一列功能,我们找到“会议”这个图标,点击进入之后,就会出现三种会议模式

企业微信和个人微信的区别:1、服务对象;2、功能差异;3、使用场景;4、群聊功能;5、朋友圈功能;6、好友权限;7、资产归属;8、封号差异;9、营销工具;10、安全性。详细介绍:1、服务对象,个人微信主要服务于广大群众,是一种社交工具,大众都可以使用它来交流、分享和互动,而企业微信主要是面向企业管理人员和内部员工,提供更高效、便捷的办公服务;2、功能差异,个人微信等等。

很多小伙伴不知道企业微信怎么用,所以下面小编就分享了企业微信的使用教程,一起去看看吧,相信对大家会有帮助。第一步:点击“企业微信”图标进入企业微信,在消息板块我们可以加入群聊与同事聊天(如图所示)。第二步:在企业微信主界面,点击“通讯录”(如图所示)。第三步:进入通讯录板块,在通讯录板块我们可查看自己的联系人(如图所示)。第四步:在企业微信主界面,点击“工作台”(如图所示)。第五步:进入工作台板块,在工作台板块我们可进行公司日常的小工作(如图所示)。第六步:在企业微信主界面,点击“我”(如图所示

企业微信自动打卡怎么设置?企业微信中是可以设置自动打卡的功能,但是多数的小伙伴不知道企业微信如何设置自动打卡,接下来就是小编为玩家带来的企业微信自动打卡设置方法图文教程,感兴趣的玩家快来一起看看吧!微信使用教程企业微信自动打卡怎么设置1、首先打开企业微信APP,进入工作台的界面选择【打卡】功能;2、然后在打卡的界面,选择【假勤申请】中的【打卡设置】;3、最后在打卡设置的功能页,滑动【上下班快捷打卡】后方的按钮即可自动打卡。

企业微信的邮箱怎么登陆?企业微信APP中是可以登陆邮箱,但是多数的用户不知道邮箱如何的登陆,接下来就是小编为用户带来的企业微信邮箱登陆方法图文教程,感兴趣的用户快来一起看看吧!企业微信使用教程企业微信的邮箱怎么登陆1、首先打开企业微信APP,进入到主页面最底部【工作台】点击来专区;2、之后在工作台专区中,选择其中的【企业邮箱】服务;3、然后跳转到企业邮箱功能页,点击底部的【绑定】或者【换一个邮箱】;4、最后在下图所示的页面输入【QQ账号】和【密码】即可登陆邮箱。

1、首先进入企业微信官网首页,点击【立即注册】,进入企业微信注册页面。2、填写企业基本信息,包括企业名称、管理员姓名、管理员手机号码等。3、选择管理员身份验证的方式,验证管理员身份后,就可以创建企业微信账号了。4、然后设置企业微信的管理员账号和密码,选择企业微信的使用方式。5、企业微信账号创建后,用户需要下载并安装企业微信客户端,才能正式使用企业微信的各种功能。

1、首先企业微信是根据员工规模来收取费用的。2、1-1000人组成的小型企业,收费标准是【300元/年】。3、1001-10000人组成的中型企业,收费标准是【3000元/年】。4、10001人及以上的大型企业,收费标准是【30000元/年】。

1、首先打开自己下载在手机中的企业微信软件。登录时,有两种方式可供选择:一种是使用微信号,另一种是使用手机号。3、这时候就需要企业管理员在后台添加了你的手机号,然后企业微信会根据你的手机号来进行企业的识别。然后显示你的企业,点击下方的进入企业选项。4、然后你就可以进入到软件中功能的使用,可以说最重要的就是必须你的手机号被管理员添加到企业中,不然是无法使用的。
