一、商家诉求
小程序中用户做某一动作前要求用户添加企业微信才能操作。
二、实现原理
利用企业微信客户联系的【微信开发者ID->支持小程序、公众号,绑定后可通过api接口获取微信联系人对应的唯一身份标识(微信unionid) 】
的这个能力,这个能力可以再用户添加/删除企业微信时会推送消息到指定的服务器URL地址,将推送信息保存, 然后小程序端根据这份数据进行判断。
三、实现步骤
要使这个能力在系统生效要做如下配置:
0.小程序绑到开放平台,可以是同主体,也可以是异主体,这个没有强制要求。
1.收集企业微信的CorpId与Secret,其中企业CorpId在“我的企业”中找企业ID
Secret的获取,可以点查看,然后发送,发送到管理员企业微信会收到通知。
秘钥忘记,可以通过重置功能重置
2.微信开发者ID一栏绑定关联的小程序,必须企业微信同主体,不接受反驳。(实际上绑定企业微信同主体申请的任一小程序都可以)
绑定发起授权页面,小程序管理员扫码授权即可。
绑定后不要解绑,解绑后企业l联系人将无法获取unionId
3.设置企业微信客户联系事件接受服务器Url及消息加解密信息,设置为之后复制出来,用于配置到系统中来
Url:http://xx.xxx.com/wxwork/receive/改为企业ID
注意:填写前需要已开发验证代码,否则保存不成功,文档:https://open.work.weixin.qq.com/api/doc/90000/90135/92129
4.处理接收消息,将是否添加企业微信信息保存
文档:https://open.work.weixin.qq.com/api/doc/90000/90135/92130#添加企业客户事件
主要变更类型处理:
5.需要判断的业务,根据保存的这份信息做判断
if(数据库存在记录,并且没有删除企业微信){
加了企业微信了干点啥
}else{
没加,或者以前加过但删除了,干点啥
}
“将推送信息保存, 然后小程序端根据这份数据进行判断”,这句话什么意思?
”
if(数据库存在记录,并且没有删除企业微信){
加了企业微信了干点啥
}else{
没加,或者以前加过但删除了,干点啥
}
请问如果加入的是微信群呢?事件消息是哪个?我看文档中https://developer.work.weixin.qq.com/document/path/92130#%E5%AE%A2%E6%88%B7%E7%BE%A4%E5%8F%98%E6%9B%B4%E4%BA%8B%E4%BB%B6
客户群变更事件 消息通知中又没有回调是哪个用户加入或者退出
强