Skip to content

Commit 1291a7a

Browse files
authored
Merge pull request overtrue#192 from yyqqing/master
支持多账户管理
2 parents f628002 + b67edd4 commit 1291a7a

File tree

2 files changed

+52
-39
lines changed

2 files changed

+52
-39
lines changed

src/ServiceProvider.php

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -81,17 +81,20 @@ public function register()
8181
});
8282
}
8383

84-
$this->app->singleton($class, function ($laravelApp) use ($name, $class) {
85-
$app = new $class(array_merge(config('wechat.defaults', []), config('wechat.'.$name)));
86-
if (config('wechat.defaults.use_laravel_cache')) {
87-
$app['cache'] = new CacheBridge($laravelApp['cache.store']);
88-
}
89-
$app['request'] = $laravelApp['request'];
90-
91-
return $app;
92-
});
93-
$this->app->alias($class, 'wechat.'.$name);
94-
$this->app->alias($class, 'easywechat.'.$name);
84+
$appConfigs = config('wechat.'.$name);
85+
foreach ($appConfigs as $key => $config) {
86+
$this->app->singleton("wechat.{$name}.{$key}", function ($laravelApp) use ($name, $key, $class) {
87+
$app = new $class(array_merge(config('wechat.defaults', []), config("wechat.{$name}.{$key}")));
88+
if (config('wechat.defaults.use_laravel_cache')) {
89+
$app['cache'] = new CacheBridge($laravelApp['cache.store']);
90+
}
91+
$app['request'] = $laravelApp['request'];
92+
93+
return $app;
94+
});
95+
}
96+
$this->app->alias("wechat.{$name}.default", 'wechat.'.$name);
97+
$this->app->alias("wechat.{$name}.default", 'easywechat.'.$name);
9598
}
9699
}
97100

src/config.php

