ServiceProvider::getBindings()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 26
Code Lines 18

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 18
c 0
b 0
f 0
dl 0
loc 26
rs 9.6666
cc 1
nc 1
nop 0
1
<?php
2
/**
3
 * Created by PhpStorm.
4
 * User: hugh.li
5
 * Date: 2022/2/25
6
 * Time: 14:42
7
 */
8
9
namespace HughCube\Laravel\WeChat;
10
11
use HughCube\Laravel\WeChat\Contracts\Message;
12
use HughCube\Laravel\WeChat\Message\Event\Event;
13
use HughCube\Laravel\WeChat\Message\Event\TemplateMessageEventSendJobFinish;
14
use HughCube\Laravel\WeChat\Message\Event\UserEventLocation;
15
use HughCube\Laravel\WeChat\Message\Event\UserEventMenuClickButton;
16
use HughCube\Laravel\WeChat\Message\Event\UserEventMenuClickMiniProgram;
17
use HughCube\Laravel\WeChat\Message\Event\UserEventMenuClickView;
18
use HughCube\Laravel\WeChat\Message\Event\UserEventScan;
19
use HughCube\Laravel\WeChat\Message\Event\UserEventSubscribe;
20
use HughCube\Laravel\WeChat\Message\Event\UserEventSubscribeWithScan;
21
use HughCube\Laravel\WeChat\Message\Event\UserEventUnsubscribe;
22
use HughCube\Laravel\WeChat\Message\Event\UserMessageImage;
23
use HughCube\Laravel\WeChat\Message\Event\UserMessageLink;
24
use HughCube\Laravel\WeChat\Message\Event\UserMessageLocation;
25
use HughCube\Laravel\WeChat\Message\Event\UserMessageShortVideo;
26
use HughCube\Laravel\WeChat\Message\Event\UserMessageText;
27
use HughCube\Laravel\WeChat\Message\Event\UserMessageVideo;
28
use HughCube\Laravel\WeChat\Message\Event\UserMessageVoice;
29
use Illuminate\Support\ServiceProvider as IlluminateServiceProvider;
30
31
class ServiceProvider extends IlluminateServiceProvider
32
{
33
    public function boot()
34
    {
35
        foreach ($this->getBindings() as $abstract => $concrete) {
36
            if ($this->app->bound($abstract)) {
37
                continue;
38
            }
39
            $this->app->bind($abstract, $concrete);
40
        }
41
    }
42
43
    protected function getBindings(): array
44
    {
45
        return [
46
            /** 用户发送的消息 */
47
            Message\Event\UserMessageText::class => UserMessageText::class,
48
            Message\Event\UserMessageImage::class => UserMessageImage::class,
49
            Message\Event\UserMessageVoice::class => UserMessageVoice::class,
50
            Message\Event\UserMessageVideo::class => UserMessageVideo::class,
51
            Message\Event\UserMessageShortVideo::class => UserMessageShortVideo::class,
52
            Message\Event\UserMessageLocation::class => UserMessageLocation::class,
53
            Message\Event\UserMessageLink::class => UserMessageLink::class,
54
55
            /** 用户行为事件 */
56
            Message\Event\UserEventLocation::class => UserEventLocation::class,
57
            Message\Event\UserEventMenuClickButton::class => UserEventMenuClickButton::class,
58
            Message\Event\UserEventMenuClickView::class => UserEventMenuClickView::class,
59
            Message\Event\UserEventMenuClickMiniProgram::class => UserEventMenuClickMiniProgram::class,
60
            Message\Event\UserEventScan::class => UserEventScan::class,
61
            Message\Event\UserEventSubscribe::class => UserEventSubscribe::class,
62
            Message\Event\UserEventSubscribeWithScan::class => UserEventSubscribeWithScan::class,
63
            Message\Event\UserEventUnsubscribe::class => UserEventUnsubscribe::class,
64
65
            /** 模版消息 */
66
            Message\Event\TemplateMessageEventSendJobFinish::class => TemplateMessageEventSendJobFinish::class,
67
68
            Message\Event\Event::class => Event::class,
69
        ];
70
    }
71
}
72