微信小程序--订阅消息推送

首先我开发的小程序是一个员工积分系统,分为员工端、管理端。员工端发布的任务 要求推送到对应员工。以下贴一下大概流程代码

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);
}

另外还有微信相关配置信息引入

猜你喜欢

转载自blog.csdn.net/qq_42082023/article/details/125505148