# 發送會議並且紀錄使用API * API ( http-api.service.ts ) ``` //上傳meeting資料 uploadMeetingRequest_t(tRequest: Meeting) { const url = `${this.BaseUrl}/meeting`; return this.http.post(url, tRequest); } //上傳attendee資料 uploadAttendeeRequest_t(tRequest: Attendee): Observable<any> { const url = `${this.BaseUrl}/attendee`; return this.http.post(url, tRequest); } //上傳寄送郵件 SendEmailRequest_t(emailRequest: EmailRequest) { const url = `${this.BaseUrl}/SendEmail`; return this.http.post(url, emailRequest); } ``` * 新增會議 ( calendar-add-dialog.component.ts ) ``` let meetDatas: any = {} meetDatas['m_name'] = this.m_name; var date = new Date(this.date_for_start) date.setHours(date.getHours() + hrs + 24 * 7 * Number(i)) meetDatas['date_for_start'] = date meetDatas['time_for_start'] = Number(this.time_for_start); meetDatas['time_for_end'] = Number(this.time_for_end); meetDatas['documents_id'] = this.p_id; meetDatas['room'] = this.room; this.HttpApiService.uploadMeetingRequest_t(meetDatas) //新增會議API .subscribe(meetRequest => { //會議主席 let attendeeDatas_c: any = {} attendeeDatas_c['meet_id'] = this.meetId.body; attendeeDatas_c['user_id'] = this.chairman_id; attendeeDatas_c['chairman'] = true;//預設 attendeeDatas_c['receive_email'] = false//預設 this.addAttendeeRequest(this.meetId.body, attendeeDatas_c) }) addAttendeeRequest(m_id: any, chairmanData: any): void { this.HttpApiService.uploadAttendeeRequest_t(chairmanData) //新增會議主席API .subscribe( attendeeRequest => { let attendeeDatas: any = {} for (let i = 0; i <= this.selectedList.length - 1; i++) { attendeeDatas['meet_id'] = m_id; attendeeDatas['user_id'] = this.selectedList[i].account_id; attendeeDatas['chairman'] = false; attendeeDatas['receive_email'] = false//預設 this.HttpApiService.uploadAttendeeRequest_t(attendeeDatas) //新增會議參與人員API .subscribe(attendeesRequest => { // console.log("成功新增會議參與人員", attendeesRequest) }, (err: any) => { // console.log('err:', err); } ); } }, (err: any) => { // console.log('err:', err); } ); setTimeout(() => { this.editurl() }, 2000); //返回頁面 ``` * 發送信件 ( calendar-detail.component.ts ) ``` //寄件者帳號 systememail = 'htaeirctest@gmail.com' //固定密碼 systempassword = 'czwucttwoqkijzas' sendEmail(email: any): void { //宣告寄送EMAIL的json格式 let emailRequest: any = {} emailRequest['host'] = 'smtp.gmail.com' emailRequest['port'] = '587' emailRequest['name'] = 'HTA後台系統' emailRequest['username'] = this.systememail emailRequest['password'] = this.systempassword //收件者信箱 emailRequest['to'] = 'c108118213@nkust.edu.tw' emailRequest['subject'] = '會議發送通知' //信件內容 emailRequest['body'] = `<html><body><h2>你好!</h2><h4>會議(${this.meetDatas.body.m_name})已發送,請確認會議內容${email}</h4></body></html>` this.HttpApiService.SendEmailRequest_t(emailRequest) .subscribe(res => { // console.log('成功', res) }, (err: any) => { // console.log('err:', err); } ); } ``` # 前端畫面 * 新增會議 ![](https://i.imgur.com/uLBqU9O.png) * 編輯會議並發送通知 ![](https://i.imgur.com/hyB0ZNW.png) * 會議通知示意圖 ![](https://i.imgur.com/uEk5hnD.png)