mt-flowbite-react
Version:
Official React components built for Flowbite and Tailwind CSS
147 lines (146 loc) • 5.41 kB
JavaScript
'use client';
Object.defineProperty(exports, "__esModule", { value: true });
exports.oauth2Login = exports.getMe = exports.loadDashConfig = exports.DeleteById = exports.GetById = exports.mtmApiAddItem = exports.getResView = exports.LoadDashViewConfig = exports.LoadFormConfig = exports.mtmApiPost = exports.httpDelete = exports.httpGetRaw = exports.httpApiGet = exports.mtmApiCall = void 0;
/**过时: 新的使用 memClient */
const session_1 = require("@/store/session");
const lodash_es_1 = require("lodash-es");
const baseApiUrl = 'https://dev18383.yuepa8.com';
const apiBasePath = '/api/v3';
const mtmApiCall = async (resName, action, searchParams, payload) => {
const sessionData = session_1.useSessionStore.getState().sessionData;
const resName2 = (0, lodash_es_1.camelCase)(resName);
let url = `${baseApiUrl}${apiBasePath}/${resName2}/${action}`;
if (searchParams) {
url = `${url}?${new URLSearchParams(searchParams).toString()}`;
}
const res = await fetch(url, {
method: payload ? 'POST' : 'GET',
headers: {
Authorization: `Bearer ${sessionData?.user?.accessToken}`,
...(payload && {
'Content-Type': 'application/json',
}),
},
body: JSON.stringify(payload),
});
const contentType = res.headers.get('Content-Type');
if (contentType && contentType.includes('application/json')) {
return await res.json();
}
else {
throw new Error(`响应不是 ${url} , JSON 格式:, ${await res.text()}`);
}
};
exports.mtmApiCall = mtmApiCall;
const httpApiGet = async (apiPath, searchParams) => {
let url = `${baseApiUrl}${apiBasePath}/${apiPath}`;
if (searchParams) {
url = `${url}?${new URLSearchParams(searchParams).toString()}`;
}
return (0, exports.httpGetRaw)(url);
};
exports.httpApiGet = httpApiGet;
const httpGetRaw = async (url) => {
const sessionData = session_1.useSessionStore.getState().sessionData;
const res = await fetch(url, {
method: 'GET',
headers: {
Authorization: `Bearer ${sessionData?.user?.accessToken}`,
},
});
const contentType = res.headers.get('Content-Type');
if (contentType && contentType.includes('application/json')) {
return await res.json();
}
else {
throw new Error(`响应不是 ${url} , JSON 格式:, ${await res.text()}`);
}
};
exports.httpGetRaw = httpGetRaw;
const httpDelete = async (apiPath, searchParams) => {
const sessionData = session_1.useSessionStore.getState().sessionData;
let url = `${baseApiUrl}${apiBasePath}/${apiPath}`;
if (searchParams) {
url = `${url}?${new URLSearchParams(searchParams).toString()}`;
}
const res = await fetch(url, {
method: 'DELETE',
headers: {
Authorization: `Bearer ${sessionData?.user?.accessToken}`,
},
});
const contentType = res.headers.get('Content-Type');
if (contentType && contentType.includes('application/json')) {
return await res.json();
}
else {
throw new Error(`响应不是 ${url} , JSON 格式:, ${await res.text()}`);
}
};
exports.httpDelete = httpDelete;
const mtmApiPost = async (apiPath, payload) => {
const sessionData = session_1.useSessionStore.getState().sessionData;
const url = `${baseApiUrl}${apiBasePath}/${apiPath}`;
const res = await fetch(url, {
method: 'POST',
headers: {
Authorization: `Bearer ${sessionData?.user?.accessToken}`,
...(payload && {
'Content-Type': 'application/json',
}),
},
body: JSON.stringify(payload),
});
const contentType = res.headers.get('Content-Type');
if (contentType && contentType.includes('application/json')) {
return await res.json();
}
else {
throw new Error(`响应不是 ${url} , JSON 格式:, ${await res.text()}`);
}
};
exports.mtmApiPost = mtmApiPost;
//从后端获取表单配置
const LoadFormConfig = (resName, action) => {
return (0, exports.mtmApiCall)('dash', 'form', undefined, {
res: resName,
action: action,
});
};
exports.LoadFormConfig = LoadFormConfig;
// 加载dash 视图配置
const LoadDashViewConfig = (resName) => {
return (0, exports.mtmApiCall)('dash', 'view', {
res: resName,
});
};
exports.LoadDashViewConfig = LoadDashViewConfig;
const getResView = (resName) => {
return (0, exports.httpGetRaw)(baseApiUrl + `${apiBasePath}/resView/byRes/${resName}`);
};
exports.getResView = getResView;
const mtmApiAddItem = (resName, payload) => {
return (0, exports.mtmApiPost)(resName, payload);
};
exports.mtmApiAddItem = mtmApiAddItem;
const GetById = (resName, id) => {
return (0, exports.mtmApiCall)(resName, id?.toString());
};
exports.GetById = GetById;
const DeleteById = (resName, id) => {
return (0, exports.httpDelete)(`${resName}/${id}`);
};
exports.DeleteById = DeleteById;
const loadDashConfig = () => {
return (0, exports.httpApiGet)('/dash/config');
};
exports.loadDashConfig = loadDashConfig;
const getMe = () => {
return (0, exports.httpGetRaw)(baseApiUrl + '/auth/me');
};
exports.getMe = getMe;
const oauth2Login = (account) => {
return (0, exports.httpGetRaw)(baseApiUrl + '/auth/oauth2Login');
};
exports.oauth2Login = oauth2Login;
;