You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

129 lines
3.7 KiB

<?php
namespace app\base\controller\demo\api;
use think\App;
class Push extends Base
{
/**
* 通过cid单推
* @date 2022-04-26
*/
public function singlePushByCid()
{
$param = input('post.');
$uni_push_param = get_dcloud_uni_push_config();
$push_class = new \getui\push\Push($uni_push_param);
//推送消息
$request_id = date("YmdHi") . createNonceStr(4, ['number']);
// $title = '秒杀提醒';
// $content = '您预约的产品即将开枪';
$payload = 'spikenotice_1';
$result = $push_class->toSinglePushByCid($param['client_id'], $request_id, $param['title'], $param['content'], $uni_push_param['package_name'], $payload);
// 记录日志
platformLog([
'client_id' => $param['client_id'],
'request_id' => $request_id,
'title' => $param['title'],
'content' => $param['content'],
'package_name' => $uni_push_param['package_name'],
'payload' => $payload
], $result, 'getui_to_single_by_cid_' . UID);
dump($result);
if ($result['code'] != 0) {
return sendErrorMessage($result['code'], $result['msg']);
}
}
/**
* 执行cid批量推
* @date 2022-04-26
*/
public function listPushByCid()
{
$param = input('post.');
$param['client_id'] = explode(',', $param['client_id']);
$uni_push_param = get_dcloud_uni_push_config();
$push_class = new \getui\push\Push($uni_push_param);
$request_id = date("YmdHi") . createNonceStr(4, ['number']);
$payload = 'spikenotice_1';
//创建消息
$result = $push_class->toListCreatePush($request_id, $param['title'], $param['content'], $uni_push_param['package_name'], $payload);
// 记录日志
platformLog([
'request_id' => $request_id,
'title' => $param['title'],
'content' => $param['content'],
'package_name' => $uni_push_param['package_name'],
'payload' => $payload
], $result, 'getui_to_list_create_list_msg_' . UID);
dump($result);
if ($result['code'] != 0) {
return sendErrorMessage($result['code'], $result['msg']);
}
$task_id = $result['data']['taskid'];
dump($task_id);
//批量推送
$result = $push_class->toListPushByCid($param['client_id'], $task_id);
// 记录日志
platformLog([
'client_id' => $param['client_id'],
'task_id' => $task_id
], $result, 'getui_to_list_by_cid_' . UID);
dump($result);
if ($result['code'] != 0) {
return sendErrorMessage($result['code'], $result['msg']);
}
}
/**
* 执行cid群推
* @date 2022-04-27
*/
public function appPush()
{
$param = input('post.');
$uni_push_param = get_dcloud_uni_push_config();
$push_class = new \getui\push\Push($uni_push_param);
$request_id = date("YmdHi") . createNonceStr(4, ['number']);
$payload = 'spikenotice_1';
//群推
$result = $push_class->toAppPush($request_id, $param['title'], $param['content'], $uni_push_param['package_name'], $payload);
// 记录日志
platformLog([
'request_id' => $request_id,
'title' => $param['title'],
'content' => $param['content'],
'package_name' => $uni_push_param['package_name'],
'payload' => $payload
], $result, 'getui_to_app_' . UID);
dump($result);
if ($result['code'] != 0) {
return sendErrorMessage($result['code'], $result['msg']);
}
}
}