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