首先我开发的小程序是一个员工积分系统,分为员工端、管理端。员工端发布的任务 要求推送到对应员工。以下贴一下大概流程代码
1、
$this->messagePush($data['task_title'],$data['integral'],$data['created_at']);
以上是要推送的任务信息,接下来我们看messagePush方法。
2、
public static function messagePush($thing1,$thing2,$thing3){// 获取活动内容 包含订阅消息需要的字段// 获取允许发送消息的用户列表// 发送消息$user=UserInfo::where('status',1)->distinct('open_id')->get(['open_id']);foreach ($user as $v){if($v['open_id']){$data = ['template_id' => 'dddddddddddddddd', // 所需下发的订阅模板id'touser' => $v['open_id'],// 接收者(用户)的 openid'page' => 'pages/login/index', // 点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数,(示例index?foo=bar)。该字段不填则模板无跳转。'data' => [ // 模板内容,格式形如 { "key1": { "value": any }, "key2": { "value": any } }'thing1' => ['value' => $thing1,],'thing2' => ['value' => $thing2,],'thing3' => ['value' => $thing3,],],];MNProgramContent()->subscribe_message->send($data);}}}
3、在我们的app下的helpers文件中定义MNProgramContent助手函数
/*** 小程序实例* @return \EasyWeChat\MiniProgram\Application*/function MNProgramContent(){$config = ['app_id' => env('WECHAT_CUSTOMER_APPID'),'secret' => env('WECHAT_CUSTOMER_SECRET'),'response_type' => 'array','log' => ['level' => 'debug','file' => __DIR__ . '/wechat.log',],];return \EasyWeChat\Factory::miniProgram($config);}
另外还有微信相关配置信息引入