智慧医疗问答系统前端接口对接与页面功能完善
1、接口对接
首先建立axios请求全局管理类 request.js
// 引入axios
import axios from 'axios';
// 创建一个axios实例,并设置默认配置
const request = axios.create({
baseURL: 'http://localhost:8080/api', // url = base url + request url
timeout: 500000 // 请求超时时间
});
//第二个请求端口号
const backend2 = axios.create({
baseURL: "http://localhost:8081/api",
timeout: 500000, // 请求超时时间
});
设置好请求拦截器和相应拦截器后,所有方法都在该类中写并导出即可:
(1)登陆注册
//登录
export function Login(method, params = {}) {
let url = "/users/login";
let options = {
method: method.toUpperCase(),
url: url,
};
if (method.toUpperCase() === "GET") {
options.params = params;
} else {
options.data = params;
}
return request(options);
}
//注册
export function Register(method, params = {}) {
let url = "/users/register";
let options = {
method: method.toUpperCase(),
url: url,
};
if (method.toUpperCase() === "GET") {
options.params = params;
} else {
options.data = params;
}
return request(options);
}
//返回最大type
export function getMaxType(method, params = {}) {
let url = "/front/getMaxType";
let options = {
method: method.toUpperCase(),
url: url,
};
if (method.toUpperCase() === "GET") {
options.params = params;
} else {
options.data = params;
}
return request(options);
}
//注册
export function register(method, params = {}) {
let url = "/users/register";
let options = {
method: method.toUpperCase(),
url: url,
};
if (method.toUpperCase() === "GET") {
options.params = params;
} else {
options.data = params;
}
return request(options);
}
(2)对话首页换一换按钮
//随机换一换内容
export function randMsg(method, params = {}) {
let url = "/front/getRandomQues";
let options = {
method: method.toUpperCase(),
url: url,
};
if (method.toUpperCase() === "GET") {
options.params = params;
} else {
options.data = params;
}
return request(options);
}
(3)侧边栏历史记录
//获取历史记录侧边栏
export function getHistory(method, params = {}) {
let url = "/front/get_PreRecords";
let options = {
method: method.toUpperCase(),
url: url,
};
if (method.toUpperCase() === "GET") {
options.params = params;
} else {
options.data = params;
}
return request(options);
}
(4)个人主页获取与编辑
//id查询个人信息
export function getUserInfo(method,userId) {
let url = `/users/${userId}`;
let options = {
method: method.toUpperCase(),
url: url,
};
return request(options);
}
//编辑个人信息
export function editUserInfo(method, params = {}) {
let url = "/users";
let options = {
method: method.toUpperCase(),
url: url,
};
if (method.toUpperCase() === "GET") {
options.params = params;
} else {
options.data = params;
}
return request(options);
}
(5)对话主页--问答接口
//chat对话
export function dialogueApi(method, params = {}) {
let url = "/addMessage";
let options = {
method: method.toUpperCase(),
url: url
};
if (method.toUpperCase() === 'GET') {
options.params = params;
} else {
options.data = params;
}
return request(options);
}
//调用x-ray接口
export function xRayApi(method, params = {}) {
let url = "/front/setImageRecords";
let options = {
method: method.toUpperCase(),
url: url,
};
if (method.toUpperCase() === "GET") {
options.params = params;
} else {
options.data = params;
}
return backend2(options);
}
(6)对话主页--反馈
//提交反馈
export function feedBack(method, params = {}) {
let url = "/front/set_feedback";
let options = {
method: method.toUpperCase(),
url: url,
};
if (method.toUpperCase() === "GET") {
options.params = params;
} else {
options.data = params;
}
return request(options);
}
在使用这些函数时,只需在页面script中 导入这些函数,根据需要填充参数调用即可。
2、效果测试
(1)登陆注册
(2)对话首页
(3)对话主页
(4)侧边栏
(5)个人主页