如图,没添加一条定时的消息,都需要重新在命令行执行命令,才能收到推送的消息
提交消息的时候,去执行php artisan schedule:run 这段代码 能成吗
在服务启动之前,我已经执行过一次了,添加完消息之后,发现没有作用,又执行了一次,然后有效果了
我这样的做法有问题吗
我的意思是 你提交这个任务的时候,去触发一下php artisan schedule:run
请教大佬具体怎么实现呢
exec("php artisan schedule:run",$out); print_r($out);
但这样好像不是很安全...
这样是危险的,你应该另寻出路...
贴一下我的代码
如果没有选择发送时间............如果选择了发送时间 你怎么做的?..空啊
如果没有选择发送时间,那么就立即发送
是不是少了函数调用..
分号前面加()试一试
不能加呀兄弟,加了直接报错
....你是不是应该先设置 发送时间,然后再发送...
对,是这样操作的
不 new呢 直接 JPush::pushMessageByAlias呢..
<?php /** * Created by PhpStorm. * User: huangzhicheng * Date: 2018/8/28 * Time: 下午3:12 */ namespace data\tools; use data\tools\config\Output; use JPush\Client as Client; class JPush { /** * 通过别名发送极光推送消息 * @param $title // 标题 * @param $content // 内容 * @param $alias // 别名 * @param array $params // 扩展字段 * @param string $ios_badge // ios 角标数 * @param array $platform // 推送设备 * @return array|bool * @author huangzhicheng 2018年08月29日 */ public static function pushMessageByAlias ($title, $content, $alias, $params = [], $ios_badge = '0', $platform = ['ios', 'android']) { if (!is_array ($alias)) return false; $jpush_conf = Output::getJPushKey (); // 获取配置信息 app_key 和 master_secret $app_key = $jpush_conf[ 'app_key' ]; $master_secret = $jpush_conf[ 'master_secret' ]; try { // 初始化 $client = new Client($app_key, $master_secret); $result = $client->push () ->setPlatform ($platform) ->addAlias ($alias) ->iosNotification ( $content, [ 'sound' => '1', 'badge' => (int)$ios_badge, 'content-available' => true, 'category' => 'jiguang', 'extras' => $params, ]) ->androidNotification ($content, [ 'title' => $title, //'build_id' => 2, 'extras' => $params, ]) ->options ([ 'sendno' => 100, 'time_to_live' => 86400, 'apns_production' => true, // ios推送证书的选择,True 表示推送生产环境,False 表示要推送开发环境 //'big_push_duration' => 10, ]) ->send (); return $result; } catch (\Exception $e) { // 写入错误日志 // 这里根据自己的业务来定 } } } // 我看他们这么写的..不知道对不对
不行啊,大哥