From 20b87b7eab9c600e2445548c4306ea1b8b37b275 Mon Sep 17 00:00:00 2001 From: HelenHuang <LinHuang@pollex.com.tw> Date: 星期一, 06 十二月 2021 12:29:50 +0800 Subject: [PATCH] update#131467: [滿意度評分功能]-客戶進行滿意度評分API串接 --- PAMapp/assets/ts/api/consultant.ts | 116 ++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 69 insertions(+), 47 deletions(-) diff --git a/PAMapp/assets/ts/api/consultant.ts b/PAMapp/assets/ts/api/consultant.ts index 046cf4e..c45db96 100644 --- a/PAMapp/assets/ts/api/consultant.ts +++ b/PAMapp/assets/ts/api/consultant.ts @@ -2,6 +2,9 @@ import { AxiosResponse } from 'axios'; import { AppointmentDetail } from '../models/AppointmentDetail'; import { ConsultantLoginInfo } from '../models/ConsultantLoginInfo'; +import _ from 'lodash'; +import { UserSetting } from '../models/account.model'; +import { Consultants } from '~/assets/ts/models/consultant.model'; // 憿批恥��(TODO: OTP隤����� ���蝙�) export function login(user: any) { @@ -77,18 +80,19 @@ return service.delete('/consultant/favorite/'+agentId, {headers}) } -// 敹��Ⅳ蝬脣� -export function getForgotPasswordLink():Promise<string>{ - return new Promise((resolve, reject)=>{ - resolve('https://www.google.com/'); - }) +// �����Ⅳ���� +export function getImgOfVerification():Promise<string>{ + return service.get('/login/validate/get_img_code',{ responseType : 'arraybuffer' }) + .then(response=>{ + const toBase64 = window.btoa(_.reduce(new Uint8Array(response.data),(data,byte)=>data + String.fromCharCode(byte),'')); + const imgSrc = `data:image/jpeg;base64,${toBase64}`; + return imgSrc; + }); } -// �����Ⅳ���� -export function getVerificationCodeImg():Promise<string>{ - return new Promise((resolve, reject)=>{ - resolve(''); - }) +// 撽�Ⅳ 撽�� +export function getVerificationStatus(imgCode:string):Promise<AxiosResponse<boolean>>{ + return service.get('/login/validate/verify_img_code/'+imgCode); } // 憿批�� @@ -103,51 +107,64 @@ } return service.get('/appointment/getDetail/'+apointmentId, {headers}) } -export interface Consultants { - agentNo: string, - name: string, - img: string, - new: boolean, - avgScore: number, - expertise: string[], - updateTime: Date, - seniority: string, - contactStatus?: string; - latestAppointmentId: number; - role: string; - image?: string; - expertises?: string; + +//���蝙��董����� +export function getUserAccountSetting() : Promise<UserSetting> { + const headers = { + Authorization: 'Bearer ' + localStorage.getItem('id_token') + } + return service.get<UserSetting>('/customer/info', {headers}).then(res => res.data); +} + +//��雿輻�董����� +export function updateAccountSetting(params: any) : any { + const headers = { + Authorization: 'Bearer ' + localStorage.getItem('id_token') + } + return service.put('/customer/info', params ,{headers}).then(res => res.data); +} + +//摰X�脰�遛��漲閰�� + +export function userReviewsConsultants(data: UserReviewsConsultantsParams) { + const headers = { + Authorization: 'Bearer ' + localStorage.getItem('id_token') + } + return service.post('/satisfaction/create', data ,{headers}); } export interface FastQueryParams { - gender: string, + gender : string, communicationStyles: string[], - avgScore: number, - status: string + avgScore : number, + status : string } export interface AppointmentRequests { - phone:string, - email:string, - contactType:string, - gender:string, - age:string, - job:string, - requirement:string, - hopeContactTime:string[], - otherRequirement:string, - agentNo:string, + phone : string, + email : string, + contactType : string, + gender : string, + age : string, + job : string, + requirement : string[], + hopeContactTime: ContactTime[], + agentNo : string, +} +export interface ContactTime { + selectWeekOptions : string[], + selectTimesOptions: string[] } export interface AppointmentParams { - phone?: string, - email?: string, - contactType: string, - gender?: string, - age?: string, - job?: string, - requirement: string, - hopeContactTime?: string, - agentNo: string + phone : string, + email : string, + contactType : string, + gender : string, + age : string, + job : string, + requirement : string, + hopeContactTime: string, + agentNo : string } export interface StrictQueryParams{ gender: string; @@ -172,7 +189,7 @@ new: boolean; } export interface RequestOfLoginSuccess{ - id_token:string; + id_token: string; } export interface LoginRequest { @@ -208,4 +225,9 @@ name: string, /** "SMS"嚗tp������"EMAIL":Otp�email */ contactType: string +} + +export interface UserReviewsConsultantsParams{ + appointmentId:number, + score:number, } \ No newline at end of file -- Gitblit v1.9.3