因为公司需求,当有人提交新的任务时需要及时通知相关人员处理,而站内消息效果不是很理想,需要人一直在电脑面前才知道是否有新的任务,其他的有邮件,短信等也可以实现类似通知的效果,但是如果消息比较频繁感觉也不太合适,所以最终考虑在微信端实现
起初想通过微信公众号来实现相关消息的推送,后来发现客服消息有时间限制,一般是48小时内,如果在这段时间用户没有跟公众号有相关必要的交互动作,那么48小时后服务器无法主动给指定用户推送客服消息。而模板消息要求也很严苛,只能使用官方已审核通过的模板,很难找到完美适合自己业务的模板,而且模板消息推送不能太频繁,官方举例(模板消息的发送频率不能太高骚扰接收者 例:某用户点击公众号的自定义菜单一次或其它触发操作,连续收到3条或更多重复模板消息,属于违规行为),反正想把公众号的模板消息来当成日常工作消息推送还是有点风险,说不定哪天就直接给禁用了。最后发现一个好东西,企业微信,企业微信有着类似公众号里面相同的功能,包括消息推送,网页授权等等,于是移花接木快速的将企业微信相关配置移植到之前开发好的公众号代码。
整个程序核心是使用Easywechat,这个东西还是非常好用,把平时微信开发的一些恶心的地方都封装好了,使用者基本只需要关心业务层的东西,开发效率非常高。下面列一段基础代码(复制粘贴官方文档的
)。
$config = [
'corp_id' => 'xxxxxxxxxxxxxxxxx',
'agent_id' => 100022,
'secret' => 'xxxxxxxxxx',
// server config
'token' => 'xxxxxxxxx',
'aes_key' => 'xxxxxxxxxxxxxxxxxx',
//...];
$app = Factory::work($config);
$app->server->push(function(){
return 'Hello easywechat.';}
);
$response = $app->server->serve();$response->send();
这段代码一个简单的企业微信服务端就组成了
corp_id:企业微信ID,登录企业微信官网点击我的企业,最底部就是了。
agent_id:自建应用ID
secret:自建应用secret。
自建应用是一个核心东西,后面的消息推送都由它来完成。点击应用管理,在自建里面点击创建应用。

设置应用的logo和名称这些,全部自定义,很nice

创建完成后就可以获得应用ID和secret了。找到接收消息模块,去设置消息服务器配置,有点类似微信公众号的服务器配置,这里需要事先搭建好自己的服务端,将代码提交至服务器然后在进行这一步,因为配置服务器url时微信会去检验该地址,如果访问该url没有成功返回值给微信服务器,那么将提示失败。


这一步我们获取到了token和aes_key。到此代码里面的配置项所需的东西都已经有了。
在应用详情里面划到底部找到这两个东西,网页授权和企业微信授权,然后配置好域名,和之前的服务器配置的url所在域名一样,这个主要是用于网页授权获取用户信息时需要。

基本主要的步骤就这些了