Lines changed: 38 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,12 @@
6565
* 公众号
6666
*/
6767
'official_account' => [
68-
'app_id' => env('WECHAT_OFFICIAL_ACCOUNT_APPID', 'your-app-id'), // AppID
69-
'secret' => env('WECHAT_OFFICIAL_ACCOUNT_SECRET', 'your-app-secret'), // AppSecret
70-
'token' => env('WECHAT_OFFICIAL_ACCOUNT_TOKEN', 'your-token'), // Token
71-
'aes_key' => env('WECHAT_OFFICIAL_ACCOUNT_AES_KEY', ''), // EncodingAESKey
68+
'default' => [
69+
'app_id' => env('WECHAT_OFFICIAL_ACCOUNT_APPID', 'your-app-id'), // AppID
70+
'secret' => env('WECHAT_OFFICIAL_ACCOUNT_SECRET', 'your-app-secret'), // AppSecret
71+
'token' => env('WECHAT_OFFICIAL_ACCOUNT_TOKEN', 'your-token'), // Token
72+
'aes_key' => env('WECHAT_OFFICIAL_ACCOUNT_AES_KEY', ''), // EncodingAESKey
73+
],
7274

7375
/*
7476
* OAuth 配置
@@ -88,50 +90,58 @@
8890
* 开放平台第三方平台
8991
*/
9092
// 'open_platform' => [
91-
// 'app_id' => env('WECHAT_OPEN_PLATFORM_APPID', ''),
92-
// 'secret' => env('WECHAT_OPEN_PLATFORM_SECRET', ''),
93-
// 'token' => env('WECHAT_OPEN_PLATFORM_TOKEN', ''),
94-
// 'aes_key' => env('WECHAT_OPEN_PLATFORM_AES_KEY', ''),
93+
// 'default' => [
94+
// 'app_id' => env('WECHAT_OPEN_PLATFORM_APPID', ''),
95+
// 'secret' => env('WECHAT_OPEN_PLATFORM_SECRET', ''),
96+
// 'token' => env('WECHAT_OPEN_PLATFORM_TOKEN', ''),
97+
// 'aes_key' => env('WECHAT_OPEN_PLATFORM_AES_KEY', ''),
98+
// ],
9599
// ],
96100

97101
/*
98102
* 小程序
99103
*/
100104
// 'mini_program' => [
101-
// 'app_id' => env('WECHAT_MINI_PROGRAM_APPID', ''),
102-
// 'secret' => env('WECHAT_MINI_PROGRAM_SECRET', ''),
103-
// 'token' => env('WECHAT_MINI_PROGRAM_TOKEN', ''),
104-
// 'aes_key' => env('WECHAT_MINI_PROGRAM_AES_KEY', ''),
105+
// 'default' => [
106+
// 'app_id' => env('WECHAT_MINI_PROGRAM_APPID', ''),
107+
// 'secret' => env('WECHAT_MINI_PROGRAM_SECRET', ''),
108+
// 'token' => env('WECHAT_MINI_PROGRAM_TOKEN', ''),
109+
// 'aes_key' => env('WECHAT_MINI_PROGRAM_AES_KEY', ''),
110+
// ],
105111
// ],
106112

107113
/*
108114
* 微信支付
109115
*/
110116
// 'payment' => [
111-
// 'sandbox' => env('WECHAT_PAYMENT_SANDBOX', false),
112-
// 'app_id' => env('WECHAT_PAYMENT_APPID', ''),
113-
// 'mch_id' => env('WECHAT_PAYMENT_MCH_ID', 'your-mch-id'),
114-
// 'key' => env('WECHAT_PAYMENT_KEY', 'key-for-signature'),
115-
// 'cert_path' => env('WECHAT_PAYMENT_CERT_PATH', 'path/to/cert/apiclient_cert.pem'), // XXX: 绝对路径!!!!
116-
// 'key_path' => env('WECHAT_PAYMENT_KEY_PATH', 'path/to/cert/apiclient_key.pem'), // XXX: 绝对路径!!!!
117-
// 'notify_url' => 'http://example.com/payments/wechat-notify', // 默认支付结果通知地址
117+
// 'default' => [
118+
// 'sandbox' => env('WECHAT_PAYMENT_SANDBOX', false),
119+
// 'app_id' => env('WECHAT_PAYMENT_APPID', ''),
120+
// 'mch_id' => env('WECHAT_PAYMENT_MCH_ID', 'your-mch-id'),
121+
// 'key' => env('WECHAT_PAYMENT_KEY', 'key-for-signature'),
122+
// 'cert_path' => env('WECHAT_PAYMENT_CERT_PATH', 'path/to/cert/apiclient_cert.pem'), // XXX: 绝对路径!!!!
123+
// 'key_path' => env('WECHAT_PAYMENT_KEY_PATH', 'path/to/cert/apiclient_key.pem'), // XXX: 绝对路径!!!!
124+
// 'notify_url' => 'http://example.com/payments/wechat-notify', // 默认支付结果通知地址
125+
// ],
118126
// // ...
119127
// ],
120128

121129
/*
122130
* 企业微信
123131
*/
124132
// 'work' => [
125-
// // 企业 ID
126-
// 'corp_id' => 'xxxxxxxxxxxxxxxxx',
133+
// 'default' => [
134+
// // 企业 ID
135+
// 'corp_id' => 'xxxxxxxxxxxxxxxxx',
127136

128-
// // 应用列表
129-
// 'agents' => [
130-
// 'contacts' => [
131-
// 'agent_id' => 100020,
132-
// 'secret' => env('WECHAT_WORK_AGENT_CONTACTS_SECRET', ''),
133-
// ],
134-
// //...
137+
// // 应用列表
138+
// 'agents' => [
139+
// 'contacts' => [
140+
// 'agent_id' => 100020,
141+
// 'secret' => env('WECHAT_WORK_AGENT_CONTACTS_SECRET', ''),
142+
// ],
143+
// //...
144+
// ],
135145
// ],
136146
// ],
137147
];

0 commit comments

Comments
 (0)