-
Notifications
You must be signed in to change notification settings - Fork 29
/
Copy pathrequestWithToken.js
132 lines (101 loc) · 4.2 KB
/
requestWithToken.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
import axios from "axios";
import request from "./request";
import { Message, Notification } from "element-ui";
import router from "@/router";
import createMessage from "@/components/message";
import store from "@/store";
const requestWithToken = axios.create({
baseURL: "/api",
xsrfCookieName: "atsx-csrf-token", // default
// `xsrfHeaderName` 是承载 xsrf token 的值的 HTTP 头的名称
xsrfHeaderName: "x-csrf-token", // 默认的,
// POST 添加公共请求数据字段
transformRequest(data) {
if (data) {
try {
data = JSON.parse(data);
} catch (error) {}
data.portal_entrance = 1;
}
return JSON.stringify(data);
},
headers: { "Content-Type": "application/json" },
});
requestWithToken.interceptors.response.use(
(response) => {
if (response.data) {
if (response.data.code !== 0) {
createMessage.error(response.data.message);
return Promise.reject(response.data);
}
return Promise.resolve(response.data);
}
return Promise.resolve(response);
},
async (error) => {
if (error.message === "Network Error") {
Notification.error({
title: "网络错误",
});
} else if (error.message && error.message.includes("timeout")) {
Notification.error({ title: "网路超时" });
}
if (error.response) {
if (error.response.status === 401) {
router.push("/user");
store.expireLogin();
createMessage.error("登录过期");
} else if (error.response.status === 405) {
try {
await request.post("/v1/csrf/token");
} catch (error) {
return Promise.reject(error);
}
return request(error.response.config);
}
return Promise.reject(error.response.data);
} else {
return Promise.reject(error);
}
}
);
export const fetchProfile = () => requestWithToken.get("/v1/user/profile");
export const fetchCommonSettings = () =>
requestWithToken.get("/v1/common/setting");
export const fetchLoginStatus = () =>
requestWithToken.get("/v1/user/mobile/login_status");
export const fetchEmailRegisterStatus = (payload) =>
requestWithToken.post("/v1/user/email/register/check", payload);
export const fetchLoginByEmail = (payload) =>
requestWithToken.post("/v1/user/email/login", payload);
export const fetchLoginByPhone = (payload) =>
requestWithToken.post("/v1/user/mobile/login", payload);
export const fetchResume = () => requestWithToken.get("/v1/user/latest/resume");
export const fetchLogout = () => requestWithToken.post("/v1/user/logout");
export const fetchSaveResume = (resume_id, payload) =>
requestWithToken.post(`/v1/user/resumes/${resume_id}`, payload);
// 上传简历和解析
export const fetchUploadToken = () =>
requestWithToken.post("/v1/attachment/upload/tokens");
export const fetchResumeParseTaskData = (id) => {
return requestWithToken.get(`/v1/attachment/resume/parse/tasks/${id}`);
};
export const fetchResumeParseTaskToken = (payload) =>
requestWithToken.post("/v1/attachment/resume/parse/tasks", payload);
// 简历上传作品附件获取保存token
export const fetchResumeAttachmentToken = (payload) =>
requestWithToken.post("/v1/attachment/exchange/tokens", payload);
// 简历作品附件下载
export const fetchResumeWorksDownloadLink = (payload) =>
requestWithToken.post("/v1/attachment/download/links", payload);
// /v1/attachment/exchange/tokens
// GET /api/v1/attachment/resume/parse/tasks 获取简历解析任务`id`
// GET /api/v1/user/latest/resume 获取个人简历
// GET /api/v1/common/setting 获取简历模板编辑配置
// POST /api/v1/user/email/register/check --data-raw '{"email":"[email protected]"}' 检查邮箱是否已注册
// GET /api/v1/user/profile 获取个人邮箱信息
// GET /api/v1/user/mobile/login_status 检查登录状态
// POST /api/v1/user/email/login --data-raw '{"email":"[email protected]","password:"jkljklsd"}' 邮箱登录
// POST /api/v1/user/logout 退出登录
// Post /api/v1/user/resumes/6855865337356044552 保存编辑好的简历 --data-raw '{resume:{},resume_id:'',portal_type: 2}'
// POST /api/v1/user/mobile/login --data-raw {"country_code":"CN_1","mobile":"16692669622","auth_code":"772378","portal_entrance":1}