$this->id, "title"=> $this->title, "subtitle"=> $this->subtitle, "summary"=> $this->summary, "sign_up_message"=> $this->sign_up_message, "teacher"=> UserApi::getByUuid($this->teacher), "course_count"=>10, "publicity"=> $this->publicity, "start_at"=> $this->start_at, "end_at"=> $this->end_at, "sign_up_start_at"=> $this->sign_up_start_at, "sign_up_end_at"=> $this->sign_up_end_at, "content"=> $this->content, "content_type"=> $this->content_type, "cover"=> $this->cover, "channel_id"=>$this->channel_id, "join"=> $this->join, "number"=> $this->number, "request_exp"=> $this->request_exp, "studio" => StudioApi::getById($this->studio_id), "created_at"=> $this->created_at, "updated_at"=> $this->updated_at, ]; $data['member_count'] = CourseMember::where('course_id',$this->id) ->where('is_current',true)->count(); $data['members'] = CourseMember::where('course_id',$this->id) ->where('is_current',true) ->select(['role','status']) ->get(); $user = AuthApi::current($request); if($user){ $data['my_role'] = CourseMember::where('course_id',$this->id) ->where('is_current',true) ->where('user_id',$user['user_uid']) ->value('role'); } if($this->cover){ $thumb = str_replace('.jpg','_m.jpg',$this->cover); if (App::environment('local')) { $data['cover_url'] = [Storage::url($this->cover),Storage::url($thumb)]; }else{ $data['cover_url'] = [ Storage::temporaryUrl($this->cover, now()->addDays(6)), Storage::temporaryUrl($thumb, now()->addDays(6)), ]; } } if(Str::isUuid($this->cover)){ $coverId = Attachment::find($this->cover); $cover_url = []; if($coverId){ $cover_url[] = Storage::disk('public')->url($coverId->bucket.'/'.$coverId->name); $cover_url[] = Storage::disk('public')->url($coverId->bucket.'/'.$coverId->id.'_s.jpg'); $cover_url[] = Storage::disk('public')->url($coverId->bucket.'/'.$coverId->id.'_m.jpg'); $cover_url[] = Storage::disk('public')->url($coverId->bucket.'/'.$coverId->id.'_l.jpg'); $data['cover_url'] = $cover_url; } } $textbook = Collection::where('uid',$this->anthology_id)->select(['uid','title','owner'])->first(); if($textbook){ $data['anthology_id'] = $textbook->uid; $data['anthology_title'] = $textbook->title; $data['anthology_owner'] = StudioApi::getById($textbook->owner); } if(!empty($this->channel_id)){ $channel = Channel::where('uid',$this->channel_id)->select(['name','owner_uid'])->first(); if($channel){ $data['channel_name'] = $channel->name; $data['channel_owner'] = StudioApi::getById($channel->owner_uid); } } if($request->get('view') === "study" || $request->get('view') === "teach"){ $user = AuthApi::current($request); if($user){ $course_member = CourseMember::where('user_id',$user["user_uid"]) ->where('course_id',$this->id) ->where('is_current',true) ->first(); if($course_member){ $data['my_status'] = $course_member->status; $data['my_status_id'] = $course_member->id; } } }else{ //计算待审核 $data['count_progressing'] = CourseMember::where('course_id',$this->id) ->where('status',"invited") ->where('is_current',true) ->count(); } return $data; } }