UNPKG

mt-flowbite-react

Version:

Official React components built for Flowbite and Tailwind CSS

147 lines (146 loc) 5.41 kB
"use strict"; '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;