46 lines
		
	
	
		
			987 B
		
	
	
	
		
			PHP
		
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			987 B
		
	
	
	
		
			PHP
		
	
	
| <?php
 | ||
| namespace app\service\wx;
 | ||
| 
 | ||
| use EasyWeChat\Factory;
 | ||
| use EasyWeChat\OfficialAccount\Application;
 | ||
| use think\facade\Config;
 | ||
| 
 | ||
| /**
 | ||
|  * 微信公众号
 | ||
|  * Class Wechat
 | ||
|  * @package app\service\wx
 | ||
|  */
 | ||
| class Wechat
 | ||
| {
 | ||
|     private static $app = null;
 | ||
| 
 | ||
|     private function __construct()
 | ||
|     {
 | ||
|     }
 | ||
| 
 | ||
|     private function __clone()
 | ||
|     {
 | ||
|     }
 | ||
| 
 | ||
|     //微信实例  单例模式
 | ||
|     public static function getInstance(): ?Application
 | ||
|     {
 | ||
|         if (self::$app == null) {
 | ||
|             Config::load('extra/wechat', 'wechat');
 | ||
|             $conf = config('wechat');
 | ||
| 
 | ||
|             $config = [
 | ||
|                 'app_id'        => $conf['appId'],
 | ||
|                 'secret'        => $conf['appSecret'],
 | ||
| 
 | ||
|                 // 指定 API 调用返回结果的类型:array(default)/collection/object/raw/自定义类名
 | ||
|                 'response_type' => 'array',
 | ||
| 
 | ||
|                 //...
 | ||
|             ];
 | ||
| 
 | ||
|             self::$app = Factory::officialAccount($config);
 | ||
|         }
 | ||
|         return self::$app;
 | ||
|     }
 | ||
| } |