fix(develop): Init
Showing
20 changed files
with
88 additions
and
1290 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 |
| ... | @@ -33,18 +32,18 @@ public function collection(Request $request) | ... | @@ -33,18 +32,18 @@ public function collection(Request $request) |
| 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); |
| ... | @@ -64,21 +63,21 @@ public function collection(Request $request) | ... | @@ -64,21 +63,21 @@ public function collection(Request $request) |
| 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 | ||
| ... | @@ -129,19 +124,19 @@ public function sub(Request $request) | ... | @@ -129,19 +124,19 @@ 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' => '', |
| ... | @@ -151,38 +146,10 @@ public function sub(Request $request) | ... | @@ -151,38 +146,10 @@ public function sub(Request $request) |
| 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('收藏成功'); |
| ... | @@ -198,16 +165,16 @@ public function unsub(Request $request) | ... | @@ -198,16 +165,16 @@ public function unsub(Request $request) |
| 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 | } |
| ... | @@ -226,7 +193,7 @@ public function bandLinkActivity(Request $request) | ... | @@ -226,7 +193,7 @@ public function bandLinkActivity(Request $request) |
| 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') |
| ... | @@ -240,7 +207,7 @@ public function bandLinkActivity(Request $request) | ... | @@ -240,7 +207,7 @@ public function bandLinkActivity(Request $request) |
| 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,29 +222,29 @@ public function bandLinkActivity(Request $request) | ... | @@ -255,29 +222,29 @@ 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') | ... | ... |
| ... | @@ -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": { |
| ... | @@ -6423,196 +6032,39 @@ | ... | @@ -6423,196 +6032,39 @@ |
| 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,7 +213,6 @@ | ... | @@ -213,7 +213,6 @@ |
| 213 | */ | 213 | */ |
| 214 | 214 | ||
| 215 | 'aliases' => Facade::defaultAliases()->merge([ | 215 | 'aliases' => Facade::defaultAliases()->merge([ |
| 216 | 'EasyWeChat' => Overtrue\LaravelWeChat\EasyWeChat::class, | ||
| 217 | 'GeoIP' => \Torann\GeoIP\Facades\GeoIP::class, | 216 | 'GeoIP' => \Torann\GeoIP\Facades\GeoIP::class, |
| 218 | 217 | ||
| 219 | // 'ExampleClass' => App\Example\ExampleClass::class, | 218 | // 'ExampleClass' => App\Example\ExampleClass::class, | ... | ... |
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