laravel5.5 overtrue/laravel-wechat 企业微信 群发信息 No agentid specified

季稳
2023-12-01

场景

分析

  • package 官方文档 关于具体的使用方法是极其少的, 而且和公众号的用法差异又是极其大的; 所以需要把源码!
  • 在EasyWeChat\Work\Message中找到了突破
    /**
     * @param int $agentId
     *
     * @return \EasyWeChat\Work\Message\Messenger
     */
    public function ofAgent(int $agentId)
    {
        $this->agentId = $agentId;

        return $this;
    }

解决

  • 链式写法使用ofAgent设置agent_id
<?php

namespace App\Http\Repositories;

use EasyWeChat\Work\Application;

class WechatWorkRepository
{
   private $wechat_work;

   /**
    * WechatWorkController constructor.
    * @param $wechat_work
    */
   public function __construct(Application $wechat_work)
   {
       $this->wechat_work = $wechat_work;
   }

   /**
    * @return mixed
    * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
    * @throws \EasyWeChat\Kernel\Exceptions\RuntimeException
    */
   public function sendTag()
   {
       return $this->wechat_work->messenger
           ->message('企业微信的文档,真的是刚刚起步! 还是要看源码! 社区威武!')
           ->ofAgent(env('WECHAT_WORK_AGENT_ID'))
           ->send();
   }
}
 类似资料: