添加php在线服务搭建版本
This commit is contained in:
parent
08fc56faeb
commit
fbe08a0d97
|
@ -0,0 +1,12 @@
|
|||
# 在线服务搭建指南(PHP版)
|
||||
|
||||
## 安装条件
|
||||
|
||||
- PHP7.4+
|
||||
- 可访问外部网络的运行环境
|
||||
|
||||
## 安装说明
|
||||
|
||||
1. 用编辑器打开 `index.php`,按提示修改头部 define 的值( sendkey自己随意写,其他参见企业微信配置文档 )
|
||||
1. 将 `index.php` 上传运行环境
|
||||
1. 通过 `http://指向运行环境的域名/?sendkey=你设定的sendkey&text=你要发送的内容` 即可发送内容
|
23
README.md
23
README.md
|
@ -1,6 +1,10 @@
|
|||
# Wecom酱
|
||||
|
||||
通过企业微信向微信推送消息(配置说明&推送函数)。
|
||||
通过企业微信向微信推送消息的解决方案。包括:
|
||||
|
||||
1. 配置说明(本页下方)
|
||||
2. 推送函数(支持多种语言,见本页下方)
|
||||
3. 自行搭建的在线服务源码 [查看搭建说明](ONLINE.md)
|
||||
|
||||
## 企业微信应用消息配置说明
|
||||
|
||||
|
@ -46,6 +50,14 @@ PS:消息接口无需认证即可使用,个人用微信就可以注册
|
|||
|
||||
![](https://theseven.ftqq.com/20210208144808.png)
|
||||
|
||||
PS:如果出现`接口请求正常,企业微信接受消息正常,个人微信无法收到消息`的情况:
|
||||
|
||||
1. 进入「我的企业」 → 「[微信插件](https://work.weixin.qq.com/wework_admin/frame#profile/wxPlugin)」,拉到最下方,勾选 “允许成员在微信插件中接收和回复聊天消息”
|
||||
![](https://img.ams1.imgbed.xyz/2021/06/01/HPIRU.jpg)
|
||||
|
||||
2. 在企业微信客户端 「我」 → 「设置」 → 「新消息通知」中关闭 “仅在企业微信中接受消息” 限制条件
|
||||
![](https://img.ams1.imgbed.xyz/2021/06/01/HPKPX.jpg)
|
||||
|
||||
#### 第五步,通过以下函数发送消息:
|
||||
|
||||
PHP版:
|
||||
|
@ -179,14 +191,7 @@ sendToWecom({
|
|||
其他版本的函数可参照上边的逻辑自行编写,欢迎PR。
|
||||
|
||||
|
||||
## 注解
|
||||
出现`接口请求正常,企业微信接受消息正常,个人微信无法收到消息`:
|
||||
|
||||
1. 进入「我的企业」 → 「[微信插件](https://work.weixin.qq.com/wework_admin/frame#profile/wxPlugin)」,拉到最下方,勾选 “允许成员在微信插件中接收和回复聊天消息”
|
||||
![](https://img.ams1.imgbed.xyz/2021/06/01/HPIRU.jpg)
|
||||
|
||||
2. 在企业微信客户端 「我」 → 「设置」 → 「新消息通知」中关闭 “仅在企业微信中接受消息” 限制条件
|
||||
![](https://img.ams1.imgbed.xyz/2021/06/01/HPKPX.jpg)
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,50 @@
|
|||
<?php
|
||||
|
||||
define('SENDKEY', 'set_a_sendkey');
|
||||
define('WECOM_CID', '企业微信公司ID');
|
||||
define('WECOM_SECRET', '企业微信应用Secret');
|
||||
define('WECOM_AID', '企业微信应用ID');
|
||||
define('WECOM_TOUID', '@all');
|
||||
|
||||
if (strlen(@$_REQUEST['sendkey']) < 1
|
||||
|| strlen(@$_REQUEST['text']) < 1 || @$_REQUEST['sendkey'] != SENDKEY
|
||||
) {
|
||||
die('bad params');
|
||||
}
|
||||
|
||||
header("Content-Type: application/json; charset=UTF-8");
|
||||
echo send_to_wecom(@$_REQUEST['text'], WECOM_CID, WECOM_SECRET, WECOM_AID, WECOM_TOUID);
|
||||
|
||||
|
||||
function send_to_wecom($text, $wecom_cid, $wecom_secret, $wecom_aid, $wecom_touid = '@all')
|
||||
{
|
||||
$info = @json_decode(file_get_contents("https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=".urlencode($wecom_cid)."&corpsecret=".urlencode($wecom_secret)), true);
|
||||
|
||||
if ($info && isset($info['access_token']) && strlen($info['access_token']) > 0) {
|
||||
$access_token = $info['access_token'];
|
||||
$url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token='.urlencode($access_token);
|
||||
$data = new \stdClass();
|
||||
$data->touser = $wecom_touid;
|
||||
$data->agentid = $wecom_aid;
|
||||
$data->msgtype = "text";
|
||||
$data->text = ["content"=> $text];
|
||||
$data->duplicate_check_interval = 600;
|
||||
|
||||
$data_json = json_encode($data);
|
||||
$ch = curl_init();
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
|
||||
curl_setopt($ch, CURLOPT_URL, $url);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
@curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
|
||||
curl_setopt($ch, CURLOPT_POST, true);
|
||||
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json);
|
||||
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
||||
|
||||
$response = curl_exec($ch);
|
||||
return $response;
|
||||
}
|
||||
return false;
|
||||
}
|
Loading…
Reference in New Issue