fix(develop): Init
Showing
20 changed files
with
127 additions
and
1329 deletions
... | @@ -35,21 +35,8 @@ MAIL_ENCRYPTION=null | ... | @@ -35,21 +35,8 @@ MAIL_ENCRYPTION=null |
35 | MAIL_FROM_ADDRESS="hello@example.com" | 35 | MAIL_FROM_ADDRESS="hello@example.com" |
36 | MAIL_FROM_NAME="${APP_NAME}" | 36 | MAIL_FROM_NAME="${APP_NAME}" |
37 | 37 | ||
38 | JPUSH_KEY=860a3d4ecfaf3c38eb539c4e | ||
39 | JPUSH_SECRET=df208c0eb485ed3ab3b18ff2 | ||
40 | |||
41 | IM_KEY= | 38 | IM_KEY= |
42 | IM_SECRET= | 39 | IM_SECRET= |
43 | 40 | ||
44 | WECHAT_OFFICIAL_ACCOUNT_APPID= | ||
45 | WECHAT_OFFICIAL_ACCOUNT_SECRET= | ||
46 | WECHAT_OFFICIAL_ACCOUNT_TOKEN= | ||
47 | WECHAT_OFFICIAL_ACCOUNT_AES_KEY= | ||
48 | |||
49 | WECHAT_MINI_APP_APPID= | ||
50 | WECHAT_MINI_APP_SECRET= | ||
51 | WECHAT_MINI_APP_TOKEN= | ||
52 | WECHAT_MINI_APP_AES_KEY= | ||
53 | |||
54 | OCTANE_SERVER=swoole | 41 | OCTANE_SERVER=swoole |
55 | OCTANE_HTTPS=true | 42 | OCTANE_HTTPS=true | ... | ... |
1 | <?php | ||
2 | |||
3 | namespace App\Channels; | ||
4 | |||
5 | use App\Models\User; | ||
6 | use Illuminate\Notifications\Notification; | ||
7 | |||
8 | class JPushNotificationChannel | ||
9 | { | ||
10 | public function send(User $notifiable, Notification $notification): void | ||
11 | { | ||
12 | // @phpstan-ignore-next-line | ||
13 | $notification->toJPush($notifiable); | ||
14 | } | ||
15 | } |
1 | <?php | ||
2 | |||
3 | namespace App\Channels; | ||
4 | |||
5 | use App\Models\User; | ||
6 | use Illuminate\Notifications\Notification; | ||
7 | |||
8 | class WechatNotificationChannel | ||
9 | { | ||
10 | public function send(User $notifiable, Notification $notification): void | ||
11 | { | ||
12 | // @phpstan-ignore-next-line | ||
13 | $notification->toWechat($notifiable); | ||
14 | } | ||
15 | } |
... | @@ -6,8 +6,6 @@ | ... | @@ -6,8 +6,6 @@ |
6 | use App\Helpers\OperationLog; | 6 | use App\Helpers\OperationLog; |
7 | use App\Http\Container\AdminSection\Requests\User\CertifyUpdateRequest; | 7 | use App\Http\Container\AdminSection\Requests\User\CertifyUpdateRequest; |
8 | use App\Http\Service\UserService; | 8 | use App\Http\Service\UserService; |
9 | use App\Jobs\UserSingerLimitJob; | ||
10 | use App\Models\User; | ||
11 | use App\Models\UserCertify; | 9 | use App\Models\UserCertify; |
12 | use App\Models\Views\UserLastCertify; | 10 | use App\Models\Views\UserLastCertify; |
13 | use App\Notifications\UserCertifyFailNotification; | 11 | use App\Notifications\UserCertifyFailNotification; |
... | @@ -79,15 +77,6 @@ public function update(CertifyUpdateRequest $request, UserCertify $certify): Res | ... | @@ -79,15 +77,6 @@ public function update(CertifyUpdateRequest $request, UserCertify $certify): Res |
79 | }; | 77 | }; |
80 | } catch (SingerLimitException $exception) { | 78 | } catch (SingerLimitException $exception) { |
81 | DB::rollBack(); | 79 | DB::rollBack(); |
82 | $master = User::query()->find($exception->masterId, ['id', 'nick_name']); | ||
83 | UserSingerLimitJob::dispatch([ | ||
84 | 'title' => sprintf('%s:歌手额度已满', $master?->getAttribute('nick_name')), | ||
85 | 'content' => sprintf('审核歌手认证:%s', $user->getAttribute('nick_name')) | ||
86 | ], [ | ||
87 | 'title' => sprintf('%s:同意歌手加入', $master->getAttribute('nick_name')), | ||
88 | 'content' => sprintf('歌手:%s', $user->getAttribute('nick_name')), | ||
89 | 'limit' => $exception->maxSingerNum | ||
90 | ]); | ||
91 | return $this->fail(ApiCode::VALIDATION_ERROR, '团队内歌手名额已满'); | 80 | return $this->fail(ApiCode::VALIDATION_ERROR, '团队内歌手名额已满'); |
92 | 81 | ||
93 | } catch (RuntimeException $exception) { | 82 | } catch (RuntimeException $exception) { | ... | ... |
... | @@ -12,7 +12,6 @@ | ... | @@ -12,7 +12,6 @@ |
12 | use App\Http\Request\BooleanStatusRequest; | 12 | use App\Http\Request\BooleanStatusRequest; |
13 | use App\Http\Request\UserChangePwdRequest; | 13 | use App\Http\Request\UserChangePwdRequest; |
14 | use App\Http\Service\UserService; | 14 | use App\Http\Service\UserService; |
15 | use App\Jobs\UserSingerLimitJob; | ||
16 | use App\Jobs\UserSyncIMJob; | 15 | use App\Jobs\UserSyncIMJob; |
17 | use App\Models\Activity; | 16 | use App\Models\Activity; |
18 | use App\Models\GroupHasMember; | 17 | use App\Models\GroupHasMember; |
... | @@ -127,15 +126,6 @@ public function update(UserUpdateRequest $request, User $user): Response | ... | @@ -127,15 +126,6 @@ public function update(UserUpdateRequest $request, User $user): Response |
127 | return $this->successWithData($user->load(['authTags:id,name', 'roles:id,name', 'projects:id,name']), ApiCode::UPDATE_SUCCESS); | 126 | return $this->successWithData($user->load(['authTags:id,name', 'roles:id,name', 'projects:id,name']), ApiCode::UPDATE_SUCCESS); |
128 | } catch (SingerLimitException $exception) { | 127 | } catch (SingerLimitException $exception) { |
129 | DB::rollBack(); | 128 | DB::rollBack(); |
130 | $master = User::query()->find($exception->masterId, ['id', 'nick_name']); | ||
131 | UserSingerLimitJob::dispatch([ | ||
132 | 'title' => sprintf('%s:歌手额度已满', $master?->getAttribute('nick_name')), | ||
133 | 'content' => sprintf('编辑歌手信息:%s', $user->getAttribute('nick_name')) | ||
134 | ], [ | ||
135 | 'title' => sprintf('%s:编辑成员信息', $user->getAttribute('nick_name')), | ||
136 | 'content' => sprintf('经纪人:%s', $master->getAttribute('nick_name')), | ||
137 | 'limit' => $exception->maxSingerNum | ||
138 | ]); | ||
139 | return $this->fail(ApiCode::VALIDATION_ERROR, '团队内歌手名额已满'); | 129 | return $this->fail(ApiCode::VALIDATION_ERROR, '团队内歌手名额已满'); |
140 | } catch (RuntimeException $exception) { | 130 | } catch (RuntimeException $exception) { |
141 | DB::rollBack(); | 131 | DB::rollBack(); | ... | ... |
... | @@ -14,7 +14,6 @@ | ... | @@ -14,7 +14,6 @@ |
14 | use Illuminate\Http\Request; | 14 | use Illuminate\Http\Request; |
15 | use Illuminate\Support\Facades\Auth; | 15 | use Illuminate\Support\Facades\Auth; |
16 | use Illuminate\Support\Facades\DB; | 16 | use Illuminate\Support\Facades\DB; |
17 | use Illuminate\Support\Facades\Http; | ||
18 | 17 | ||
19 | 18 | ||
20 | class AuditionController extends ApiController | 19 | class AuditionController extends ApiController |
... | @@ -22,63 +21,63 @@ class AuditionController extends ApiController | ... | @@ -22,63 +21,63 @@ class AuditionController extends ApiController |
22 | 21 | ||
23 | public function collection(Request $request) | 22 | public function collection(Request $request) |
24 | { | 23 | { |
25 | $status = $request->get('status', 'all'); | 24 | $status = $request->get('status', 'all'); |
26 | $text = $request->get('text', ''); | 25 | $text = $request->get('text', ''); |
27 | $pageSize = $request->integer('size', 10); | 26 | $pageSize = $request->integer('size', 10); |
28 | $song_type = $request->get('song_type', 1); | 27 | $song_type = $request->get('song_type', 1); |
29 | $user_id = Auth::id(); | 28 | $user_id = Auth::id(); |
30 | $activity_ids = DB::table('user_activity_collections') | 29 | $activity_ids = DB::table('user_activity_collections') |
31 | ->where('user_id', $user_id) | 30 | ->where('user_id', $user_id) |
32 | ->whereNull('deleted_at') | 31 | ->whereNull('deleted_at') |
33 | ->orderByDesc('created_at') | 32 | ->orderByDesc('created_at') |
34 | ->pluck('activity_id')->toArray(); | 33 | ->pluck('activity_id')->toArray(); |
35 | $query = Activity::query(); | 34 | $query = Activity::query(); |
36 | if (!empty($text)){ | 35 | if (!empty($text)) { |
37 | $query->where('song_name', 'like', '%'.$text.'%'); | 36 | $query->where('song_name', 'like', '%' . $text . '%'); |
38 | } | 37 | } |
39 | if ($status == 'active'){ | 38 | if ($status === 'active') { |
40 | $query->where('status', 1); | 39 | $query->where('status', 1); |
41 | } | 40 | } |
42 | $data =$query | 41 | $data = $query |
43 | ->with('user:id,nick_name,avatar') | 42 | ->with('user:id,nick_name,avatar') |
44 | ->whereIn('id', $activity_ids) | 43 | ->whereIn('id', $activity_ids) |
45 | ->where('song_type', $song_type) | 44 | ->where('song_type', $song_type) |
46 | ->with(['tags:id,name', 'submitUsers:id,nick_name,intro,real_name,avatar,province,city,company,rate']) | 45 | ->with(['tags:id,name', 'submitUsers:id,nick_name,intro,real_name,avatar,province,city,company,rate']) |
47 | ->select(['id','cover','song_name','status','is_official','created_at','sub_title','guide','guide_clip','project_id', 'user_id','lyric','clip_lyric','sex','mark','speed','lang']) | 46 | ->select(['id', 'cover', 'song_name', 'status', 'is_official', 'created_at', 'sub_title', 'guide', 'guide_clip', 'project_id', 'user_id', 'lyric', 'clip_lyric', 'sex', 'mark', 'speed', 'lang']) |
48 | ->withCount(['attend_user as attend_count', 'viewUsersCount as view_count']) | 47 | ->withCount(['attend_user as attend_count', 'viewUsersCount as view_count']) |
49 | ->orderByRaw(DB::raw("FIELD(id, " . implode(',', $activity_ids) . ")")) | 48 | ->orderByRaw(DB::raw("FIELD(id, " . implode(',', $activity_ids) . ")")) |
50 | ->paginate($pageSize); | 49 | ->paginate($pageSize); |
51 | $config_ids = DB::table('system_config') | 50 | $config_ids = DB::table('system_config') |
52 | ->whereIn('identifier', ['activity_lang', 'activity_speed', 'activity_sex', 'activity_mark']) | 51 | ->whereIn('identifier', ['activity_lang', 'activity_speed', 'activity_sex', 'activity_mark']) |
53 | ->whereNull('deleted_at') | 52 | ->whereNull('deleted_at') |
54 | ->pluck('id') | 53 | ->pluck('id') |
55 | ->toArray(); | 54 | ->toArray(); |
56 | $configs = DB::table('system_config') | 55 | $configs = DB::table('system_config') |
57 | ->whereIn('parent_id', $config_ids) | 56 | ->whereIn('parent_id', $config_ids) |
58 | ->whereNull('deleted_at')->get(['identifier', 'name', 'content']); | 57 | ->whereNull('deleted_at')->get(['identifier', 'name', 'content']); |
59 | $view_activity_ids = array_column($data->items(), 'id'); | 58 | $view_activity_ids = array_column($data->items(), 'id'); |
60 | $collection_at_list = DB::table('user_activity_collections') | 59 | $collection_at_list = DB::table('user_activity_collections') |
61 | ->whereIn('activity_id', $view_activity_ids) | 60 | ->whereIn('activity_id', $view_activity_ids) |
62 | ->where('user_id', $user_id) | 61 | ->where('user_id', $user_id) |
63 | ->whereNull('deleted_at') | 62 | ->whereNull('deleted_at') |
64 | ->pluck('created_at', 'activity_id') | 63 | ->pluck('created_at', 'activity_id') |
65 | ->toArray(); | 64 | ->toArray(); |
66 | $projectIds = array_column($data->items(), 'project_id'); | 65 | $projectIds = array_column($data->items(), 'project_id'); |
67 | $projectList = Project::query()->leftJoin('users','users.id','=','projects.master_id')->whereIn('projects.id',$projectIds) | 66 | $projectList = Project::query()->leftJoin('users', 'users.id', '=', 'projects.master_id')->whereIn('projects.id', $projectIds) |
68 | ->where('projects.status','=',1) | 67 | ->where('projects.status', '=', 1) |
69 | ->where('projects.deleted_at','=',null)->select(['projects.*','users.nick_name','users.real_name','users.avatar'])->get()->toArray(); | 68 | ->where('projects.deleted_at', '=', NULL)->select(['projects.*', 'users.nick_name', 'users.real_name', 'users.avatar'])->get()->toArray(); |
70 | foreach ($projectList as $k=>$v){ | 69 | foreach ($projectList as $k => $v) { |
71 | $projectList[$k]['master'] = [ | 70 | $projectList[$k]['master'] = [ |
72 | 'id'=>$v['master_id'], | 71 | 'id' => $v['master_id'], |
73 | 'nick_name'=>$v['nick_name'], | 72 | 'nick_name' => $v['nick_name'], |
74 | 'real_name'=>$v['real_name'], | 73 | 'real_name' => $v['real_name'], |
75 | 'avatar'=>$v['avatar'] | 74 | 'avatar' => $v['avatar'] |
76 | ]; | 75 | ]; |
77 | unset($projectList[$k]['nick_name']); | 76 | unset($projectList[$k]['nick_name']); |
78 | unset($projectList[$k]['real_name']); | 77 | unset($projectList[$k]['real_name']); |
79 | unset($projectList[$k]['avatar']); | 78 | unset($projectList[$k]['avatar']); |
80 | } | 79 | } |
81 | $data->each(static function (Activity $activity) use ($configs){ | 80 | $data->each(static function (Activity $activity) use ($configs) { |
82 | $langs = []; | 81 | $langs = []; |
83 | $lang = $activity->lang ?? []; | 82 | $lang = $activity->lang ?? []; |
84 | foreach ($configs as $c) { | 83 | foreach ($configs as $c) { |
... | @@ -101,14 +100,10 @@ public function collection(Request $request) | ... | @@ -101,14 +100,10 @@ public function collection(Request $request) |
101 | }); | 100 | }); |
102 | $result = json_decode(json_encode($data->items()), true); | 101 | $result = json_decode(json_encode($data->items()), true); |
103 | foreach ($result as &$v) { | 102 | foreach ($result as &$v) { |
104 | $project = array_filter(array_map(function ($item) use($v){ | 103 | $project = array_filter(array_map(static fn($item) => $item['id'] === $v['project_id'] ? $item : NULL, $projectList)); |
105 | if($item['id']==$v['project_id']){ | ||
106 | return $item; | ||
107 | } | ||
108 | },$projectList)); | ||
109 | 104 | ||
110 | $v['project'] = array_values($project); | 105 | $v['project'] = array_values($project); |
111 | $v['collection_at'] = !empty($collection_at_list[$v['id']]) ? $collection_at_list[$v['id']]: ''; | 106 | $v['collection_at'] = !empty($collection_at_list[$v['id']]) ? $collection_at_list[$v['id']] : ''; |
112 | unset($v['user_id'], $v['project_id']); | 107 | unset($v['user_id'], $v['project_id']); |
113 | } | 108 | } |
114 | 109 | ||
... | @@ -121,7 +116,7 @@ public function sub(Request $request) | ... | @@ -121,7 +116,7 @@ public function sub(Request $request) |
121 | if (empty($activity_id)) { | 116 | if (empty($activity_id)) { |
122 | return JsonResource::success('收藏失败-参数错误。请联系管理员', code: 201); | 117 | return JsonResource::success('收藏失败-参数错误。请联系管理员', code: 201); |
123 | } | 118 | } |
124 | $user_id = Auth::id(); | 119 | $user_id = Auth::id(); |
125 | $is_activity = DB::table('user_activity_collections') | 120 | $is_activity = DB::table('user_activity_collections') |
126 | ->where('user_id', $user_id) | 121 | ->where('user_id', $user_id) |
127 | ->where('activity_id', $activity_id) | 122 | ->where('activity_id', $activity_id) |
... | @@ -129,60 +124,32 @@ public function sub(Request $request) | ... | @@ -129,60 +124,32 @@ public function sub(Request $request) |
129 | ->orderByDesc('created_at') | 124 | ->orderByDesc('created_at') |
130 | ->pluck('id')->first(); | 125 | ->pluck('id')->first(); |
131 | if (!empty($is_activity)) { | 126 | if (!empty($is_activity)) { |
132 | return JsonResource::success('请勿重复收藏', code: 400 ); | 127 | return JsonResource::success('请勿重复收藏', code: 400); |
133 | } | 128 | } |
134 | DB::table('user_activity_collections')->insert([ | 129 | DB::table('user_activity_collections')->insert([ |
135 | 'user_id'=> $user_id, | 130 | 'user_id' => $user_id, |
136 | 'activity_id'=> $activity_id, | 131 | 'activity_id' => $activity_id, |
137 | 'created_at'=> date('Y-m-d H:i:s', time()), | 132 | 'created_at' => date('Y-m-d H:i:s', time()), |
138 | 'updated_at'=> date('Y-m-d H:i:s', time()) | 133 | 'updated_at' => date('Y-m-d H:i:s', time()) |
139 | ]); | 134 | ]); |
140 | $user = DB::table('users')->where('id', $user_id)->first(); | 135 | $user = DB::table('users')->where('id', $user_id)->first(); |
141 | $business_id = $user->business_id; | 136 | $business_id = $user->business_id; |
142 | $role = $user->role; | 137 | $role = $user->role; |
143 | # 有商务且为歌手 | 138 | # 有商务且为歌手 |
144 | if ($business_id && $role=='Singer') { | 139 | if ($business_id && $role === 'Singer') { |
145 | $msg_data = [ | 140 | $msg_data = [ |
146 | 'title' => '', | 141 | 'title' => '', |
147 | 'content' => '', | 142 | 'content' => '', |
148 | 'sender_id' => $user_id, | 143 | 'sender_id' => $user_id, |
149 | 'receiver_id' => $user_id, | 144 | 'receiver_id' => $user_id, |
150 | 'activity_id' => $activity_id, | 145 | 'activity_id' => $activity_id, |
151 | 'type' => 2, | 146 | 'type' => 2, |
152 | 'is_read' => 0, | 147 | 'is_read' => 0, |
153 | 'is_bind' => 1, | 148 | 'is_bind' => 1, |
154 | 'created_at'=> date('Y-m-d H:i:s', time()), | 149 | 'created_at' => date('Y-m-d H:i:s', time()), |
155 | 'updated_at'=> date('Y-m-d H:i:s', time()) | 150 | 'updated_at' => date('Y-m-d H:i:s', time()) |
156 | ]; | 151 | ]; |
157 | DB::table('user_messages')->insert($msg_data); | 152 | DB::table('user_messages')->insert($msg_data); |
158 | $activity = DB::table('activitys')->where('id', $activity_id)->first(); | ||
159 | $song_name = !empty($activity->id) ? $activity->song_name : ''; | ||
160 | # 推送消息给推荐人 | ||
161 | $business = DB::table('users')->where('id', $business_id)->first(); | ||
162 | $business_unionid = !empty($business->id) ? $business->unionid : ''; | ||
163 | if (!empty($business_unionid)) { | ||
164 | $business_wechat_official = DB::table('wechat_official_users')->where('union_id', $business_unionid)->where('is_subscribe', 1)->first(); | ||
165 | if (!empty($business_wechat_official->id)) { | ||
166 | $business_open_id = $business_wechat_official->open_id; | ||
167 | $name = $user->nick_name . '(' . $user->real_name . ')'; | ||
168 | $channel = 'singer_related'; | ||
169 | if (env('TEST_URL', false)) { | ||
170 | $url = 'https://hi-sing-admin-dev.hikoon.com/api/provider/wechat/pushSubscribeMessage'; | ||
171 | } else { | ||
172 | $url = 'https://hi-sing-admin.hikoon.com/api/provider/wechat/pushSubscribeMessage'; | ||
173 | } | ||
174 | $md5_str = $channel . $business_open_id . 'tb0iwb7TE9TIbkG8iFsxldrHJRFdeP1g'; | ||
175 | $req_data = [ | ||
176 | 'secret' => md5($md5_str), | ||
177 | 'channel' => 'singer_related', | ||
178 | 'open_ids' => [$business_open_id], | ||
179 | 'data' => ["title" => "您的歌手收藏了试唱活动", "name" => $name, "intro" => "收藏了试唱活动《" . $song_name . "》", | ||
180 | "remark" => "点击前往 >", | ||
181 | "page" => "packageMy/pages/like?tab=1"] | ||
182 | ]; | ||
183 | $resp = Http::asJson()->post($url, $req_data)->json(); | ||
184 | } | ||
185 | } | ||
186 | } | 153 | } |
187 | 154 | ||
188 | return JsonResource::success('收藏成功'); | 155 | return JsonResource::success('收藏成功'); |
... | @@ -191,42 +158,42 @@ public function sub(Request $request) | ... | @@ -191,42 +158,42 @@ public function sub(Request $request) |
191 | public function unsub(Request $request) | 158 | public function unsub(Request $request) |
192 | { | 159 | { |
193 | $activity_id = $request->get('activity_id'); | 160 | $activity_id = $request->get('activity_id'); |
194 | $user_id = Auth::id(); | 161 | $user_id = Auth::id(); |
195 | $is_activity = DB::table('user_activity_collections') | 162 | $is_activity = DB::table('user_activity_collections') |
196 | ->where('user_id', $user_id) | 163 | ->where('user_id', $user_id) |
197 | ->where('activity_id', $activity_id) | 164 | ->where('activity_id', $activity_id) |
198 | ->whereNull('deleted_at') | 165 | ->whereNull('deleted_at') |
199 | ->orderByDesc('created_at') | 166 | ->orderByDesc('created_at') |
200 | ->first(); | 167 | ->first(); |
201 | if (empty($is_activity->id)) { | 168 | if (empty($is_activity)) { |
202 | return JsonResource::success('未收藏不能取消', code: 400); | 169 | return JsonResource::success('未收藏不能取消', code: 400); |
203 | } | 170 | } |
204 | DB::table('user_activity_collections')->where('id', $is_activity->id)->update([ | 171 | DB::table('user_activity_collections')->where('id', $is_activity->id)->update([ |
205 | 'updated_at'=> date('Y-m-d H:i:s', time()), | 172 | 'updated_at' => date('Y-m-d H:i:s', time()), |
206 | 'deleted_at'=> date('Y-m-d H:i:s', time()) | 173 | 'deleted_at' => date('Y-m-d H:i:s', time()) |
207 | ]); | 174 | ]); |
208 | $m_data = ['sender_id'=>$user_id,'activity_id'=>$activity_id,'type'=>2, 'is_read' => 0]; | 175 | $m_data = ['sender_id' => $user_id, 'activity_id' => $activity_id, 'type' => 2, 'is_read' => 0]; |
209 | DB::table('user_messages')->where($m_data)->update([ | 176 | DB::table('user_messages')->where($m_data)->update([ |
210 | 'deleted_at'=> date('Y-m-d H:i:s', time()) | 177 | 'deleted_at' => date('Y-m-d H:i:s', time()) |
211 | ]); | 178 | ]); |
212 | return JsonResource::success('已取消收藏'); | 179 | return JsonResource::success('已取消收藏'); |
213 | } | 180 | } |
214 | 181 | ||
215 | public function bandLinkActivity(Request $request) | 182 | public function bandLinkActivity(Request $request) |
216 | { | 183 | { |
217 | $id = $request->get('id'); | 184 | $id = $request->get('id'); |
218 | $pageSize = $request->integer('size', 10); | 185 | $pageSize = $request->integer('size', 10); |
219 | $page = $request->integer('page', 1); | 186 | $page = $request->integer('page', 1); |
220 | $song_type = $request->get('song_type', 1); | 187 | $song_type = $request->get('song_type', 1); |
221 | $song_name = $request->get('song_name', ''); | 188 | $song_name = $request->get('song_name', ''); |
222 | $user_id = Auth::id(); | 189 | $user_id = Auth::id(); |
223 | $query = DB::table('activitys') | 190 | $query = DB::table('activitys') |
224 | ->where('project_id', $id) | 191 | ->where('project_id', $id) |
225 | ->where('audit_status', 1) | 192 | ->where('audit_status', 1) |
226 | ->where('status', 1) | 193 | ->where('status', 1) |
227 | ->where('song_type', $song_type); | 194 | ->where('song_type', $song_type); |
228 | if (!empty($song_name)) { | 195 | if (!empty($song_name)) { |
229 | $query->where('song_name', 'like', '%'.$song_name.'%'); | 196 | $query->where('song_name', 'like', '%' . $song_name . '%'); |
230 | } | 197 | } |
231 | $activity_ids = $query | 198 | $activity_ids = $query |
232 | ->whereNull('deleted_at') | 199 | ->whereNull('deleted_at') |
... | @@ -238,9 +205,9 @@ public function bandLinkActivity(Request $request) | ... | @@ -238,9 +205,9 @@ public function bandLinkActivity(Request $request) |
238 | ->where('user_id', $user_id) | 205 | ->where('user_id', $user_id) |
239 | ->whereNull('deleted_at') | 206 | ->whereNull('deleted_at') |
240 | ->pluck('activity_id')->toArray(); | 207 | ->pluck('activity_id')->toArray(); |
241 | $activity_id_list = []; | 208 | $activity_id_list = []; |
242 | foreach ($activity_ids as $v) { | 209 | foreach ($activity_ids as $v) { |
243 | if (!in_array($v, $unlike_activity_ids)){ | 210 | if (!in_array($v, $unlike_activity_ids)) { |
244 | $activity_id_list[] = $v; | 211 | $activity_id_list[] = $v; |
245 | } | 212 | } |
246 | } | 213 | } |
... | @@ -255,57 +222,57 @@ public function bandLinkActivity(Request $request) | ... | @@ -255,57 +222,57 @@ public function bandLinkActivity(Request $request) |
255 | (select count(*) from user_view_activitys where user_view_activitys.activity_id = activitys.id ) as view_count, | 222 | (select count(*) from user_view_activitys where user_view_activitys.activity_id = activitys.id ) as view_count, |
256 | (select count(*) from activity_has_users where activity_has_users.activity_id = activitys.id and activity_has_users.type='Submit' AND activity_has_users.deleted_at is NULL ) as attend_count | 223 | (select count(*) from activity_has_users where activity_has_users.activity_id = activitys.id and activity_has_users.type='Submit' AND activity_has_users.deleted_at is NULL ) as attend_count |
257 | from `activitys` | 224 | from `activitys` |
258 | left join `user_activity_collections` as uac on `uac`.`activity_id` = `activitys`.`id` and `uac`.user_id=".$user_id." and `uac`.deleted_at is NULL | 225 | left join `user_activity_collections` as uac on `uac`.`activity_id` = `activitys`.`id` and `uac`.user_id=" . $user_id . " and `uac`.deleted_at is NULL |
259 | left join `user_view_activitys` as uva on `uva`.`activity_id` = `activitys`.`id` and `uva`.user_id=".$user_id." | 226 | left join `user_view_activitys` as uva on `uva`.`activity_id` = `activitys`.`id` and `uva`.user_id=" . $user_id . " |
260 | left join `activity_has_users` as ahu on `ahu`.`activity_id` = `activitys`.`id` and `ahu`.user_id=".$user_id." and `ahu`.`type`='Submit' and `ahu`.deleted_at is NULL | 227 | left join `activity_has_users` as ahu on `ahu`.`activity_id` = `activitys`.`id` and `ahu`.user_id=" . $user_id . " and `ahu`.`type`='Submit' and `ahu`.deleted_at is NULL |
261 | where activitys.id IN (".implode(',', $activity_ids).") AND activitys.`status`=1 AND audit_status=1 AND activitys.deleted_at is NULL GROUP BY activitys.id,uac.id,uva.id,ahu.id "; | 228 | where activitys.id IN (" . implode(',', $activity_ids) . ") AND activitys.`status`=1 AND audit_status=1 AND activitys.deleted_at is NULL GROUP BY activitys.id,uac.id,uva.id,ahu.id "; |
262 | if ($song_type == 2) { | 229 | if ($song_type == 2) { |
263 | $sort_sql = "order by p_is_top desc,publish_at desc"; | 230 | $sort_sql = "order by p_is_top desc,publish_at desc"; |
264 | } else { | 231 | } else { |
265 | $sort_sql = "order by p_is_top desc,is_listen asc,activitys.weight desc,activitys.created_at desc"; | 232 | $sort_sql = "order by p_is_top desc,is_listen asc,activitys.weight desc,activitys.created_at desc"; |
266 | } | 233 | } |
267 | $def_sql = $def_sql.$sort_sql; | 234 | $def_sql = $def_sql . $sort_sql; |
268 | 235 | ||
269 | $sql = $def_sql." limit ".$pageSize." offset ".($page - 1) * $pageSize; | 236 | $sql = $def_sql . " limit " . $pageSize . " offset " . ($page - 1) * $pageSize; |
270 | $total_sql = "SELECT COUNT(*) AS total_count FROM (".$def_sql.") AS subquery"; | 237 | $total_sql = "SELECT COUNT(*) AS total_count FROM (" . $def_sql . ") AS subquery"; |
271 | $total = DB::select($total_sql)[0]->total_count; | 238 | $total = DB::select($total_sql)[0]->total_count; |
272 | $result = DB::select($sql); | 239 | $result = DB::select($sql); |
273 | $list = json_decode(json_encode($result), true); | 240 | $list = json_decode(json_encode($result), true); |
274 | $search_activity_id = array_column($list, 'id'); | 241 | $search_activity_id = array_column($list, 'id'); |
275 | $data =Activity::query() | 242 | $data = Activity::query() |
276 | ->whereIn('id', $search_activity_id) | 243 | ->whereIn('id', $search_activity_id) |
277 | ->with(['linkArranger:id,nick_name', 'tags:id,name', 'project:id,name,cover,is_promote', 'comfirmTime:project_id,average_day,updated_at']) | 244 | ->with(['linkArranger:id,nick_name', 'tags:id,name', 'project:id,name,cover,is_promote', 'comfirmTime:project_id,average_day,updated_at']) |
278 | ->select(['id','cover','song_name','status','sub_title','guide','guide_clip','project_id', 'user_id','lyric','clip_lyric','sex','mark','speed','lang','p_is_top', 'publish_at','estimate_release_at','guide_duration','guide_clip_duration','karaoke','karaoke_clip', 'expand']) | 245 | ->select(['id', 'cover', 'song_name', 'status', 'sub_title', 'guide', 'guide_clip', 'project_id', 'user_id', 'lyric', 'clip_lyric', 'sex', 'mark', 'speed', 'lang', 'p_is_top', 'publish_at', 'estimate_release_at', 'guide_duration', 'guide_clip_duration', 'karaoke', 'karaoke_clip', 'expand']) |
279 | ->withCount(['publicAudio as public_audio_count', 'totalSong as total_song_count', 'onlineSong as online_song_count']) | 246 | ->withCount(['publicAudio as public_audio_count', 'totalSong as total_song_count', 'onlineSong as online_song_count']) |
280 | ->paginate($pageSize, pageName:'limit'); | 247 | ->paginate($pageSize, pageName: 'limit'); |
281 | // 获取用户收藏 | 248 | // 获取用户收藏 |
282 | $userCollection = UserActivityCollectionPivot::query() | 249 | $userCollection = UserActivityCollectionPivot::query() |
283 | ->selectRaw('activity_id,1 as num') | 250 | ->selectRaw('activity_id,1 as num') |
284 | ->where('user_id', $user_id) | 251 | ->where('user_id', $user_id) |
285 | ->pluck('num', 'activity_id')->toArray(); | 252 | ->pluck('num', 'activity_id')->toArray(); |
286 | $config = SystemConfig::query()->where('status', 1) | 253 | $config = SystemConfig::query()->where('status', 1) |
287 | ->whereHas('parent', fn(Builder $builder) => $builder->where('status', 1)->whereIn('identifier', ['activity_mark', 'activity_lang', 'activity_speed', 'activity_sex'])) | 254 | ->whereHas('parent', fn(Builder $builder) => $builder->where('status', 1)->whereIn('identifier', ['activity_mark', 'activity_lang', 'activity_speed', 'activity_sex'])) |
288 | ->get(['name', 'identifier', 'content']); | 255 | ->get(['name', 'identifier', 'content']); |
289 | $now_activity_ids = array_column($data->items(), 'id'); | 256 | $now_activity_ids = array_column($data->items(), 'id'); |
290 | $now_project_ids = array_column($data->items(), 'project_id'); | 257 | $now_project_ids = array_column($data->items(), 'project_id'); |
291 | $view_id_list = DB::table('user_view_activitys') | 258 | $view_id_list = DB::table('user_view_activitys') |
292 | ->whereIn('activity_id', $now_activity_ids) | 259 | ->whereIn('activity_id', $now_activity_ids) |
293 | ->where('user_id', $user_id) | 260 | ->where('user_id', $user_id) |
294 | ->whereNull('deleted_at') | 261 | ->whereNull('deleted_at') |
295 | ->pluck('activity_id') | 262 | ->pluck('activity_id') |
296 | ->toArray(); | 263 | ->toArray(); |
297 | $last_ids_list = DB::table('activitys') | 264 | $last_ids_list = DB::table('activitys') |
298 | ->whereIn('id', $now_activity_ids) | 265 | ->whereIn('id', $now_activity_ids) |
299 | ->where('created_at', '>=', now()->subDays(7)) | 266 | ->where('created_at', '>=', now()->subDays(7)) |
300 | ->whereNull('deleted_at') | 267 | ->whereNull('deleted_at') |
301 | ->pluck('id') | 268 | ->pluck('id') |
302 | ->toArray(); | 269 | ->toArray(); |
303 | $master_list = UserProjectPivot::query() | 270 | $master_list = UserProjectPivot::query() |
304 | ->whereIn('project_id', $now_project_ids) | 271 | ->whereIn('project_id', $now_project_ids) |
305 | ->where('user_id', $user_id) | 272 | ->where('user_id', $user_id) |
306 | ->pluck('project_id') | 273 | ->pluck('project_id') |
307 | ->toArray(); | 274 | ->toArray(); |
308 | $share_user = ActivityShareUser::query() | 275 | $share_user = ActivityShareUser::query() |
309 | ->whereIn('activity_id', $now_activity_ids) | 276 | ->whereIn('activity_id', $now_activity_ids) |
310 | ->where('user_id', $user_id) | 277 | ->where('user_id', $user_id) |
311 | ->pluck('activity_id') | 278 | ->pluck('activity_id') |
... | @@ -354,7 +321,7 @@ public function bandLinkActivity(Request $request) | ... | @@ -354,7 +321,7 @@ public function bandLinkActivity(Request $request) |
354 | $is_promote = 0; | 321 | $is_promote = 0; |
355 | if ($activity->getRelation('project')) { | 322 | if ($activity->getRelation('project')) { |
356 | $is_promote = $activity->getRelation('project')->is_promote; | 323 | $is_promote = $activity->getRelation('project')->is_promote; |
357 | $project = $activity->getRelation('project')->toArray(); | 324 | $project = $activity->getRelation('project')->toArray(); |
358 | unset($project['is_promote']); | 325 | unset($project['is_promote']); |
359 | $activity->setAttribute('project', [$project]); | 326 | $activity->setAttribute('project', [$project]); |
360 | } | 327 | } |
... | @@ -362,7 +329,7 @@ public function bandLinkActivity(Request $request) | ... | @@ -362,7 +329,7 @@ public function bandLinkActivity(Request $request) |
362 | $activity->unsetRelation('project'); | 329 | $activity->unsetRelation('project'); |
363 | 330 | ||
364 | }); | 331 | }); |
365 | $result = json_decode(json_encode($data->items()), true); | 332 | $result = json_decode(json_encode($data->items()), true); |
366 | $result_map = []; | 333 | $result_map = []; |
367 | foreach ($result as &$v) { | 334 | foreach ($result as &$v) { |
368 | unset($v['user_id'], $v['project_id']); | 335 | unset($v['user_id'], $v['project_id']); | ... | ... |
... | @@ -12,7 +12,6 @@ | ... | @@ -12,7 +12,6 @@ |
12 | use App\Http\Service\GroupDataService; | 12 | use App\Http\Service\GroupDataService; |
13 | use App\Http\Service\GroupInviteService; | 13 | use App\Http\Service\GroupInviteService; |
14 | use App\Http\Service\UserService; | 14 | use App\Http\Service\UserService; |
15 | use App\Jobs\UserSingerLimitJob; | ||
16 | use App\Models\Activity; | 15 | use App\Models\Activity; |
17 | use App\Models\ActivityUser; | 16 | use App\Models\ActivityUser; |
18 | use App\Models\GroupHasMember; | 17 | use App\Models\GroupHasMember; |
... | @@ -190,15 +189,7 @@ public function gropuInvite(GroupInviteRequest $request) | ... | @@ -190,15 +189,7 @@ public function gropuInvite(GroupInviteRequest $request) |
190 | } | 189 | } |
191 | //判断歌手额度 | 190 | //判断歌手额度 |
192 | $maxSingerNum = User::query()->whereKey($invite_id)->value('business_singer_limit'); | 191 | $maxSingerNum = User::query()->whereKey($invite_id)->value('business_singer_limit'); |
193 | if ($is_singer_tag and $singer_tag_count >= $maxSingerNum) { | 192 | if ($is_singer_tag && $singer_tag_count >= $maxSingerNum) { |
194 | UserSingerLimitJob::dispatch([ | ||
195 | 'title' => $title1, | ||
196 | 'content' => $content1 | ||
197 | ], [ | ||
198 | 'title' => $title2, | ||
199 | 'content' => $content2, | ||
200 | 'limit' => $maxSingerNum | ||
201 | ]); | ||
202 | return JsonResource::fail(JsonResource::TEAM_INVITE_SINGER_LIMIT, code: 403); | 193 | return JsonResource::fail(JsonResource::TEAM_INVITE_SINGER_LIMIT, code: 403); |
203 | } | 194 | } |
204 | 195 | ||
... | @@ -295,14 +286,6 @@ public function handleInvite(HandleInviteRequest $request, GroupInviteService $g | ... | @@ -295,14 +286,6 @@ public function handleInvite(HandleInviteRequest $request, GroupInviteService $g |
295 | $maxSingerNum = User::query()->whereKey($invite_id)->value('business_singer_limit'); | 286 | $maxSingerNum = User::query()->whereKey($invite_id)->value('business_singer_limit'); |
296 | if ($is_singer_tag and $singer_tag_count >= $maxSingerNum) { | 287 | if ($is_singer_tag and $singer_tag_count >= $maxSingerNum) { |
297 | GroupInvite::query()->where(['invite_id' => $invite_id, 'user_id' => $member_id, 'type' => $type, 'status' => 1])->update(['status' => 4]); | 288 | GroupInvite::query()->where(['invite_id' => $invite_id, 'user_id' => $member_id, 'type' => $type, 'status' => 1])->update(['status' => 4]); |
298 | UserSingerLimitJob::dispatch([ | ||
299 | 'title' => $title1, | ||
300 | 'content' => $content1 | ||
301 | ], [ | ||
302 | 'title' => $title2, | ||
303 | 'content' => $content2, | ||
304 | 'limit' => $maxSingerNum | ||
305 | ]); | ||
306 | return JsonResource::fail(JsonResource::TEAM_JOIN_SINGER_LIMIT, code: 403); | 289 | return JsonResource::fail(JsonResource::TEAM_JOIN_SINGER_LIMIT, code: 403); |
307 | } | 290 | } |
308 | } | 291 | } | ... | ... |
... | @@ -11,7 +11,6 @@ | ... | @@ -11,7 +11,6 @@ |
11 | use App\Http\Container\AppSection\Requests\UserAuthExamineRequests; | 11 | use App\Http\Container\AppSection\Requests\UserAuthExamineRequests; |
12 | use App\Http\Service\UserService; | 12 | use App\Http\Service\UserService; |
13 | use App\Jobs\UserApplyCertifyJob; | 13 | use App\Jobs\UserApplyCertifyJob; |
14 | use App\Jobs\UserSingerLimitJob; | ||
15 | use App\Models\GroupHasMember; | 14 | use App\Models\GroupHasMember; |
16 | use App\Models\SystemTag; | 15 | use App\Models\SystemTag; |
17 | use App\Models\User; | 16 | use App\Models\User; |
... | @@ -53,15 +52,6 @@ public function story(UserAuthCreateRequest $request) | ... | @@ -53,15 +52,6 @@ public function story(UserAuthCreateRequest $request) |
53 | if ($masterId) { | 52 | if ($masterId) { |
54 | $maxSingerNum = User::query()->whereKey($masterId)->value('business_singer_limit'); | 53 | $maxSingerNum = User::query()->whereKey($masterId)->value('business_singer_limit'); |
55 | if ($is_singer_tag && $singer_tag_count >= $maxSingerNum) { | 54 | if ($is_singer_tag && $singer_tag_count >= $maxSingerNum) { |
56 | $master = User::query()->find($masterId, ['id', 'nick_name']); | ||
57 | UserSingerLimitJob::dispatch([ | ||
58 | 'title' => sprintf('%s:歌手额度已满', $master?->getAttribute('nick_name')), | ||
59 | 'content' => sprintf('%s:提交歌手认证', $user?->getAttribute('nick_name')) | ||
60 | ], [ | ||
61 | 'title' => sprintf('%s:提交歌手认证', $user?->getAttribute('nick_name')), | ||
62 | 'content' => sprintf('经纪人:%s', $master->getAttribute('nick_name')), | ||
63 | 'limit' => $maxSingerNum | ||
64 | ]); | ||
65 | return JsonResource::fail(JsonResource::TEAM_INVITE_SINGER_LIMIT, code: 403); | 55 | return JsonResource::fail(JsonResource::TEAM_INVITE_SINGER_LIMIT, code: 403); |
66 | } | 56 | } |
67 | } | 57 | } |
... | @@ -144,15 +134,6 @@ public function examine(UserAuthExamineRequests $request) | ... | @@ -144,15 +134,6 @@ public function examine(UserAuthExamineRequests $request) |
144 | return JsonResource::success(JsonResource::UPDATE_SUCCESS); | 134 | return JsonResource::success(JsonResource::UPDATE_SUCCESS); |
145 | } catch (SingerLimitException $exception) { | 135 | } catch (SingerLimitException $exception) { |
146 | DB::rollBack(); | 136 | DB::rollBack(); |
147 | $master = User::query()->find($exception->masterId, ['id', 'nick_name']); | ||
148 | UserSingerLimitJob::dispatch([ | ||
149 | 'title' => sprintf('%s:歌手额度已满', $master?->getAttribute('nick_name')), | ||
150 | 'content' => sprintf('审核歌手认证:%s', $user->getAttribute('nick_name')) | ||
151 | ], [ | ||
152 | 'title' => sprintf('%s:审核歌手认证', $user->getAttribute('nick_name')), | ||
153 | 'content' => sprintf('经纪人:%s', $master->getAttribute('nick_name')), | ||
154 | 'limit' => $exception->maxSingerNum | ||
155 | ]); | ||
156 | return JsonResource::fail(JsonResource::TEAM_INVITE_SINGER_LIMIT, code: 403); | 137 | return JsonResource::fail(JsonResource::TEAM_INVITE_SINGER_LIMIT, code: 403); |
157 | 138 | ||
158 | 139 | ... | ... |
app/Jobs/UserSingerLimitJob.php
deleted
100644 → 0
1 | <?php | ||
2 | |||
3 | namespace App\Jobs; | ||
4 | |||
5 | use App\Enums\UserOfficialStatusEnum; | ||
6 | use App\Models\SystemConfig; | ||
7 | use App\Models\User; | ||
8 | use Illuminate\Bus\Queueable; | ||
9 | use Illuminate\Contracts\Queue\ShouldQueue; | ||
10 | use Illuminate\Foundation\Bus\Dispatchable; | ||
11 | use Illuminate\Queue\InteractsWithQueue; | ||
12 | use Illuminate\Queue\SerializesModels; | ||
13 | use Illuminate\Support\Arr; | ||
14 | |||
15 | class UserSingerLimitJob implements ShouldQueue | ||
16 | { | ||
17 | use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; | ||
18 | |||
19 | public array $jPushMessage; | ||
20 | |||
21 | public array $wechatMessage; | ||
22 | |||
23 | public int $defaultLimit; | ||
24 | |||
25 | /** | ||
26 | * Create a new job instance. | ||
27 | * | ||
28 | * @return void | ||
29 | */ | ||
30 | public function __construct(array $jPushMessage, array $wechatMessage) | ||
31 | { | ||
32 | $this->jPushMessage = $jPushMessage; | ||
33 | $this->wechatMessage = $wechatMessage; | ||
34 | $this->defaultLimit = SystemConfig::query()->where('identifier', 'svMC9TNFz2Acx8ccPdAIH')->value('content') ?? 3; | ||
35 | } | ||
36 | |||
37 | /** | ||
38 | * Execute the job. | ||
39 | * | ||
40 | * @return void | ||
41 | */ | ||
42 | public function handle(): void | ||
43 | { | ||
44 | |||
45 | } | ||
46 | } |
... | @@ -49,16 +49,4 @@ public function via(mixed $notifiable): array | ... | @@ -49,16 +49,4 @@ public function via(mixed $notifiable): array |
49 | } | 49 | } |
50 | 50 | ||
51 | 51 | ||
52 | private function getProjectName(): string | ||
53 | { | ||
54 | return Arr::get($this->activity, 'project.name', ''); | ||
55 | } | ||
56 | |||
57 | /** | ||
58 | * @return bool | ||
59 | */ | ||
60 | private function hasProject(): bool | ||
61 | { | ||
62 | return !empty($this->getProjectName()); | ||
63 | } | ||
64 | } | 52 | } | ... | ... |
... | @@ -42,17 +42,4 @@ public function via(mixed $notifiable): array | ... | @@ -42,17 +42,4 @@ public function via(mixed $notifiable): array |
42 | { | 42 | { |
43 | return []; | 43 | return []; |
44 | } | 44 | } |
45 | |||
46 | private function getProjectName(): string | ||
47 | { | ||
48 | return Arr::get($this->activity, 'project.name', ''); | ||
49 | } | ||
50 | |||
51 | /** | ||
52 | * @return bool | ||
53 | */ | ||
54 | private function hasProject(): bool | ||
55 | { | ||
56 | return !empty($this->getProjectName()); | ||
57 | } | ||
58 | } | 45 | } | ... | ... |
... | @@ -35,17 +35,4 @@ public function via(mixed $notifiable): array | ... | @@ -35,17 +35,4 @@ public function via(mixed $notifiable): array |
35 | { | 35 | { |
36 | return []; | 36 | return []; |
37 | } | 37 | } |
38 | |||
39 | private function getProjectName(): string | ||
40 | { | ||
41 | return Arr::get($this->activity, 'project.name', ''); | ||
42 | } | ||
43 | |||
44 | /** | ||
45 | * @return bool | ||
46 | */ | ||
47 | private function hasProject(): bool | ||
48 | { | ||
49 | return !empty($this->getProjectName()); | ||
50 | } | ||
51 | } | 38 | } | ... | ... |
... | @@ -53,12 +53,4 @@ public function via(mixed $notifiable): array | ... | @@ -53,12 +53,4 @@ public function via(mixed $notifiable): array |
53 | { | 53 | { |
54 | return []; | 54 | return []; |
55 | } | 55 | } |
56 | |||
57 | /** | ||
58 | * @return string | ||
59 | */ | ||
60 | protected function formatChangeLabel(): string | ||
61 | { | ||
62 | return collect($this->change)->map(fn($item) => sprintf('[%s]', $item))->join('、'); | ||
63 | } | ||
64 | } | 56 | } | ... | ... |
... | @@ -2,9 +2,7 @@ | ... | @@ -2,9 +2,7 @@ |
2 | 2 | ||
3 | namespace App\Providers; | 3 | namespace App\Providers; |
4 | 4 | ||
5 | use App\Channels\JPushNotificationChannel; | ||
6 | use App\Channels\SmsNotificationChannel; | 5 | use App\Channels\SmsNotificationChannel; |
7 | use App\Channels\WechatNotificationChannel; | ||
8 | use App\Support\Model; | 6 | use App\Support\Model; |
9 | use Illuminate\Database\Events\QueryExecuted; | 7 | use Illuminate\Database\Events\QueryExecuted; |
10 | use Illuminate\Support\Facades\DB; | 8 | use Illuminate\Support\Facades\DB; |
... | @@ -22,8 +20,6 @@ class AppServiceProvider extends ServiceProvider | ... | @@ -22,8 +20,6 @@ class AppServiceProvider extends ServiceProvider |
22 | */ | 20 | */ |
23 | public function register(): void | 21 | public function register(): void |
24 | { | 22 | { |
25 | Notification::extend('wechat', static fn() => new WechatNotificationChannel); | ||
26 | Notification::extend('jPush', static fn() => new JPushNotificationChannel); | ||
27 | Notification::extend('sms', static fn() => new SmsNotificationChannel); | 23 | Notification::extend('sms', static fn() => new SmsNotificationChannel); |
28 | 24 | ||
29 | if (!$this->app->isProduction()) { | 25 | if (!$this->app->isProduction()) { | ... | ... |
... | @@ -25,7 +25,6 @@ | ... | @@ -25,7 +25,6 @@ |
25 | "hikoon/laravel-api": "0.1.4.9", | 25 | "hikoon/laravel-api": "0.1.4.9", |
26 | "hikoon/laravel-jwt": "^0.1.3", | 26 | "hikoon/laravel-jwt": "^0.1.3", |
27 | "inertiajs/inertia-laravel": "^0.6.11", | 27 | "inertiajs/inertia-laravel": "^0.6.11", |
28 | "jpush/jpush": "^3.6", | ||
29 | "laravel/framework": "^9.52.4", | 28 | "laravel/framework": "^9.52.4", |
30 | "laravel/horizon": "^5.19", | 29 | "laravel/horizon": "^5.19", |
31 | "laravel/octane": "^1.3", | 30 | "laravel/octane": "^1.3", |
... | @@ -33,7 +32,6 @@ | ... | @@ -33,7 +32,6 @@ |
33 | "laravel/tinker": "^2.7", | 32 | "laravel/tinker": "^2.7", |
34 | "lorisleiva/laravel-actions": "^2.7", | 33 | "lorisleiva/laravel-actions": "^2.7", |
35 | "overtrue/laravel-easy-sms": "^2.1", | 34 | "overtrue/laravel-easy-sms": "^2.1", |
36 | "overtrue/laravel-wechat": "^7.1", | ||
37 | "pbmedia/laravel-ffmpeg": "^8.3", | 35 | "pbmedia/laravel-ffmpeg": "^8.3", |
38 | "tencent/tls-sig-api-v2": "^1.1", | 36 | "tencent/tls-sig-api-v2": "^1.1", |
39 | "torann/geoip": "^3.0", | 37 | "torann/geoip": "^3.0", | ... | ... |
... | @@ -4,7 +4,7 @@ | ... | @@ -4,7 +4,7 @@ |
4 | "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", | 4 | "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", |
5 | "This file is @generated automatically" | 5 | "This file is @generated automatically" |
6 | ], | 6 | ], |
7 | "content-hash": "5b6123f121cdae0e82e10fa177d1da85", | 7 | "content-hash": "638f5028cdbfdd0a0242652abeccfacf", |
8 | "packages": [ | 8 | "packages": [ |
9 | { | 9 | { |
10 | "name": "adbario/php-dot-notation", | 10 | "name": "adbario/php-dot-notation", |
... | @@ -2528,53 +2528,6 @@ | ... | @@ -2528,53 +2528,6 @@ |
2528 | "time": "2023-10-27T10:59:02+00:00" | 2528 | "time": "2023-10-27T10:59:02+00:00" |
2529 | }, | 2529 | }, |
2530 | { | 2530 | { |
2531 | "name": "jpush/jpush", | ||
2532 | "version": "v3.6.8", | ||
2533 | "source": { | ||
2534 | "type": "git", | ||
2535 | "url": "https://github.com/jpush/jpush-api-php-client.git", | ||
2536 | "reference": "ebb191e8854a35c3fb7a6626028b3a23132cbe2c" | ||
2537 | }, | ||
2538 | "dist": { | ||
2539 | "type": "zip", | ||
2540 | "url": "https://api.github.com/repos/jpush/jpush-api-php-client/zipball/ebb191e8854a35c3fb7a6626028b3a23132cbe2c", | ||
2541 | "reference": "ebb191e8854a35c3fb7a6626028b3a23132cbe2c", | ||
2542 | "shasum": "" | ||
2543 | }, | ||
2544 | "require": { | ||
2545 | "ext-curl": "*", | ||
2546 | "php": ">=5.3.3" | ||
2547 | }, | ||
2548 | "require-dev": { | ||
2549 | "phpunit/phpunit": "*" | ||
2550 | }, | ||
2551 | "type": "library", | ||
2552 | "autoload": { | ||
2553 | "psr-4": { | ||
2554 | "JPush\\": "src/JPush/" | ||
2555 | } | ||
2556 | }, | ||
2557 | "notification-url": "https://packagist.org/downloads/", | ||
2558 | "license": [ | ||
2559 | "MIT" | ||
2560 | ], | ||
2561 | "authors": [ | ||
2562 | { | ||
2563 | "name": "JPush", | ||
2564 | "email": "support@jpush.cn", | ||
2565 | "homepage": "https://www.jpush.cn/", | ||
2566 | "role": "Developer" | ||
2567 | } | ||
2568 | ], | ||
2569 | "description": "JPush API PHP Client", | ||
2570 | "homepage": "https://github.com/jpush/jpush-api-php-client", | ||
2571 | "support": { | ||
2572 | "issues": "https://github.com/jpush/jpush-api-php-client/issues", | ||
2573 | "source": "https://github.com/jpush/jpush-api-php-client/tree/v3.6.8" | ||
2574 | }, | ||
2575 | "time": "2021-08-12T07:43:39+00:00" | ||
2576 | }, | ||
2577 | { | ||
2578 | "name": "laminas/laminas-diactoros", | 2531 | "name": "laminas/laminas-diactoros", |
2579 | "version": "2.24.0", | 2532 | "version": "2.24.0", |
2580 | "source": { | 2533 | "source": { |
... | @@ -4420,149 +4373,6 @@ | ... | @@ -4420,149 +4373,6 @@ |
4420 | "time": "2023-02-08T01:06:31+00:00" | 4373 | "time": "2023-02-08T01:06:31+00:00" |
4421 | }, | 4374 | }, |
4422 | { | 4375 | { |
4423 | "name": "nyholm/psr7", | ||
4424 | "version": "1.5.1", | ||
4425 | "source": { | ||
4426 | "type": "git", | ||
4427 | "url": "https://github.com/Nyholm/psr7.git", | ||
4428 | "reference": "f734364e38a876a23be4d906a2a089e1315be18a" | ||
4429 | }, | ||
4430 | "dist": { | ||
4431 | "type": "zip", | ||
4432 | "url": "https://api.github.com/repos/Nyholm/psr7/zipball/f734364e38a876a23be4d906a2a089e1315be18a", | ||
4433 | "reference": "f734364e38a876a23be4d906a2a089e1315be18a", | ||
4434 | "shasum": "" | ||
4435 | }, | ||
4436 | "require": { | ||
4437 | "php": ">=7.1", | ||
4438 | "php-http/message-factory": "^1.0", | ||
4439 | "psr/http-factory": "^1.0", | ||
4440 | "psr/http-message": "^1.0" | ||
4441 | }, | ||
4442 | "provide": { | ||
4443 | "psr/http-factory-implementation": "1.0", | ||
4444 | "psr/http-message-implementation": "1.0" | ||
4445 | }, | ||
4446 | "require-dev": { | ||
4447 | "http-interop/http-factory-tests": "^0.9", | ||
4448 | "php-http/psr7-integration-tests": "^1.0", | ||
4449 | "phpunit/phpunit": "^7.5 || 8.5 || 9.4", | ||
4450 | "symfony/error-handler": "^4.4" | ||
4451 | }, | ||
4452 | "type": "library", | ||
4453 | "extra": { | ||
4454 | "branch-alias": { | ||
4455 | "dev-master": "1.4-dev" | ||
4456 | } | ||
4457 | }, | ||
4458 | "autoload": { | ||
4459 | "psr-4": { | ||
4460 | "Nyholm\\Psr7\\": "src/" | ||
4461 | } | ||
4462 | }, | ||
4463 | "notification-url": "https://packagist.org/downloads/", | ||
4464 | "license": [ | ||
4465 | "MIT" | ||
4466 | ], | ||
4467 | "authors": [ | ||
4468 | { | ||
4469 | "name": "Tobias Nyholm", | ||
4470 | "email": "tobias.nyholm@gmail.com" | ||
4471 | }, | ||
4472 | { | ||
4473 | "name": "Martijn van der Ven", | ||
4474 | "email": "martijn@vanderven.se" | ||
4475 | } | ||
4476 | ], | ||
4477 | "description": "A fast PHP7 implementation of PSR-7", | ||
4478 | "homepage": "https://tnyholm.se", | ||
4479 | "keywords": [ | ||
4480 | "psr-17", | ||
4481 | "psr-7" | ||
4482 | ], | ||
4483 | "support": { | ||
4484 | "issues": "https://github.com/Nyholm/psr7/issues", | ||
4485 | "source": "https://github.com/Nyholm/psr7/tree/1.5.1" | ||
4486 | }, | ||
4487 | "funding": [ | ||
4488 | { | ||
4489 | "url": "https://github.com/Zegnat", | ||
4490 | "type": "github" | ||
4491 | }, | ||
4492 | { | ||
4493 | "url": "https://github.com/nyholm", | ||
4494 | "type": "github" | ||
4495 | } | ||
4496 | ], | ||
4497 | "time": "2022-06-22T07:13:36+00:00" | ||
4498 | }, | ||
4499 | { | ||
4500 | "name": "nyholm/psr7-server", | ||
4501 | "version": "1.0.2", | ||
4502 | "source": { | ||
4503 | "type": "git", | ||
4504 | "url": "https://github.com/Nyholm/psr7-server.git", | ||
4505 | "reference": "b846a689844cef114e8079d8c80f0afd96745ae3" | ||
4506 | }, | ||
4507 | "dist": { | ||
4508 | "type": "zip", | ||
4509 | "url": "https://api.github.com/repos/Nyholm/psr7-server/zipball/b846a689844cef114e8079d8c80f0afd96745ae3", | ||
4510 | "reference": "b846a689844cef114e8079d8c80f0afd96745ae3", | ||
4511 | "shasum": "" | ||
4512 | }, | ||
4513 | "require": { | ||
4514 | "php": "^7.1 || ^8.0", | ||
4515 | "psr/http-factory": "^1.0", | ||
4516 | "psr/http-message": "^1.0" | ||
4517 | }, | ||
4518 | "require-dev": { | ||
4519 | "nyholm/nsa": "^1.1", | ||
4520 | "nyholm/psr7": "^1.3", | ||
4521 | "phpunit/phpunit": "^7.0 || ^8.5 || ^9.3" | ||
4522 | }, | ||
4523 | "type": "library", | ||
4524 | "autoload": { | ||
4525 | "psr-4": { | ||
4526 | "Nyholm\\Psr7Server\\": "src/" | ||
4527 | } | ||
4528 | }, | ||
4529 | "notification-url": "https://packagist.org/downloads/", | ||
4530 | "license": [ | ||
4531 | "MIT" | ||
4532 | ], | ||
4533 | "authors": [ | ||
4534 | { | ||
4535 | "name": "Tobias Nyholm", | ||
4536 | "email": "tobias.nyholm@gmail.com" | ||
4537 | }, | ||
4538 | { | ||
4539 | "name": "Martijn van der Ven", | ||
4540 | "email": "martijn@vanderven.se" | ||
4541 | } | ||
4542 | ], | ||
4543 | "description": "Helper classes to handle PSR-7 server requests", | ||
4544 | "homepage": "http://tnyholm.se", | ||
4545 | "keywords": [ | ||
4546 | "psr-17", | ||
4547 | "psr-7" | ||
4548 | ], | ||
4549 | "support": { | ||
4550 | "issues": "https://github.com/Nyholm/psr7-server/issues", | ||
4551 | "source": "https://github.com/Nyholm/psr7-server/tree/1.0.2" | ||
4552 | }, | ||
4553 | "funding": [ | ||
4554 | { | ||
4555 | "url": "https://github.com/Zegnat", | ||
4556 | "type": "github" | ||
4557 | }, | ||
4558 | { | ||
4559 | "url": "https://github.com/nyholm", | ||
4560 | "type": "github" | ||
4561 | } | ||
4562 | ], | ||
4563 | "time": "2021-05-12T11:11:27+00:00" | ||
4564 | }, | ||
4565 | { | ||
4566 | "name": "overtrue/easy-sms", | 4376 | "name": "overtrue/easy-sms", |
4567 | "version": "2.4.2", | 4377 | "version": "2.4.2", |
4568 | "source": { | 4378 | "source": { |
... | @@ -4693,153 +4503,6 @@ | ... | @@ -4693,153 +4503,6 @@ |
4693 | "time": "2023-01-17T01:11:00+00:00" | 4503 | "time": "2023-01-17T01:11:00+00:00" |
4694 | }, | 4504 | }, |
4695 | { | 4505 | { |
4696 | "name": "overtrue/laravel-wechat", | ||
4697 | "version": "7.2.0", | ||
4698 | "source": { | ||
4699 | "type": "git", | ||
4700 | "url": "https://github.com/overtrue/laravel-wechat.git", | ||
4701 | "reference": "2ef8b18b525e054838770c60bfcfbd30ac9ede65" | ||
4702 | }, | ||
4703 | "dist": { | ||
4704 | "type": "zip", | ||
4705 | "url": "https://api.github.com/repos/overtrue/laravel-wechat/zipball/2ef8b18b525e054838770c60bfcfbd30ac9ede65", | ||
4706 | "reference": "2ef8b18b525e054838770c60bfcfbd30ac9ede65", | ||
4707 | "shasum": "" | ||
4708 | }, | ||
4709 | "require": { | ||
4710 | "illuminate/container": "^9.0|^10.0", | ||
4711 | "w7corp/easywechat": "^6.0.0" | ||
4712 | }, | ||
4713 | "require-dev": { | ||
4714 | "brainmaestro/composer-git-hooks": "dev-master", | ||
4715 | "jetbrains/phpstorm-attributes": "^1.0", | ||
4716 | "laravel/framework": "^10.0", | ||
4717 | "laravel/pint": "^1.5" | ||
4718 | }, | ||
4719 | "type": "library", | ||
4720 | "extra": { | ||
4721 | "laravel": { | ||
4722 | "providers": [ | ||
4723 | "Overtrue\\LaravelWeChat\\ServiceProvider" | ||
4724 | ] | ||
4725 | }, | ||
4726 | "hooks": { | ||
4727 | "pre-commit": [ | ||
4728 | "composer check-style" | ||
4729 | ], | ||
4730 | "pre-push": [ | ||
4731 | "composer check-style" | ||
4732 | ] | ||
4733 | } | ||
4734 | }, | ||
4735 | "autoload": { | ||
4736 | "psr-4": { | ||
4737 | "Overtrue\\LaravelWeChat\\": "src/" | ||
4738 | } | ||
4739 | }, | ||
4740 | "notification-url": "https://packagist.org/downloads/", | ||
4741 | "license": [ | ||
4742 | "MIT" | ||
4743 | ], | ||
4744 | "authors": [ | ||
4745 | { | ||
4746 | "name": "overtrue", | ||
4747 | "email": "anzhengchao@gmail.com" | ||
4748 | } | ||
4749 | ], | ||
4750 | "description": "微信 SDK for Laravel", | ||
4751 | "keywords": [ | ||
4752 | "laravel", | ||
4753 | "sdk", | ||
4754 | "wechat", | ||
4755 | "weixin" | ||
4756 | ], | ||
4757 | "support": { | ||
4758 | "issues": "https://github.com/overtrue/laravel-wechat/issues", | ||
4759 | "source": "https://github.com/overtrue/laravel-wechat/tree/7.2.0" | ||
4760 | }, | ||
4761 | "funding": [ | ||
4762 | { | ||
4763 | "url": "https://github.com/overtrue", | ||
4764 | "type": "github" | ||
4765 | } | ||
4766 | ], | ||
4767 | "time": "2023-02-15T08:16:22+00:00" | ||
4768 | }, | ||
4769 | { | ||
4770 | "name": "overtrue/socialite", | ||
4771 | "version": "4.8.0", | ||
4772 | "source": { | ||
4773 | "type": "git", | ||
4774 | "url": "https://github.com/overtrue/socialite.git", | ||
4775 | "reference": "e55fdf50f8003be8f03a85a7e5a5b7c5716f4c9a" | ||
4776 | }, | ||
4777 | "dist": { | ||
4778 | "type": "zip", | ||
4779 | "url": "https://api.github.com/repos/overtrue/socialite/zipball/e55fdf50f8003be8f03a85a7e5a5b7c5716f4c9a", | ||
4780 | "reference": "e55fdf50f8003be8f03a85a7e5a5b7c5716f4c9a", | ||
4781 | "shasum": "" | ||
4782 | }, | ||
4783 | "require": { | ||
4784 | "ext-json": "*", | ||
4785 | "ext-openssl": "*", | ||
4786 | "guzzlehttp/guzzle": "^7.0", | ||
4787 | "php": ">=8.0.2", | ||
4788 | "symfony/http-foundation": "^6.0", | ||
4789 | "symfony/psr-http-message-bridge": "^2.1" | ||
4790 | }, | ||
4791 | "require-dev": { | ||
4792 | "jetbrains/phpstorm-attributes": "^1.0", | ||
4793 | "laravel/pint": "^1.2", | ||
4794 | "mockery/mockery": "^1.3", | ||
4795 | "phpstan/phpstan": "^1.7", | ||
4796 | "phpunit/phpunit": "^9.0" | ||
4797 | }, | ||
4798 | "type": "library", | ||
4799 | "autoload": { | ||
4800 | "files": [ | ||
4801 | "src/Contracts/FactoryInterface.php", | ||
4802 | "src/Contracts/UserInterface.php", | ||
4803 | "src/Contracts/ProviderInterface.php" | ||
4804 | ], | ||
4805 | "psr-4": { | ||
4806 | "Overtrue\\Socialite\\": "src/" | ||
4807 | } | ||
4808 | }, | ||
4809 | "notification-url": "https://packagist.org/downloads/", | ||
4810 | "license": [ | ||
4811 | "MIT" | ||
4812 | ], | ||
4813 | "authors": [ | ||
4814 | { | ||
4815 | "name": "overtrue", | ||
4816 | "email": "anzhengchao@gmail.com" | ||
4817 | } | ||
4818 | ], | ||
4819 | "description": "A collection of OAuth 2 packages.", | ||
4820 | "keywords": [ | ||
4821 | "Feishu", | ||
4822 | "login", | ||
4823 | "oauth", | ||
4824 | "qcloud", | ||
4825 | "qq", | ||
4826 | "social", | ||
4827 | "wechat", | ||
4828 | "weibo" | ||
4829 | ], | ||
4830 | "support": { | ||
4831 | "issues": "https://github.com/overtrue/socialite/issues", | ||
4832 | "source": "https://github.com/overtrue/socialite/tree/4.8.0" | ||
4833 | }, | ||
4834 | "funding": [ | ||
4835 | { | ||
4836 | "url": "https://github.com/overtrue", | ||
4837 | "type": "github" | ||
4838 | } | ||
4839 | ], | ||
4840 | "time": "2023-01-10T14:29:55+00:00" | ||
4841 | }, | ||
4842 | { | ||
4843 | "name": "pbmedia/laravel-ffmpeg", | 4506 | "name": "pbmedia/laravel-ffmpeg", |
4844 | "version": "8.3.0", | 4507 | "version": "8.3.0", |
4845 | "dist": { | 4508 | "dist": { |
... | @@ -4981,60 +4644,6 @@ | ... | @@ -4981,60 +4644,6 @@ |
4981 | "time": "2022-12-09T13:57:05+00:00" | 4644 | "time": "2022-12-09T13:57:05+00:00" |
4982 | }, | 4645 | }, |
4983 | { | 4646 | { |
4984 | "name": "php-http/message-factory", | ||
4985 | "version": "v1.0.2", | ||
4986 | "source": { | ||
4987 | "type": "git", | ||
4988 | "url": "https://github.com/php-http/message-factory.git", | ||
4989 | "reference": "a478cb11f66a6ac48d8954216cfed9aa06a501a1" | ||
4990 | }, | ||
4991 | "dist": { | ||
4992 | "type": "zip", | ||
4993 | "url": "https://api.github.com/repos/php-http/message-factory/zipball/a478cb11f66a6ac48d8954216cfed9aa06a501a1", | ||
4994 | "reference": "a478cb11f66a6ac48d8954216cfed9aa06a501a1", | ||
4995 | "shasum": "" | ||
4996 | }, | ||
4997 | "require": { | ||
4998 | "php": ">=5.4", | ||
4999 | "psr/http-message": "^1.0" | ||
5000 | }, | ||
5001 | "type": "library", | ||
5002 | "extra": { | ||
5003 | "branch-alias": { | ||
5004 | "dev-master": "1.0-dev" | ||
5005 | } | ||
5006 | }, | ||
5007 | "autoload": { | ||
5008 | "psr-4": { | ||
5009 | "Http\\Message\\": "src/" | ||
5010 | } | ||
5011 | }, | ||
5012 | "notification-url": "https://packagist.org/downloads/", | ||
5013 | "license": [ | ||
5014 | "MIT" | ||
5015 | ], | ||
5016 | "authors": [ | ||
5017 | { | ||
5018 | "name": "Márk Sági-Kazár", | ||
5019 | "email": "mark.sagikazar@gmail.com" | ||
5020 | } | ||
5021 | ], | ||
5022 | "description": "Factory interfaces for PSR-7 HTTP Message", | ||
5023 | "homepage": "http://php-http.org", | ||
5024 | "keywords": [ | ||
5025 | "factory", | ||
5026 | "http", | ||
5027 | "message", | ||
5028 | "stream", | ||
5029 | "uri" | ||
5030 | ], | ||
5031 | "support": { | ||
5032 | "issues": "https://github.com/php-http/message-factory/issues", | ||
5033 | "source": "https://github.com/php-http/message-factory/tree/master" | ||
5034 | }, | ||
5035 | "time": "2015-12-19T14:08:53+00:00" | ||
5036 | }, | ||
5037 | { | ||
5038 | "name": "phpoption/phpoption", | 4647 | "name": "phpoption/phpoption", |
5039 | "version": "1.9.1", | 4648 | "version": "1.9.1", |
5040 | "source": { | 4649 | "source": { |
... | @@ -6422,197 +6031,40 @@ | ... | @@ -6422,197 +6031,40 @@ |
6422 | "time": "2023-02-14T08:44:56+00:00" | 6031 | "time": "2023-02-14T08:44:56+00:00" |
6423 | }, | 6032 | }, |
6424 | { | 6033 | { |
6425 | "name": "symfony/event-dispatcher-contracts", | 6034 | "name": "symfony/event-dispatcher-contracts", |
6426 | "version": "v3.2.1", | 6035 | "version": "v3.2.1", |
6427 | "source": { | ||
6428 | "type": "git", | ||
6429 | "url": "https://github.com/symfony/event-dispatcher-contracts.git", | ||
6430 | "reference": "0ad3b6f1e4e2da5690fefe075cd53a238646d8dd" | ||
6431 | }, | ||
6432 | "dist": { | ||
6433 | "type": "zip", | ||
6434 | "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/0ad3b6f1e4e2da5690fefe075cd53a238646d8dd", | ||
6435 | "reference": "0ad3b6f1e4e2da5690fefe075cd53a238646d8dd", | ||
6436 | "shasum": "" | ||
6437 | }, | ||
6438 | "require": { | ||
6439 | "php": ">=8.1", | ||
6440 | "psr/event-dispatcher": "^1" | ||
6441 | }, | ||
6442 | "suggest": { | ||
6443 | "symfony/event-dispatcher-implementation": "" | ||
6444 | }, | ||
6445 | "type": "library", | ||
6446 | "extra": { | ||
6447 | "branch-alias": { | ||
6448 | "dev-main": "3.3-dev" | ||
6449 | }, | ||
6450 | "thanks": { | ||
6451 | "name": "symfony/contracts", | ||
6452 | "url": "https://github.com/symfony/contracts" | ||
6453 | } | ||
6454 | }, | ||
6455 | "autoload": { | ||
6456 | "psr-4": { | ||
6457 | "Symfony\\Contracts\\EventDispatcher\\": "" | ||
6458 | } | ||
6459 | }, | ||
6460 | "notification-url": "https://packagist.org/downloads/", | ||
6461 | "license": [ | ||
6462 | "MIT" | ||
6463 | ], | ||
6464 | "authors": [ | ||
6465 | { | ||
6466 | "name": "Nicolas Grekas", | ||
6467 | "email": "p@tchwork.com" | ||
6468 | }, | ||
6469 | { | ||
6470 | "name": "Symfony Community", | ||
6471 | "homepage": "https://symfony.com/contributors" | ||
6472 | } | ||
6473 | ], | ||
6474 | "description": "Generic abstractions related to dispatching event", | ||
6475 | "homepage": "https://symfony.com", | ||
6476 | "keywords": [ | ||
6477 | "abstractions", | ||
6478 | "contracts", | ||
6479 | "decoupling", | ||
6480 | "interfaces", | ||
6481 | "interoperability", | ||
6482 | "standards" | ||
6483 | ], | ||
6484 | "support": { | ||
6485 | "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.2.1" | ||
6486 | }, | ||
6487 | "funding": [ | ||
6488 | { | ||
6489 | "url": "https://symfony.com/sponsor", | ||
6490 | "type": "custom" | ||
6491 | }, | ||
6492 | { | ||
6493 | "url": "https://github.com/fabpot", | ||
6494 | "type": "github" | ||
6495 | }, | ||
6496 | { | ||
6497 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", | ||
6498 | "type": "tidelift" | ||
6499 | } | ||
6500 | ], | ||
6501 | "time": "2023-03-01T10:32:47+00:00" | ||
6502 | }, | ||
6503 | { | ||
6504 | "name": "symfony/finder", | ||
6505 | "version": "v6.2.7", | ||
6506 | "source": { | ||
6507 | "type": "git", | ||
6508 | "url": "https://github.com/symfony/finder.git", | ||
6509 | "reference": "20808dc6631aecafbe67c186af5dcb370be3a0eb" | ||
6510 | }, | ||
6511 | "dist": { | ||
6512 | "type": "zip", | ||
6513 | "url": "https://api.github.com/repos/symfony/finder/zipball/20808dc6631aecafbe67c186af5dcb370be3a0eb", | ||
6514 | "reference": "20808dc6631aecafbe67c186af5dcb370be3a0eb", | ||
6515 | "shasum": "" | ||
6516 | }, | ||
6517 | "require": { | ||
6518 | "php": ">=8.1" | ||
6519 | }, | ||
6520 | "require-dev": { | ||
6521 | "symfony/filesystem": "^6.0" | ||
6522 | }, | ||
6523 | "type": "library", | ||
6524 | "autoload": { | ||
6525 | "psr-4": { | ||
6526 | "Symfony\\Component\\Finder\\": "" | ||
6527 | }, | ||
6528 | "exclude-from-classmap": [ | ||
6529 | "/Tests/" | ||
6530 | ] | ||
6531 | }, | ||
6532 | "notification-url": "https://packagist.org/downloads/", | ||
6533 | "license": [ | ||
6534 | "MIT" | ||
6535 | ], | ||
6536 | "authors": [ | ||
6537 | { | ||
6538 | "name": "Fabien Potencier", | ||
6539 | "email": "fabien@symfony.com" | ||
6540 | }, | ||
6541 | { | ||
6542 | "name": "Symfony Community", | ||
6543 | "homepage": "https://symfony.com/contributors" | ||
6544 | } | ||
6545 | ], | ||
6546 | "description": "Finds files and directories via an intuitive fluent interface", | ||
6547 | "homepage": "https://symfony.com", | ||
6548 | "support": { | ||
6549 | "source": "https://github.com/symfony/finder/tree/v6.2.7" | ||
6550 | }, | ||
6551 | "funding": [ | ||
6552 | { | ||
6553 | "url": "https://symfony.com/sponsor", | ||
6554 | "type": "custom" | ||
6555 | }, | ||
6556 | { | ||
6557 | "url": "https://github.com/fabpot", | ||
6558 | "type": "github" | ||
6559 | }, | ||
6560 | { | ||
6561 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", | ||
6562 | "type": "tidelift" | ||
6563 | } | ||
6564 | ], | ||
6565 | "time": "2023-02-16T09:57:23+00:00" | ||
6566 | }, | ||
6567 | { | ||
6568 | "name": "symfony/http-client", | ||
6569 | "version": "v6.2.7", | ||
6570 | "source": { | 6036 | "source": { |
6571 | "type": "git", | 6037 | "type": "git", |
6572 | "url": "https://github.com/symfony/http-client.git", | 6038 | "url": "https://github.com/symfony/event-dispatcher-contracts.git", |
6573 | "reference": "0a5be6cbc570ae23b51b49d67341f378629d78e4" | 6039 | "reference": "0ad3b6f1e4e2da5690fefe075cd53a238646d8dd" |
6574 | }, | 6040 | }, |
6575 | "dist": { | 6041 | "dist": { |
6576 | "type": "zip", | 6042 | "type": "zip", |
6577 | "url": "https://api.github.com/repos/symfony/http-client/zipball/0a5be6cbc570ae23b51b49d67341f378629d78e4", | 6043 | "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/0ad3b6f1e4e2da5690fefe075cd53a238646d8dd", |
6578 | "reference": "0a5be6cbc570ae23b51b49d67341f378629d78e4", | 6044 | "reference": "0ad3b6f1e4e2da5690fefe075cd53a238646d8dd", |
6579 | "shasum": "" | 6045 | "shasum": "" |
6580 | }, | 6046 | }, |
6581 | "require": { | 6047 | "require": { |
6582 | "php": ">=8.1", | 6048 | "php": ">=8.1", |
6583 | "psr/log": "^1|^2|^3", | 6049 | "psr/event-dispatcher": "^1" |
6584 | "symfony/deprecation-contracts": "^2.1|^3", | ||
6585 | "symfony/http-client-contracts": "^3", | ||
6586 | "symfony/service-contracts": "^1.0|^2|^3" | ||
6587 | }, | ||
6588 | "provide": { | ||
6589 | "php-http/async-client-implementation": "*", | ||
6590 | "php-http/client-implementation": "*", | ||
6591 | "psr/http-client-implementation": "1.0", | ||
6592 | "symfony/http-client-implementation": "3.0" | ||
6593 | }, | 6050 | }, |
6594 | "require-dev": { | 6051 | "suggest": { |
6595 | "amphp/amp": "^2.5", | 6052 | "symfony/event-dispatcher-implementation": "" |
6596 | "amphp/http-client": "^4.2.1", | ||
6597 | "amphp/http-tunnel": "^1.0", | ||
6598 | "amphp/socket": "^1.1", | ||
6599 | "guzzlehttp/promises": "^1.4", | ||
6600 | "nyholm/psr7": "^1.0", | ||
6601 | "php-http/httplug": "^1.0|^2.0", | ||
6602 | "psr/http-client": "^1.0", | ||
6603 | "symfony/dependency-injection": "^5.4|^6.0", | ||
6604 | "symfony/http-kernel": "^5.4|^6.0", | ||
6605 | "symfony/process": "^5.4|^6.0", | ||
6606 | "symfony/stopwatch": "^5.4|^6.0" | ||
6607 | }, | 6053 | }, |
6608 | "type": "library", | 6054 | "type": "library", |
6055 | "extra": { | ||
6056 | "branch-alias": { | ||
6057 | "dev-main": "3.3-dev" | ||
6058 | }, | ||
6059 | "thanks": { | ||
6060 | "name": "symfony/contracts", | ||
6061 | "url": "https://github.com/symfony/contracts" | ||
6062 | } | ||
6063 | }, | ||
6609 | "autoload": { | 6064 | "autoload": { |
6610 | "psr-4": { | 6065 | "psr-4": { |
6611 | "Symfony\\Component\\HttpClient\\": "" | 6066 | "Symfony\\Contracts\\EventDispatcher\\": "" |
6612 | }, | 6067 | } |
6613 | "exclude-from-classmap": [ | ||
6614 | "/Tests/" | ||
6615 | ] | ||
6616 | }, | 6068 | }, |
6617 | "notification-url": "https://packagist.org/downloads/", | 6069 | "notification-url": "https://packagist.org/downloads/", |
6618 | "license": [ | 6070 | "license": [ |
... | @@ -6628,10 +6080,18 @@ | ... | @@ -6628,10 +6080,18 @@ |
6628 | "homepage": "https://symfony.com/contributors" | 6080 | "homepage": "https://symfony.com/contributors" |
6629 | } | 6081 | } |
6630 | ], | 6082 | ], |
6631 | "description": "Provides powerful methods to fetch HTTP resources synchronously or asynchronously", | 6083 | "description": "Generic abstractions related to dispatching event", |
6632 | "homepage": "https://symfony.com", | 6084 | "homepage": "https://symfony.com", |
6085 | "keywords": [ | ||
6086 | "abstractions", | ||
6087 | "contracts", | ||
6088 | "decoupling", | ||
6089 | "interfaces", | ||
6090 | "interoperability", | ||
6091 | "standards" | ||
6092 | ], | ||
6633 | "support": { | 6093 | "support": { |
6634 | "source": "https://github.com/symfony/http-client/tree/v6.2.7" | 6094 | "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.2.1" |
6635 | }, | 6095 | }, |
6636 | "funding": [ | 6096 | "funding": [ |
6637 | { | 6097 | { |
... | @@ -6647,44 +6107,35 @@ | ... | @@ -6647,44 +6107,35 @@ |
6647 | "type": "tidelift" | 6107 | "type": "tidelift" |
6648 | } | 6108 | } |
6649 | ], | 6109 | ], |
6650 | "time": "2023-02-21T10:54:55+00:00" | 6110 | "time": "2023-03-01T10:32:47+00:00" |
6651 | }, | 6111 | }, |
6652 | { | 6112 | { |
6653 | "name": "symfony/http-client-contracts", | 6113 | "name": "symfony/finder", |
6654 | "version": "v3.2.1", | 6114 | "version": "v6.2.7", |
6655 | "source": { | 6115 | "source": { |
6656 | "type": "git", | 6116 | "type": "git", |
6657 | "url": "https://github.com/symfony/http-client-contracts.git", | 6117 | "url": "https://github.com/symfony/finder.git", |
6658 | "reference": "df2ecd6cb70e73c1080e6478aea85f5f4da2c48b" | 6118 | "reference": "20808dc6631aecafbe67c186af5dcb370be3a0eb" |
6659 | }, | 6119 | }, |
6660 | "dist": { | 6120 | "dist": { |
6661 | "type": "zip", | 6121 | "type": "zip", |
6662 | "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/df2ecd6cb70e73c1080e6478aea85f5f4da2c48b", | 6122 | "url": "https://api.github.com/repos/symfony/finder/zipball/20808dc6631aecafbe67c186af5dcb370be3a0eb", |
6663 | "reference": "df2ecd6cb70e73c1080e6478aea85f5f4da2c48b", | 6123 | "reference": "20808dc6631aecafbe67c186af5dcb370be3a0eb", |
6664 | "shasum": "" | 6124 | "shasum": "" |
6665 | }, | 6125 | }, |
6666 | "require": { | 6126 | "require": { |
6667 | "php": ">=8.1" | 6127 | "php": ">=8.1" |
6668 | }, | 6128 | }, |
6669 | "suggest": { | 6129 | "require-dev": { |
6670 | "symfony/http-client-implementation": "" | 6130 | "symfony/filesystem": "^6.0" |
6671 | }, | 6131 | }, |
6672 | "type": "library", | 6132 | "type": "library", |
6673 | "extra": { | ||
6674 | "branch-alias": { | ||
6675 | "dev-main": "3.3-dev" | ||
6676 | }, | ||
6677 | "thanks": { | ||
6678 | "name": "symfony/contracts", | ||
6679 | "url": "https://github.com/symfony/contracts" | ||
6680 | } | ||
6681 | }, | ||
6682 | "autoload": { | 6133 | "autoload": { |
6683 | "psr-4": { | 6134 | "psr-4": { |
6684 | "Symfony\\Contracts\\HttpClient\\": "" | 6135 | "Symfony\\Component\\Finder\\": "" |
6685 | }, | 6136 | }, |
6686 | "exclude-from-classmap": [ | 6137 | "exclude-from-classmap": [ |
6687 | "/Test/" | 6138 | "/Tests/" |
6688 | ] | 6139 | ] |
6689 | }, | 6140 | }, |
6690 | "notification-url": "https://packagist.org/downloads/", | 6141 | "notification-url": "https://packagist.org/downloads/", |
... | @@ -6693,26 +6144,18 @@ | ... | @@ -6693,26 +6144,18 @@ |
6693 | ], | 6144 | ], |
6694 | "authors": [ | 6145 | "authors": [ |
6695 | { | 6146 | { |
6696 | "name": "Nicolas Grekas", | 6147 | "name": "Fabien Potencier", |
6697 | "email": "p@tchwork.com" | 6148 | "email": "fabien@symfony.com" |
6698 | }, | 6149 | }, |
6699 | { | 6150 | { |
6700 | "name": "Symfony Community", | 6151 | "name": "Symfony Community", |
6701 | "homepage": "https://symfony.com/contributors" | 6152 | "homepage": "https://symfony.com/contributors" |
6702 | } | 6153 | } |
6703 | ], | 6154 | ], |
6704 | "description": "Generic abstractions related to HTTP clients", | 6155 | "description": "Finds files and directories via an intuitive fluent interface", |
6705 | "homepage": "https://symfony.com", | 6156 | "homepage": "https://symfony.com", |
6706 | "keywords": [ | ||
6707 | "abstractions", | ||
6708 | "contracts", | ||
6709 | "decoupling", | ||
6710 | "interfaces", | ||
6711 | "interoperability", | ||
6712 | "standards" | ||
6713 | ], | ||
6714 | "support": { | 6157 | "support": { |
6715 | "source": "https://github.com/symfony/http-client-contracts/tree/v3.2.1" | 6158 | "source": "https://github.com/symfony/finder/tree/v6.2.7" |
6716 | }, | 6159 | }, |
6717 | "funding": [ | 6160 | "funding": [ |
6718 | { | 6161 | { |
... | @@ -6728,7 +6171,7 @@ | ... | @@ -6728,7 +6171,7 @@ |
6728 | "type": "tidelift" | 6171 | "type": "tidelift" |
6729 | } | 6172 | } |
6730 | ], | 6173 | ], |
6731 | "time": "2023-03-01T10:32:47+00:00" | 6174 | "time": "2023-02-16T09:57:23+00:00" |
6732 | }, | 6175 | }, |
6733 | { | 6176 | { |
6734 | "name": "symfony/http-foundation", | 6177 | "name": "symfony/http-foundation", |
... | @@ -7658,85 +7101,6 @@ | ... | @@ -7658,85 +7101,6 @@ |
7658 | "time": "2022-11-03T14:55:06+00:00" | 7101 | "time": "2022-11-03T14:55:06+00:00" |
7659 | }, | 7102 | }, |
7660 | { | 7103 | { |
7661 | "name": "symfony/polyfill-php81", | ||
7662 | "version": "v1.27.0", | ||
7663 | "source": { | ||
7664 | "type": "git", | ||
7665 | "url": "https://github.com/symfony/polyfill-php81.git", | ||
7666 | "reference": "707403074c8ea6e2edaf8794b0157a0bfa52157a" | ||
7667 | }, | ||
7668 | "dist": { | ||
7669 | "type": "zip", | ||
7670 | "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/707403074c8ea6e2edaf8794b0157a0bfa52157a", | ||
7671 | "reference": "707403074c8ea6e2edaf8794b0157a0bfa52157a", | ||
7672 | "shasum": "" | ||
7673 | }, | ||
7674 | "require": { | ||
7675 | "php": ">=7.1" | ||
7676 | }, | ||
7677 | "type": "library", | ||
7678 | "extra": { | ||
7679 | "branch-alias": { | ||
7680 | "dev-main": "1.27-dev" | ||
7681 | }, | ||
7682 | "thanks": { | ||
7683 | "name": "symfony/polyfill", | ||
7684 | "url": "https://github.com/symfony/polyfill" | ||
7685 | } | ||
7686 | }, | ||
7687 | "autoload": { | ||
7688 | "files": [ | ||
7689 | "bootstrap.php" | ||
7690 | ], | ||
7691 | "psr-4": { | ||
7692 | "Symfony\\Polyfill\\Php81\\": "" | ||
7693 | }, | ||
7694 | "classmap": [ | ||
7695 | "Resources/stubs" | ||
7696 | ] | ||
7697 | }, | ||
7698 | "notification-url": "https://packagist.org/downloads/", | ||
7699 | "license": [ | ||
7700 | "MIT" | ||
7701 | ], | ||
7702 | "authors": [ | ||
7703 | { | ||
7704 | "name": "Nicolas Grekas", | ||
7705 | "email": "p@tchwork.com" | ||
7706 | }, | ||
7707 | { | ||
7708 | "name": "Symfony Community", | ||
7709 | "homepage": "https://symfony.com/contributors" | ||
7710 | } | ||
7711 | ], | ||
7712 | "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", | ||
7713 | "homepage": "https://symfony.com", | ||
7714 | "keywords": [ | ||
7715 | "compatibility", | ||
7716 | "polyfill", | ||
7717 | "portable", | ||
7718 | "shim" | ||
7719 | ], | ||
7720 | "support": { | ||
7721 | "source": "https://github.com/symfony/polyfill-php81/tree/v1.27.0" | ||
7722 | }, | ||
7723 | "funding": [ | ||
7724 | { | ||
7725 | "url": "https://symfony.com/sponsor", | ||
7726 | "type": "custom" | ||
7727 | }, | ||
7728 | { | ||
7729 | "url": "https://github.com/fabpot", | ||
7730 | "type": "github" | ||
7731 | }, | ||
7732 | { | ||
7733 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", | ||
7734 | "type": "tidelift" | ||
7735 | } | ||
7736 | ], | ||
7737 | "time": "2022-11-03T14:55:06+00:00" | ||
7738 | }, | ||
7739 | { | ||
7740 | "name": "symfony/polyfill-uuid", | 7104 | "name": "symfony/polyfill-uuid", |
7741 | "version": "v1.27.0", | 7105 | "version": "v1.27.0", |
7742 | "source": { | 7106 | "source": { |
... | @@ -8679,57 +8043,6 @@ | ... | @@ -8679,57 +8043,6 @@ |
8679 | "time": "2020-12-02T07:22:57+00:00" | 8043 | "time": "2020-12-02T07:22:57+00:00" |
8680 | }, | 8044 | }, |
8681 | { | 8045 | { |
8682 | "name": "thenorthmemory/xml", | ||
8683 | "version": "1.1.1", | ||
8684 | "source": { | ||
8685 | "type": "git", | ||
8686 | "url": "https://github.com/TheNorthMemory/xml.git", | ||
8687 | "reference": "6f50c63450a0b098772423f8bdc3c4ad2c4c30bb" | ||
8688 | }, | ||
8689 | "dist": { | ||
8690 | "type": "zip", | ||
8691 | "url": "https://api.github.com/repos/TheNorthMemory/xml/zipball/6f50c63450a0b098772423f8bdc3c4ad2c4c30bb", | ||
8692 | "reference": "6f50c63450a0b098772423f8bdc3c4ad2c4c30bb", | ||
8693 | "shasum": "" | ||
8694 | }, | ||
8695 | "require": { | ||
8696 | "ext-libxml": "*", | ||
8697 | "ext-simplexml": "*", | ||
8698 | "php": ">=7.1.2" | ||
8699 | }, | ||
8700 | "require-dev": { | ||
8701 | "phpstan/phpstan": "^0.12.89 || ^1.0", | ||
8702 | "phpunit/phpunit": "^7.5 || ^8.5.16 || ^9.3.5" | ||
8703 | }, | ||
8704 | "type": "library", | ||
8705 | "autoload": { | ||
8706 | "psr-4": { | ||
8707 | "TheNorthMemory\\Xml\\": "src/" | ||
8708 | } | ||
8709 | }, | ||
8710 | "notification-url": "https://packagist.org/downloads/", | ||
8711 | "license": [ | ||
8712 | "Apache-2.0" | ||
8713 | ], | ||
8714 | "authors": [ | ||
8715 | { | ||
8716 | "name": "James ZHANG", | ||
8717 | "homepage": "https://github.com/TheNorthMemory" | ||
8718 | } | ||
8719 | ], | ||
8720 | "description": "A wrapper of the XML parser and builder", | ||
8721 | "homepage": "https://github.com/TheNorthMemory/xml", | ||
8722 | "keywords": [ | ||
8723 | "xml-builder", | ||
8724 | "xml-parser" | ||
8725 | ], | ||
8726 | "support": { | ||
8727 | "issues": "https://github.com/TheNorthMemory/xml/issues", | ||
8728 | "source": "https://github.com/TheNorthMemory/xml/tree/1.1.1" | ||
8729 | }, | ||
8730 | "time": "2023-01-15T06:01:13+00:00" | ||
8731 | }, | ||
8732 | { | ||
8733 | "name": "tijsverkoyen/css-to-inline-styles", | 8046 | "name": "tijsverkoyen/css-to-inline-styles", |
8734 | "version": "2.2.6", | 8047 | "version": "2.2.6", |
8735 | "source": { | 8048 | "source": { |
... | @@ -9135,106 +8448,6 @@ | ... | @@ -9135,106 +8448,6 @@ |
9135 | "time": "2022-03-08T17:03:00+00:00" | 8448 | "time": "2022-03-08T17:03:00+00:00" |
9136 | }, | 8449 | }, |
9137 | { | 8450 | { |
9138 | "name": "w7corp/easywechat", | ||
9139 | "version": "6.11.2", | ||
9140 | "source": { | ||
9141 | "type": "git", | ||
9142 | "url": "https://github.com/w7corp/easywechat.git", | ||
9143 | "reference": "515c09e187c9eb84cef46f0086a66e1e20e8a80b" | ||
9144 | }, | ||
9145 | "dist": { | ||
9146 | "type": "zip", | ||
9147 | "url": "https://api.github.com/repos/w7corp/easywechat/zipball/515c09e187c9eb84cef46f0086a66e1e20e8a80b", | ||
9148 | "reference": "515c09e187c9eb84cef46f0086a66e1e20e8a80b", | ||
9149 | "shasum": "" | ||
9150 | }, | ||
9151 | "require": { | ||
9152 | "ext-curl": "*", | ||
9153 | "ext-fileinfo": "*", | ||
9154 | "ext-libxml": "*", | ||
9155 | "ext-openssl": "*", | ||
9156 | "ext-simplexml": "*", | ||
9157 | "ext-sodium": "*", | ||
9158 | "monolog/monolog": "^2.2|^3.0", | ||
9159 | "nyholm/psr7": "^1.5", | ||
9160 | "nyholm/psr7-server": "^1.0", | ||
9161 | "overtrue/socialite": "^3.5.4|^4.0.1", | ||
9162 | "php": ">=8.0.2", | ||
9163 | "psr/http-client": "^1.0", | ||
9164 | "psr/simple-cache": "^1.0|^2.0|^3.0", | ||
9165 | "symfony/cache": "^5.4|^6.0", | ||
9166 | "symfony/http-client": "^5.4|^6.0", | ||
9167 | "symfony/http-foundation": "^5.4|^6.0", | ||
9168 | "symfony/mime": "^5.4|^6.0", | ||
9169 | "symfony/polyfill-php81": "^1.25", | ||
9170 | "symfony/psr-http-message-bridge": "^2.1.2", | ||
9171 | "thenorthmemory/xml": "^1.0" | ||
9172 | }, | ||
9173 | "require-dev": { | ||
9174 | "brainmaestro/composer-git-hooks": "^2.8", | ||
9175 | "jetbrains/phpstorm-attributes": "^1.0", | ||
9176 | "laravel/pint": "^1.2", | ||
9177 | "mikey179/vfsstream": "^1.6", | ||
9178 | "mockery/mockery": "^1.4.4", | ||
9179 | "phpstan/phpstan": "^1.0", | ||
9180 | "phpunit/phpunit": "^9.5", | ||
9181 | "symfony/var-dumper": "^5.2" | ||
9182 | }, | ||
9183 | "type": "library", | ||
9184 | "extra": { | ||
9185 | "hooks": { | ||
9186 | "pre-commit": [ | ||
9187 | "composer check-style", | ||
9188 | "composer phpstan", | ||
9189 | "composer test" | ||
9190 | ], | ||
9191 | "pre-push": [ | ||
9192 | "composer check-style" | ||
9193 | ], | ||
9194 | "config": { | ||
9195 | "stop-on-failure": [ | ||
9196 | "pre-commit", | ||
9197 | "pre-push" | ||
9198 | ] | ||
9199 | } | ||
9200 | } | ||
9201 | }, | ||
9202 | "autoload": { | ||
9203 | "psr-4": { | ||
9204 | "EasyWeChat\\": "src/" | ||
9205 | } | ||
9206 | }, | ||
9207 | "notification-url": "https://packagist.org/downloads/", | ||
9208 | "license": [ | ||
9209 | "MIT" | ||
9210 | ], | ||
9211 | "authors": [ | ||
9212 | { | ||
9213 | "name": "overtrue", | ||
9214 | "email": "anzhengchao@gmail.com" | ||
9215 | } | ||
9216 | ], | ||
9217 | "description": "微信SDK", | ||
9218 | "keywords": [ | ||
9219 | "easywechat", | ||
9220 | "sdk", | ||
9221 | "wechat", | ||
9222 | "weixin", | ||
9223 | "weixin-sdk" | ||
9224 | ], | ||
9225 | "support": { | ||
9226 | "issues": "https://github.com/w7corp/easywechat/issues", | ||
9227 | "source": "https://github.com/w7corp/easywechat/tree/6.11.2" | ||
9228 | }, | ||
9229 | "funding": [ | ||
9230 | { | ||
9231 | "url": "https://github.com/overtrue", | ||
9232 | "type": "github" | ||
9233 | } | ||
9234 | ], | ||
9235 | "time": "2023-03-16T07:09:44+00:00" | ||
9236 | }, | ||
9237 | { | ||
9238 | "name": "webmozart/assert", | 8451 | "name": "webmozart/assert", |
9239 | "version": "1.11.0", | 8452 | "version": "1.11.0", |
9240 | "source": { | 8453 | "source": { | ... | ... |
... | @@ -213,8 +213,7 @@ | ... | @@ -213,8 +213,7 @@ |
213 | */ | 213 | */ |
214 | 214 | ||
215 | 'aliases' => Facade::defaultAliases()->merge([ | 215 | 'aliases' => Facade::defaultAliases()->merge([ |
216 | 'EasyWeChat' => Overtrue\LaravelWeChat\EasyWeChat::class, | 216 | 'GeoIP' => \Torann\GeoIP\Facades\GeoIP::class, |
217 | 'GeoIP' => \Torann\GeoIP\Facades\GeoIP::class, | ||
218 | 217 | ||
219 | // 'ExampleClass' => App\Example\ExampleClass::class, | 218 | // 'ExampleClass' => App\Example\ExampleClass::class, |
220 | ])->toArray(), | 219 | ])->toArray(), | ... | ... |
config/easywechat.php
deleted
100644 → 0
1 | <?php | ||
2 | |||
3 | return [ | ||
4 | /* | ||
5 | * 默认配置,将会合并到各模块中 | ||
6 | */ | ||
7 | 'defaults' => [ | ||
8 | 'http' => [ | ||
9 | 'timeout' => 5.0, | ||
10 | ], | ||
11 | ], | ||
12 | |||
13 | /* | ||
14 | * 公众号 | ||
15 | */ | ||
16 | 'official_account' => [ | ||
17 | 'default' => [ | ||
18 | 'app_id' => env('WECHAT_OFFICIAL_ACCOUNT_APPID', ''), // AppID | ||
19 | 'secret' => env('WECHAT_OFFICIAL_ACCOUNT_SECRET', ''), // AppSecret | ||
20 | 'token' => env('WECHAT_OFFICIAL_ACCOUNT_TOKEN', ''), // Token | ||
21 | 'aes_key' => env('WECHAT_OFFICIAL_ACCOUNT_AES_KEY', ''), // EncodingAESKey | ||
22 | /* | ||
23 | * OAuth 配置 | ||
24 | * | ||
25 | * scopes:公众平台(snsapi_userinfo / snsapi_base),开放平台:snsapi_login | ||
26 | * callback:OAuth授权完成后的回调页地址(如果使用中间件,则随便填写。。。) | ||
27 | * enforce_https:是否强制使用 HTTPS 跳转 | ||
28 | */ | ||
29 | // 'oauth' => [ | ||
30 | // 'scopes' => array_map('trim', explode(',', env('WECHAT_OFFICIAL_ACCOUNT_OAUTH_SCOPES', 'snsapi_userinfo'))), | ||
31 | // 'callback' => env('WECHAT_OFFICIAL_ACCOUNT_OAUTH_CALLBACK', '/examples/oauth_callback.php'), | ||
32 | // 'enforce_https' => true, | ||
33 | // ], | ||
34 | |||
35 | /** | ||
36 | * 接口请求相关配置,超时时间等,具体可用参数请参考: | ||
37 | * https://github.com/symfony/symfony/blob/6.0/src/Symfony/Contracts/HttpClient/HttpClientInterface.php#L26 | ||
38 | */ | ||
39 | 'http' => [ | ||
40 | 'timeout' => 5.0, | ||
41 | 'base_uri' => 'https://api.weixin.qq.com/', | ||
42 | ], | ||
43 | ], | ||
44 | ], | ||
45 | |||
46 | /* | ||
47 | * 开放平台第三方平台 | ||
48 | */ | ||
49 | // 'open_platform' => [ | ||
50 | // 'default' => [ | ||
51 | // 'app_id' => env('WECHAT_OPEN_PLATFORM_APPID', ''), | ||
52 | // 'secret' => env('WECHAT_OPEN_PLATFORM_SECRET', ''), | ||
53 | // 'token' => env('WECHAT_OPEN_PLATFORM_TOKEN', ''), | ||
54 | // 'aes_key' => env('WECHAT_OPEN_PLATFORM_AES_KEY', ''), | ||
55 | |||
56 | /** | ||
57 | * 接口请求相关配置,超时时间等,具体可用参数请参考: | ||
58 | * https://github.com/symfony/symfony/blob/6.0/src/Symfony/Contracts/HttpClient/HttpClientInterface.php#L26 | ||
59 | */ | ||
60 | // 'http' => [ | ||
61 | // 'timeout' => 5.0, | ||
62 | // // 如果你在国外想要覆盖默认的 url 的时候才使用,根据不同的模块配置不同的 uri | ||
63 | // 'base_uri' => 'https://api.weixin.qq.com/', | ||
64 | // ], | ||
65 | // ], | ||
66 | // ], | ||
67 | |||
68 | /* | ||
69 | * 小程序 | ||
70 | */ | ||
71 | 'mini_app' => [ | ||
72 | 'default' => [ | ||
73 | 'app_id' => env('WECHAT_MINI_APP_APPID', ''), | ||
74 | 'secret' => env('WECHAT_MINI_APP_SECRET', ''), | ||
75 | 'token' => env('WECHAT_MINI_APP_TOKEN', ''), | ||
76 | 'aes_key' => env('WECHAT_MINI_APP_AES_KEY', ''), | ||
77 | |||
78 | /** | ||
79 | * 接口请求相关配置,超时时间等,具体可用参数请参考: | ||
80 | * https://github.com/symfony/symfony/blob/6.0/src/Symfony/Contracts/HttpClient/HttpClientInterface.php#L26 | ||
81 | */ | ||
82 | 'http' => [ | ||
83 | 'timeout' => 5.0, | ||
84 | 'base_uri' => 'https://api.weixin.qq.com/', | ||
85 | ], | ||
86 | ], | ||
87 | ], | ||
88 | |||
89 | /* | ||
90 | * 微信支付 | ||
91 | */ | ||
92 | // 'pay' => [ | ||
93 | // 'default' => [ | ||
94 | // 'app_id' => env('WECHAT_PAY_APPID', ''), | ||
95 | // 'mch_id' => env('WECHAT_PAY_MCH_ID', 'your-mch-id'), | ||
96 | // 'private_key' => '/data/private/certs/apiclient_key.pem', | ||
97 | // 'certificate' => '/data/private/certs/apiclient_cert.pem', | ||
98 | // 'notify_url' => 'http://example.com/payments/wechat-notify', // 默认支付结果通知地址 | ||
99 | // /** | ||
100 | // * 证书序列号,可通过命令从证书获取: | ||
101 | // * `openssl x509 -in application_cert.pem -noout -serial` | ||
102 | // */ | ||
103 | // 'certificate_serial_no' => '6F2BADBE1738B07EE45C6A85C5F86EE343CAABC3', | ||
104 | // | ||
105 | // 'http' => [ | ||
106 | // 'base_uri' => 'https://api.mch.weixin.qq.com/', | ||
107 | // ], | ||
108 | // | ||
109 | // // v2 API 秘钥 | ||
110 | // //'v2_secret_key' => '26db3e15cfedb44abfbb5fe94fxxxxx', | ||
111 | // | ||
112 | // // v3 API 秘钥 | ||
113 | // //'secret_key' => '43A03299A3C3FED3D8CE7B820Fxxxxx', | ||
114 | // | ||
115 | // // 注意 此处为微信支付平台证书 https://pay.weixin.qq.com/wiki/doc/apiv3/apis/wechatpay5_1.shtml | ||
116 | // 'platform_certs' => [ | ||
117 | // '/data/private/certs/platform_key.pem', | ||
118 | // ], | ||
119 | // ], | ||
120 | // ], | ||
121 | |||
122 | /* | ||
123 | * 企业微信 | ||
124 | */ | ||
125 | // 'work' => [ | ||
126 | // 'default' => [ | ||
127 | // 'corp_id' => env('WECHAT_WORK_CORP_ID', ''), | ||
128 | // 'secret' => env('WECHAT_WORK_SECRET', ''), | ||
129 | // 'token' => env('WECHAT_WORK_TOKEN', ''), | ||
130 | // 'aes_key' => env('WECHAT_WORK_AES_KEY', ''), | ||
131 | |||
132 | /** | ||
133 | * 接口请求相关配置,超时时间等,具体可用参数请参考: | ||
134 | * https://github.com/symfony/symfony/blob/6.0/src/Symfony/Contracts/HttpClient/HttpClientInterface.php#L26 | ||
135 | */ | ||
136 | // 'http' => [ | ||
137 | // 'timeout' => 5.0, | ||
138 | // // 如果你在国外想要覆盖默认的 url 的时候才使用,根据不同的模块配置不同的 uri | ||
139 | // 'base_uri' => 'https://api.weixin.qq.com/', | ||
140 | // ], | ||
141 | // ], | ||
142 | // ], | ||
143 | |||
144 | /* | ||
145 | * 企业微信开放平台 | ||
146 | */ | ||
147 | // 'open_work' => [ | ||
148 | // 'default' => [ | ||
149 | // 'corp_id' => env('WECHAT_OPEN_WORK_CORP_ID', ''), | ||
150 | // 'provider_secret' => env('WECHAT_OPEN_WORK_SECRET', ''), | ||
151 | // 'token' => env('WECHAT_OPEN_WORK_TOKEN', ''), | ||
152 | // 'aes_key' => env('WECHAT_OPEN_WORK_AES_KEY', ''), | ||
153 | |||
154 | /** | ||
155 | * 接口请求相关配置,超时时间等,具体可用参数请参考: | ||
156 | * https://github.com/symfony/symfony/blob/6.0/src/Symfony/Contracts/HttpClient/HttpClientInterface.php#L26 | ||
157 | */ | ||
158 | // 'http' => [ | ||
159 | // 'timeout' => 5.0, | ||
160 | // // 如果你在国外想要覆盖默认的 url 的时候才使用,根据不同的模块配置不同的 uri | ||
161 | // 'base_uri' => 'https://api.weixin.qq.com/', | ||
162 | // ], | ||
163 | // ], | ||
164 | // ], | ||
165 | ]; |
... | @@ -117,18 +117,6 @@ | ... | @@ -117,18 +117,6 @@ |
117 | 'emergency' => [ | 117 | 'emergency' => [ |
118 | 'path' => storage_path('logs/laravel.log'), | 118 | 'path' => storage_path('logs/laravel.log'), |
119 | ], | 119 | ], |
120 | 'wechat' => [ | ||
121 | 'driver' => 'daily', | ||
122 | 'path' => storage_path('logs/wechat.log'), | ||
123 | 'level' => env('LOG_LEVEL', 'debug'), | ||
124 | 'days' => 7, | ||
125 | ], | ||
126 | 'jpush' => [ | ||
127 | 'driver' => 'daily', | ||
128 | 'path' => storage_path('logs/jpush.log'), | ||
129 | 'level' => env('LOG_LEVEL', 'debug'), | ||
130 | 'days' => 7, | ||
131 | ], | ||
132 | 'im' => [ | 120 | 'im' => [ |
133 | 'driver' => 'daily', | 121 | 'driver' => 'daily', |
134 | 'path' => storage_path('logs/im.log'), | 122 | 'path' => storage_path('logs/im.log'), | ... | ... |
... | @@ -37,12 +37,6 @@ | ... | @@ -37,12 +37,6 @@ |
37 | 'secret' => env('IM_SECRET', ''), | 37 | 'secret' => env('IM_SECRET', ''), |
38 | 'prefix' => env('IM_PREFIX', ''), | 38 | 'prefix' => env('IM_PREFIX', ''), |
39 | ], | 39 | ], |
40 | 'jpush' => [ | ||
41 | 'key' => env('JPUSH_KEY', ''), | ||
42 | 'secret' => env('JPUSH_SECRET', ''), | ||
43 | 'apns_production' => env('JPUSH_APNS_PRODUCTION', false), | ||
44 | 'prefix' => env('JPUSH_PREFIX', '') | ||
45 | ], | ||
46 | 'easy-sms' => [ | 40 | 'easy-sms' => [ |
47 | 'timeout' => 5.0, | 41 | 'timeout' => 5.0, |
48 | 'default' => [ | 42 | 'default' => [ | ... | ... |
-
Please register or sign in to post a comment