From cd4a64b39c429f2f5b45cb042d1b66f1cd3904cd Mon Sep 17 00:00:00 2001 From: 劉鈞霖 <benson@gmail.com> Date: 星期一, 15 十一月 2021 18:06:40 +0800 Subject: [PATCH] [ Update ] 更新 navbar 清單 根據 角色 顯示清單 --- PAMapp/assets/ts/api/consultant.ts | 139 +++++++++++++++++++++++++++++++++++++++------ 1 files changed, 119 insertions(+), 20 deletions(-) diff --git a/PAMapp/assets/ts/api/consultant.ts b/PAMapp/assets/ts/api/consultant.ts index a67f1f7..1deb514 100644 --- a/PAMapp/assets/ts/api/consultant.ts +++ b/PAMapp/assets/ts/api/consultant.ts @@ -1,36 +1,22 @@ import axios from 'axios'; import { AxiosRequestConfig, AxiosError, AxiosResponse } from 'axios'; import { MessageBox } from 'element-ui'; +import { functionsIn } from 'lodash'; import Router from 'vue-router'; export const service = axios.create({ - baseURL: 'http://localhost:8080/api', - headers: { - Authorization: 'Bearer ' + localStorage.getItem('id_token') - } + baseURL: process.env.BASE_URL }) service.interceptors.request.use(function (config: AxiosRequestConfig) { - window.$nuxt.$loading.start(); return config; }, function (error: AxiosError) { return Promise.reject(error); }); service.interceptors.response.use(function (response: AxiosResponse) { - window.$nuxt.$loading.finish(); return response; }, function (error: AxiosError) { - console.log(error.request.status) - const errorCode = error.request.status; - if (errorCode === 401) { - window.$nuxt.$router.push('/login'); - } else { - // MessageBox.alert(error.request.statusText, errorCode, { - // confirmButtonText: '蝣箏��' }); - } - - window.$nuxt.$loading.finish(); return Promise.reject(error); }); @@ -46,7 +32,10 @@ // ���“��� export function getFavoriteConsultant() { - return service.get('/consultant/favorite'); + const headers = { + Authorization: 'Bearer ' + localStorage.getItem('id_token') + } + return service.get('/consultant/favorite', {headers}); } // 敹恍�祟� @@ -54,11 +43,68 @@ return service.post('/consultant/fastQuery', data) } -// ��憿批�� -export function addFavoriteConsultant(agentNoList: string[]) { - return service.post('/consultant/favorite', {agentNoList}) +// ������ +export function strictQuery(data:StrictQueryParams):Promise<AxiosResponse<AgentOfStrictQuery>>{ + return service.post('/consultant/strictQuery', data) } +// ��憿批�� +export function addFavoriteConsultant(agentNoList: string[]) { + const headers = { + Authorization: 'Bearer ' + localStorage.getItem('id_token') + } + return service.post('/consultant/favorite', {agentNoList}, {headers}) +} + +// ����岷��� +export function appointmentDemand(data: AppointmentParams) { + const headers = { + Authorization: 'Bearer ' + localStorage.getItem('id_token') + } + return service.post('/appointment/customer/create', data ,{headers}) +} + +//憿批�底蝝啗��� +export function getConsultantDetail(agentNo:string){ + return service.get('/consultant/detail', {params:{agentNo:agentNo}}) +} + +// ��������� +export function getMyAppointmentList():Promise<AxiosResponse<ClientInfo>> { + const headers = { + Authorization: 'Bearer ' + localStorage.getItem('id_token') + } + return service.get('/consultant/getMyAppointment', {headers}); +} + +// 敹��Ⅳ蝬脣� +export function getForgotPasswordLink():Promise<string>{ + return new Promise((resolve, reject)=>{ + resolve('https://www.google.com/'); + }) +} + +// �����Ⅳ���� +export function getVerificationCodeImg():Promise<string>{ + return new Promise((resolve, reject)=>{ + resolve(''); + }) +} + +// 憿批�� +export function logInToConsultant(consultantDto:ConsultantLoginInfo):Promise<boolean>{ + console.log('consultantDto',consultantDto); + return new Promise((resolve, reject)=>{ + setTimeout(()=>{ + resolve(true); + },1000) + }) +} +export interface ConsultantLoginInfo{ + account:string, + password:string, + verificationCode:string, +} export interface Consultants { agentNo: string, name: string, @@ -76,4 +122,57 @@ communicationStyles: string[], avgScore: number, status: string +} + +export interface AppointmentParams { + phone: string, + email: string, + contactType: string, + gender: string, + age: string, + job: string, + requirement: string, + hopeContactTime: string, + otherRequirement: string, + agentNo: string +} +export interface StrictQueryParams{ + gender: string; + avgScore: number; + status: string; //phase 1 disable + area: string; + requirements: string[]; + otherRequirement: string; + seniority: string; + popularTags: string[]; + otherPopularTags: string; +} +export interface AgentOfStrictQuery { + agentNo: string; + name: string; + img: string; + expertise: string[]; + avgScore: number; + contactStatus: null; + updateTime: null; + seniority: string; + new: boolean; +} + +export interface ClientInfo { + id: number, + phone: string, + email: string, + contactType: string, + gender: string, + age: string, + job: string, + requirement: string, + communicateStatus: string, + hopeContactTime: string, + otherRequirement: string, + appointmentDate: Date, + agentNo: string, + customerId: number, + name: string } \ No newline at end of file -- Gitblit v1.8.0