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