OctoberCMS 外掛 微信管理

octck發表於2021-06-11

Plus.Wechat

基於 overtrue/easywechat 實現的 OctoberCMS 微信公眾號管理外掛

細節

目前實現的功能
  • 素材管理

文字素材,圖文素材,圖片素材,語音素材,視訊素材

視訊素材同步到本地時,DOWN_URL有兩種情況,一個是直接的視訊地址,可同步到本地 如203.205.137.183/vweixinp.tc.qq.com/...
一種是播放器加介紹的,同步不到本地。 如mp.weixin.qq.com/mp/mp/video?__biz...
暫時不知道如何處理。應該用到的場景不多

  • 自定義選單

自定義推送事件,素材推送,頁面跳轉,小程式跳轉

  • 粉絲管理
  • 網頁授權
  • JSSDK

通過jssdk元件實現微信JSSDK-DEMO,新增了獲取地址和小程式跳轉,單一功能jssdk可以通過元件勾選,獲取特定的jspai

  • 帶引數的二維碼

截圖

微信管理後臺設定

素材管理-視訊素材

素材管理-視訊素材

粉絲管理

粉絲管理

自定義選單-傳送圖片

自定義選單-傳送圖片

自定義選單-跳轉小程式

自定義選單-跳轉小程式

自定義回覆-關注回覆

自定義回覆-關注回覆

自定義回覆-回覆列表

JSSDK元件

自定義回覆-關注回覆

自定義回覆-素材回覆

自定義選單

JSSDK

用法說明

安裝

本外掛需要提前安裝 RainLab.User 外掛
Jcc.Sidenav側邊欄元件

demo地址:https://gitee.com/myoct/octwechat.git
其他

個人覺得weiphp挺好用的。從tp3升到了tp5,希望再出一個laravel版的,讓學習下

記錄下用到的知識點,方便自己做其他專案時查詢參考

Nested Tree 自定義選單跟據這個功能實現了拖拽排序
Queue 一鍵從微信同步素材到本地用到這個,想實現後臺執行,頁面直接跳轉。但是還是要執行完才重新整理頁面。先知道這個東西,回頭用的多了就知道他真正的意義了
Traits 個人理解這個不是很全面,反正這裡用了沒報錯。因為EasyWechat文件中說

$app 在所有相關公眾號的文件都是指 Factory::officialAccount 得到的例項,就不在每個頁面單獨寫了。

所以我就寫了一個:

<?php
namespace Plus\Wechat\Http\Controllers\Traits;



use EasyWeChat\Factory;
use Illuminate\Http\Response;
use Plus\Wechat\Models\Settings;

trait AppFactory
{
    protected $app_official_account;// 公眾號
    protected $app_mini_program;// 小程式
    protected $app_open_platform;// 開放平臺
    protected $app_work;// 企業微信
    protected $app_open_work;// 企業微信開放平臺
    protected $app_payment;// 微信支付

    function app_official_account(){
        $config=Settings::instance()->toArray();


        $config['oauth']['scopes']=['snsapi_userinfo'];
        $config['oauth']['callback']='/web/wechat/home/oauth_callback';
//        dd($config);
        $this->app_official_account = Factory::officialAccount($config);
        return $this->app_official_account;
    }
}

然後在其他地方就能直接這樣用

<?php namespace Plus\Wechat\Controllers;
.
.
.
use Plus\Wechat\Http\Controllers\Traits\AppFactory;
.
.
class CustomMenu extends Controller
{
    use AppFactory;

    .
    .
    .

    public function onSend(){
        .
        .
        $app_official_account=$this->app_official_account();
        $res=$app_official_account->menu->create($buttons);
      .
      .
      .
    }
}
本作品採用《CC 協議》,轉載必須註明作者和本文連結
鄭州最帥的php程式設計師

相關文章