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

文章目录

场景

分析

  • 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();
   }
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 Laravel 中实现微信分享功能,你需要完成以下步骤: 1. 注册微信开放平台账号并创建一个应用。 2. 在 Laravel 项目中安装 EasyWeChat 扩展包。可以通过 composer 进行安装:`composer require overtrue/laravel-wechat`。 3. 在 `config/app.php` 文件中的 `providers` 数组中添加服务提供者:`Overtrue\LaravelWeChat\ServiceProvider::class`。 4. 运行以下命令发布配置文件:`php artisan vendor:publish --provider="Overtrue\LaravelWeChat\ServiceProvider"`。 5. 在 `.env` 文件中配置微信相关的信息,包括 `WECHAT_APPID`、`WECHAT_SECRET`、`WECHAT_TOKEN` 和 `WECHAT_AES_KEY`。 6. 创建一个路由和控制器来处理微信分享请求,例如在 `routes/web.php` 文件中添加以下代码: ```php Route::get('/wechat/share', 'WeChatController@share'); ``` 7. 创建 `WeChatController` 控制器并在其中实现 `share()` 方法,例如: ```php <?php namespace App\Http\Controllers; use EasyWeChat\Factory; class WeChatController extends Controller { public function share() { $config = [ 'app_id' => config('wechat.appid'), 'secret' => config('wechat.secret'), 'token' => config('wechat.token'), 'aes_key' => config('wechat.aes_key') ]; $app = Factory::officialAccount($config); $jssdk = $app->jssdk; $url = request()->fullUrl(); $shareConfig = $jssdk->setUrl($url)->buildConfig(['onMenuShareTimeline', 'onMenuShareAppMessage'], false); return view('wechat.share', compact('shareConfig')); } } ``` 8. 创建一个视图来显示分享相关的页面,例如 `resources/views/wechat/share.blade.php`: ```html <!DOCTYPE html> <html> <head> <title>WeChat Share</title> <script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script> </head> <body> <!-- 在此处使用 $shareConfig 配置微信分享 --> </body> </html> ``` 9. 在 `share.blade.php` 视图中使用 `$shareConfig` 配置微信分享,具体使用方法可以参考 EasyWeChat 文档。 现在,当用户访问 `/wechat/share` 路径时,将会显示一个包含微信分享功能的页面。你可以根据需要自定义分享的标题、描述、链接等信息。记得在微信开放平台中配置好相关的网页授权和分享设置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值