# 發送會議並且紀錄使用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);
}
);
}
```
# 前端畫面
* 新增會議

* 編輯會議並發送通知

* 會議通知示意圖
