first commit
Some checks failed
Node CI / build (14.x, macOS-latest) (push) Has been cancelled
Node CI / build (14.x, ubuntu-latest) (push) Has been cancelled
Node CI / build (14.x, windows-latest) (push) Has been cancelled
Node CI / build (16.x, macOS-latest) (push) Has been cancelled
Node CI / build (16.x, ubuntu-latest) (push) Has been cancelled
Node CI / build (16.x, windows-latest) (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
coverage CI / build (push) Has been cancelled
Node pnpm CI / build (16.x, macOS-latest) (push) Has been cancelled
Node pnpm CI / build (16.x, ubuntu-latest) (push) Has been cancelled
Node pnpm CI / build (16.x, windows-latest) (push) Has been cancelled

This commit is contained in:
chenshaohua
2025-11-10 16:28:01 +08:00
commit 30c8a7e8cf
465 changed files with 102912 additions and 0 deletions

View File

@@ -0,0 +1,72 @@
import { request } from '@umijs/max';
import { downLoadXlsx } from '@/utils/downloadfile';
export async function getCmsJobList(params?: API.ManagementList.ListParams) {
return request<API.ManagementList.ManagePageResult>(`/api/cms/job/list`, {
method: 'GET',
params: params,
});
}
export async function addCmsJobList(params?: API.ManagementList.AddParams) {
return request<API.ManagementList.ManagePageResult>(`/api/cms/job`, {
method: 'POST',
data: params,
});
}
export async function updateCmsJobList(params?: API.ManagementList.AddParams) {
return request<API.ManagementList.ManagePageResult>(`/api/cms/job`, {
method: 'PUT',
data: params,
});
}
export async function getCmsJobIds(ids: string) {
return request<API.ManagementList.ManageIdResult>(`/api/cms/job/${ids}`, {
method: 'GET',
});
}
export async function getCmsJobDetail(jobId: string) {
return request<API.ManagementList.ManageIdResult>(`/api/cms/job/${jobId}`, {
method: 'GET',
});
}
export async function delCmsJobIds(ids: string) {
return request<API.ManagementList.ManagePageResult>(`/api/cms/job/${ids}`, {
method: 'DELETE',
});
}
export async function exportCmsJob(params?: API.ManagementList.ListParams) {
return downLoadXlsx(`/api/cms/job/export`, { params }, `job_data_${new Date().getTime()}.xlsx`);
}
export async function exportJobApply(params?: API.ManagementList.ListParams) {
return downLoadXlsx(`/api/cms/jobApply/export`, { params }, `job_data_${new Date().getTime()}.xlsx`);
}
export async function exportCmsJobCandidates(ids: string) {
return request<API.ManagementList.ManageIdResult>(`/api/cms/job/candidates`, {
method: 'GET',
params: {
jobId: ids,
},
});
}
export async function addCmsEmployeeConfirmList(params?: API.Management.Hire) {
return request<API.Management.ManagePageResult>(`/api/cms/employeeConfirm`, {
method: 'POST',
data: params,
});
}
export async function addCmsUserWorkExperiencesList(params?: API.Management.Params) {
return request<API.Management.ManageResumePageResult>(`/api/cms/userworkexperiences/list`, {
method: 'GET',
params: params,
});
}

View File

@@ -0,0 +1,73 @@
import { request } from '@umijs/max';
export interface SensitiveWordItem {
id?: number | string;
sensitiveWord: string;
type: string;
}
export interface SensitiveWordListParams {
sensitiveWord?: string;
type?: string;
pageNum?: number;
pageSize?: number;
}
export async function querySensitiveWordList(params?: SensitiveWordListParams) {
return request('/api/cms/sensitiveworddata/list', {
method: 'GET',
params,
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
});
}
export async function addSensitiveWord(data: SensitiveWordItem) {
return request('/api/cms/sensitiveworddata', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data,
});
}
export async function fetchDownloadTemplate() {
return request('/api/cms/sensitiveworddata/downloadModel', {
method: 'POST',
responseType: 'blob',
data: {},
});
}
export async function updateSensitiveWord(data: SensitiveWordItem) {
return request('/api/cms/sensitiveworddata', {
method: 'PUT',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data,
});
}
export async function removeSensitiveWord(ids: string) {
return request(`/api/cms/sensitiveworddata/${ids}`, {
method: 'DELETE',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
});
}
export async function importSensitiveWord(file: File) {
const formData = new FormData();
formData.append('file', file);
return request('/api/cms/sensitiveworddata/exoprt', {
method: 'POST',
// 不显式设置 Content-Type交由浏览器按 multipart/form-data 边界自动设置
data: formData,
});
}

View File

@@ -0,0 +1,52 @@
import { request } from '@umijs/max';
// 行业
export async function getIndustryTrend(params?: API.Analysis.IndustryParams) {
return request<API.Analysis.IndustryResult>('/api/cms/statics/industry', {
method: 'GET',
params,
});
}
// 区域热力图
export async function getIndustryAreaTrend(params: any) {
try {
const response = await request('/api/cms/statics/industryArea', {
method: 'GET',
params,
headers: {
'Content-Type': 'application/json',
},
});
console.log('接口原始响应:', response); // 调试日志
return response; // 兼容不同后端响应格式
} catch (error) {
console.error('接口请求异常:', error);
throw error;
}
}
// 薪资
export async function getSalaryTrend(params?: API.Analysis.IndustryParams) {
return request<API.Analysis.IndustryResult>('/api/cms/statics/salary', {
method: 'GET',
params,
});
}
// 工作年限
export async function getWorkYearTrend(params?: API.Analysis.IndustryParams) {
return request<API.Analysis.IndustryResult>('/api/cms/statics/workYear', {
method: 'GET',
params,
});
}
// 学历趋势
export async function getEducationTrend(params?: API.Analysis.IndustryParams) {
return request<API.Analysis.IndustryResult>('/api/cms/statics/education', {
method: 'GET',
params,
});
}

View File

@@ -0,0 +1,11 @@
// @ts-ignore
/* eslint-disable */
import { request } from '@umijs/max';
/** 此处后端没有提供注释 GET /api/notices */
export async function getNotices(options?: { [key: string]: any }) {
return request<API.NoticeIconList>('/api/notices', {
method: 'GET',
...(options || {}),
});
}

View File

@@ -0,0 +1,12 @@
// @ts-ignore
/* eslint-disable */
// API 更新时间:
// API 唯一标识:
import * as api from './api';
import * as login from './login';
import * as rule from './rule';
export default {
api,
login,
rule,
};

View File

@@ -0,0 +1,38 @@
// @ts-ignore
/* eslint-disable */
import { request } from '@umijs/max';
/** 登录接口 POST /api/login/account */
export async function login(body: API.LoginParams, options?: { [key: string]: any }) {
return request<API.LoginResult>('/api/login/account', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
data: body,
...(options || {}),
});
}
/** 发送验证码 POST /api/login/captcha */
export async function getFakeCaptcha(
// 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
params: API.getFakeCaptchaParams,
options?: { [key: string]: any },
) {
return request<API.FakeCaptcha>('/api/login/captcha', {
method: 'POST',
params: {
...params,
},
...(options || {}),
});
}
/** 登录接口 POST /api/login/outLogin */
export async function outLogin(options?: { [key: string]: any }) {
return request<Record<string, any>>('/api/login/outLogin', {
method: 'POST',
...(options || {}),
});
}

View File

@@ -0,0 +1,42 @@
// @ts-ignore
/* eslint-disable */
import { request } from '@umijs/max';
/** 获取规则列表 GET /api/rule */
export async function rule(
// 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
params: API.ruleParams,
options?: { [key: string]: any },
) {
return request<API.RuleList>('/api/rule', {
method: 'GET',
params: {
...params,
},
...(options || {}),
});
}
/** 新建规则 PUT /api/rule */
export async function updateRule(options?: { [key: string]: any }) {
return request<API.RuleListItem>('/api/rule', {
method: 'PUT',
...(options || {}),
});
}
/** 新建规则 POST /api/rule */
export async function addRule(options?: { [key: string]: any }) {
return request<API.RuleListItem>('/api/rule', {
method: 'POST',
...(options || {}),
});
}
/** 删除规则 DELETE /api/rule */
export async function removeRule(options?: { [key: string]: any }) {
return request<Record<string, any>>('/api/rule', {
method: 'DELETE',
...(options || {}),
});
}

109
src/services/ant-design-pro/typings.d.ts vendored Normal file
View File

@@ -0,0 +1,109 @@
declare namespace API {
type CurrentUser = UserInfo & {
signature?: string;
title?: string;
group?: string;
tags?: { key?: string; label?: string }[];
notifyCount?: number;
unreadCount?: number;
country?: string;
access?: string;
userType?: number;
geographic?: {
province?: { label?: string; key?: string };
city?: { label?: string; key?: string };
};
address?: string;
phone?: string;
};
type ErrorResponse = {
/** 业务约定的错误码 */
errorCode: string;
/** 业务上的错误信息 */
errorMessage?: string;
/** 业务上的请求是否成功 */
success?: boolean;
};
type FakeCaptcha = {
code?: number;
status?: string;
};
type getFakeCaptchaParams = {
/** 手机号 */
phone?: string;
};
type LoginParams = {
username?: string;
password?: string;
uuid?: string;
autoLogin?: boolean;
type?: string;
};
type LoginResult = {
code: number;
msg?: string;
type?: string;
token?: string;
};
type NoticeIconItem = {
id?: string;
extra?: string;
key?: string;
read?: boolean;
avatar?: string;
title?: string;
status?: string;
datetime?: string;
description?: string;
type?: NoticeIconItemType;
};
type NoticeIconItemType = 'notification' | 'message' | 'event';
type NoticeIconList = {
data?: NoticeIconItem[];
/** 列表的内容总数 */
total?: number;
success?: boolean;
};
type PageParams = {
current?: number;
pageSize?: number;
};
type RuleList = {
data?: RuleListItem[];
/** 列表的内容总数 */
total?: number;
success?: boolean;
};
type RuleListItem = {
key?: number;
disabled?: boolean;
href?: string;
avatar?: string;
name?: string;
owner?: string;
desc?: string;
callNo?: number;
status?: number;
updatedAt?: string;
createdAt?: string;
progress?: number;
};
type ruleParams = {
/** 当前的页码 */
current?: number;
/** 页面的容量 */
pageSize?: number;
};
}

View File

@@ -0,0 +1,28 @@
import { request } from '@umijs/max';
export async function getCmsCardList(params?: API.ApplicationProducts.Params) {
return request<API.ApplicationProducts.result>(`/api/cms/card/list`, {
method: 'GET',
params: params,
});
}
export async function addCmsCardList(params?: API.ApplicationProducts.Params) {
return request<API.ApplicationProducts.result>(`/api/cms/card`, {
method: 'POST',
data: params,
});
}
export async function putCmsCardList(params?: API.ApplicationProducts.Params) {
return request<API.ApplicationProducts.result>(`/api/cms/card`, {
method: 'PUT',
data: params,
});
}
export async function delCmsCardList(ids?: string) {
return request<API.ApplicationProducts.result>(`/api/cms/card/${ids}`, {
method: 'DELETE',
});
}

View File

@@ -0,0 +1,33 @@
import { request } from '@umijs/max';
import { downLoadXlsx } from '@/utils/downloadfile';
export async function getCmsAreaList(params?: API.AreaBusiness.CircleParams) {
return request<API.AreaBusiness.CirclePageResult>(`/api/cms/area/list`, {
method: 'GET',
params: params,
});
}
export async function addCmsAreaListRow(params?: API.AreaBusiness.CircleEditParams) {
return request<API.AreaBusiness.CirclePageResult>(`/api/cms/area`, {
method: 'post',
data: params,
});
}
export async function updateCmsAreaListRow(params?: API.AreaBusiness.CircleEditParams) {
return request<API.AreaBusiness.CirclePageResult>(`/api/cms/area`, {
method: 'put',
data: params,
});
}
export async function deleteCmsAreaListRow(ids: number) {
return request<API.AreaPlatForm.LinePageResult>(`/api/cms/area/${ids}`, {
method: 'delete',
});
}
export async function exportCmsAreaListRow(params?: API.AreaBusiness.CircleEditParams) {
return downLoadXlsx(`/api/cms/area/export`, { params }, `dict_data_${new Date().getTime()}.xlsx`);
}

View File

@@ -0,0 +1,39 @@
import { request } from '@umijs/max';
export async function getCmsLineList(params?: API.AreaSubWay.LineParams) {
return request<API.AreaSubWay.LinePageResult>(`/api/cms/line/list`, {
method: 'GET',
params: params
});
}
// 新增
export async function addCmsLineSubWay(params?: API.AreaSubWay.AddLineParams) {
return request<API.AreaSubWay.LinePageResult>(`/api/cms/line`, {
method: 'post',
data: params,
});
}
export async function putCmsLineSubWay(params?: API.AreaSubWay.AddLineParams) {
return request<API.AreaSubWay.LinePageResult>(`/api/cms/line`, {
method: 'put',
data: params,
});
}
export async function deleteCmsLineSubWay(ids: number) {
return request<API.AreaSubWay.LinePageResult>(`/api/cms/line/${ids}`, {
method: 'delete',
});
}
export async function getCmsLineSubWay(ids: number) {
return request<API.AreaSubWay.LinePageResult>(`/api/cms/line/${ids}`, {
method: 'get',
});
}

View File

@@ -0,0 +1,33 @@
import { request } from '@umijs/max';
export async function getCmsLineListPlatForm(params?: API.AreaPlatForm.LineParams) {
return request<API.AreaPlatForm.LinePageResult>(`/api/cms/station/list`, {
method: 'GET',
params: params
});
}
// 新增
export async function addCmsLinePlatForm(params?: API.AreaPlatForm.AddLineParams) {
return request<API.AreaPlatForm.LinePageResult>(`/api/cms/station`, {
method: 'post',
data: params,
});
}
export async function putCmsLinePlatForm(params?: API.AreaPlatForm.AddLineParams) {
return request<API.AreaPlatForm.LinePageResult>(`/api/cms/station`, {
method: 'put',
data: params,
});
}
export async function deleteCmsLinePlatForm(ids: number) {
return request<API.AreaPlatForm.LinePageResult>(`/api/cms/station/${ids}`, {
method: 'delete',
});
}

View File

@@ -0,0 +1,43 @@
import { request } from '@umijs/max';
import { downLoadXlsx } from '@/utils/downloadfile';
export async function getCmsIndustryList(params?: API.ClassifyIndustry.Params) {
return request<API.ClassifyIndustry.IndustryResult>(`/api/cms/industry/list`, {
method: 'GET',
params: params,
});
}
export async function delCmsIndustryList(industryId?: string) {
return request<API.ClassifyIndustry.IndustryResult>(`/api/cms/industry/${industryId}`, {
method: 'DELETE',
});
}
export async function getCmsIndustryTreeList() {
return request(`/api/cms/industry/treeselect`, {
method: 'GET',
});
}
export async function addCmsIndustryIndustryt(params?: API.ClassifyIndustry.Params) {
return request<API.ClassifyIndustry.IndustryTreeResult>(`/api/cms/industry`, {
method: 'POST',
data: params,
});
}
export async function updateCmsIndustryIndustryt(params?: API.ClassifyIndustry.Params) {
return request<API.ClassifyIndustry.IndustryTreeResult>(`/api/cms/industry`, {
method: 'PUT',
data: params,
});
}
export async function exportCmsIndustry(params?: API.ClassifyIndustry.Params) {
return downLoadXlsx(
`/api/cms/industry/export`,
{ params },
`dict_data_${new Date().getTime()}.xlsx`,
);
}

View File

@@ -0,0 +1,17 @@
import { request } from '@umijs/max';
import { downLoadXlsx } from '@/utils/downloadfile';
export async function getCmsJobTitleList(params?: API.ClassifyJobs.Params) {
return request<API.ClassifyJobs.Result>(`/api/cms/job/titile/list`, {
method: 'GET',
params: params,
});
}
export async function exportCmsJobTitleList(params?: API.ClassifyJobs.Params) {
return downLoadXlsx(
`/api/cms/job/titile/export`,
{ params },
`dict_data_${new Date().getTime()}.xlsx`,
);
}

View File

@@ -0,0 +1,38 @@
import { request } from '@umijs/max';
// 获取职位树形选择数据
export async function getJobTitleTreeSelect() {
return request('/api/app/common/jobTitle/treeselect', {
method: 'GET',
});
}
// 获取热门岗位推荐数据
export async function getJobRecommend() {
return request('/api/cms/job/recommend', {
method: 'GET',
params: {
order: 2
}
});
}
// 获取职位列表数据
export async function getJobList(jobCategory: string) {
return request('/api/cms/job/recommend', {
method: 'GET',
params: {
order: 0,
isPublish: 1,
jobCategory: jobCategory
}
});
}
// 添加用户工作经历
export async function addUserWorkExperience(params: { companyName: string; position?: string; startDate?: string; endDate?: string; description?: string }) {
return request('/api/cms/userworkexperiences', {
method: 'POST',
data: params,
});
}

View File

@@ -0,0 +1,40 @@
import { request } from '@umijs/max';
import { downLoadXlsx } from '@/utils/downloadfile';
export async function getCmsCompanyList(params?: API.CompanyList.Params) {
return request<API.CompanyList.CompanyListResult>(`/api/cms/company/list`, {
method: 'GET',
params: params,
});
}
export async function delCmsCompanyList(companyIds?: string) {
return request<API.CompanyList.CompanyListResult>(`/api/cms/company/${companyIds}`, {
method: 'DELETE',
});
}
export async function addCmsCompanyList(params?: API.CompanyList.Params) {
return request<API.CompanyList.CompanyListResult>(`/api/cms/company`, {
method: 'POST',
data: params,
});
}
export async function putCmsCompanyList(params?: API.CompanyList.Params) {
return request<API.CompanyList.CompanyListResult>(`/api/cms/company`, {
method: 'PUT',
data: params,
});
}
export async function exportCmsCompanyList(params?: API.CompanyList.Params) {
return downLoadXlsx(`/cms/company/export`, { params }, `dict_data_${new Date().getTime()}.xlsx`);
}
export async function getCmsCompanyDetail(companyId: number | string) {
return request<any>(`/api/cms/company/${companyId}`, {
method: 'GET',
params: { companyId },
});
}

View File

@@ -0,0 +1,30 @@
import { request } from '@umijs/max';
export interface CompanyApprovalParams {
companyId: number | string;
status: 1 | 2; // 1 审核通过, 2 审核未通过
notPassReason?: string;
}
export async function postCompanyApproval(params: CompanyApprovalParams) {
return request<any>(`/api/system/user/approval`, {
method: 'POST',
data: params,
});
}
export async function getCompanyReviewStats() {
return request<{ code: number; data: { passed: number; rejected: number } }>(
'/api/cms/company/review/stats',
{ method: 'GET' }
);
}
export async function getCompanyReviewList(params: any) {
return request<{ code: number; total: number; rows: any[] }>(
'/api/cms/company/review/list',
{ method: 'GET', params }
);
}

View File

@@ -0,0 +1,45 @@
import { request } from '@umijs/max';
import { downLoadXlsx } from '@/utils/downloadfile';
export async function getCmsFairList(params?: API.JobFairList.Params) {
return request<API.JobFairList.JobFairListResult>(`/api/cms/fair/list`, {
method: 'GET',
params: params,
});
}
export async function addCmsFairList(params?: API.JobFairList.JobFairListRows) {
return request<API.JobFairList.JobFairListResult>(`/api/cms/fair`, {
method: 'POST',
data: params,
});
}
export async function putCmsFairList(params?: API.JobFairList.Params) {
return request<API.JobFairList.JobFairListResult>(`/api/cms/fair`, {
method: 'PUT',
data: params,
});
}
export async function delCmsFairList(ids?: string) {
return request<API.JobFairList.JobFairListResult>(`/api/cms/fair/${ids}`, {
method: 'DELETE',
});
}
export async function exportCmsFairList(params?: API.JobFairList.Params) {
return downLoadXlsx(`/api/cms/fair/export`, { params }, `dict_data_${new Date().getTime()}.xlsx`);
}
export async function getCmsFairId(jobFairId?: string) {
return request<API.JobFairList.ListInfoResult>(`/api/cms/fair/${jobFairId}`, {
method: 'GET',
});
}
export async function getCmstitilelist(jobFairId?: string) {
return request<API.JobFairList.ListInfoResult>(`/api/cms/industry/list`, {
method: 'GET',
});
}

View File

@@ -0,0 +1,26 @@
import { request } from '@umijs/max';
export interface JobCompetitivenessRadar {
skill?: number;
experience?: number;
education?: number;
salary?: number;
age?: number;
location?: number;
}
export interface GetJobCompetitivenessResponse {
totalApplicants?: number;
matchScore?: number; // 0-100
rank?: number;
percentile?: number; // 0-100
radarChart?: JobCompetitivenessRadar;
}
export async function getJobCompetitiveness(jobId: number) {
return request<GetJobCompetitivenessResponse>(`/app/job/competitiveness/${jobId}`, {
method: 'GET'
});
}

View File

@@ -0,0 +1,129 @@
import { request } from '@umijs/max';
/** 获取用户信息 GET /api/cms/appUser/getUserInfo */
export async function getAppUserInfo(options?: Record<string, any>) {
return request<API.AppUserInfoResult>('/api/cms/appUser/getUserInfo', {
method: 'GET',
...(options || {}),
});
}
/** 获取我的统计数据 GET /api/cms/appUser/getMyTj */
export async function getMyTj(options?: Record<string, any>) {
return request<API.MyTjResult>('/api/cms/appUser/getMyTj', {
method: 'GET',
...(options || {}),
});
}
/** 获取已投递岗位列表 GET /api/cms/job/getAppUserYhsq */
export async function getAppUserYhsq(params: { userId: number }, options?: Record<string, any>) {
return request<API.AppUserYhscResult>('/api/cms/job/getAppUserYhsq', {
method: 'GET',
params,
...(options || {}),
});
}
/** 获取收藏岗位列表 GET /api/cms/job/getAppUserYhsc */
export async function getAppUserYhsc(params: { userId: number }, options?: Record<string, any>) {
return request<API.AppUserYhscResult>('/api/cms/job/getAppUserYhsc', {
method: 'GET',
params,
...(options || {}),
});
}
/** 获取访问足迹岗位列表 GET /api/cms/job/getAppUserYhfwzj */
export async function getAppUserYhfwzj(params: { userId: number }, options?: Record<string, any>) {
return request<API.AppUserYhscResult>('/api/cms/job/getAppUserYhfwzj', {
method: 'GET',
params,
...(options || {}),
});
}
/** 收藏岗位 POST /api/job-portal/list */
export async function favoriteJob(params: { jobId: number; userId: number }, options?: Record<string, any>) {
return request<API.Result>('/api/cms/job/collection', {
method: 'POST',
data: params,
...(options || {}),
});
}
/** 取消收藏岗位 DELETE /app/company/card/collection */
export async function unfavoriteJob(params: { jobId: number; userId: number }, options?: Record<string, any>) {
return request<API.Result>('/api/cms/job/collectionCancel', {
method: 'POST',
data: params,
...(options || {}),
});
}
/** 申请岗位 POST /api/cms/jobApply/apply */
export async function applyJob(params: { jobId: string; userId: string }, options?: Record<string, any>) {
return request<API.Result>('/api/cms/jobApply', {
method: 'PUT',
data: params,
...(options || {}),
});
}
/** 获取消息列表 GET /api/cms/appUser/getMessages */
export async function getMessages(params?: { pageNum?: number; pageSize?: number; noticeType?: number; isRead?: number }, options?: Record<string, any>) {
return request<API.MessageListResult>('/api/cms/notice/appNoticList', {
method: 'GET',
params,
...(options || {}),
});
}
/** 获取未读消息数量 GET /api/cms/appUser/getUnreadCount */
export async function getUnreadCount(options?: Record<string, any>) {
return request<API.UnreadCountResult>('/api/cms/notice/appNoticReadList', {
method: 'GET',
...(options || {}),
});
}
/** 获取消息总数和未读条数 GET /cms/notice/noticTotal */
export async function getMessageTotal(options?: Record<string, any>) {
return request<API.MessageTotalResult>('/api/cms/notice/noticTotal', {
method: 'GET',
...(options || {}),
});
}
/** 获取已读消息列表 GET /cms/notice/appNoticYdList */
export async function getReadMessages(params?: { pageNum?: number; pageSize?: number }, options?: Record<string, any>) {
return request<API.MessageListResult>('/api/cms/notice/appNoticYdList', {
method: 'GET',
params,
...(options || {}),
});
}
/** 标记消息为已读 POST /api/cms/appUser/markMessageRead */
export async function markMessageRead(id: number, options?: Record<string, any>) {
return request<API.Result>(`/api/cms/notice/read/sysNotice?id=${id}`, {
method: 'POST',
...(options || {}),
});
}
/** 标记所有消息为已读 POST /api/cms/appUser/markAllMessagesRead */
export async function markAllMessagesRead(id?: Record<string, any>) {
return request<API.Result>('/api/cms/appUser/markAllMessagesRead', {
method: 'POST',
});
}
/** 删除消息 DELETE /api/cms/appUser/deleteMessage */
export async function deleteMessage(ids: number, options?: Record<string, any>) {
return request<API.Result>(`/api/cms/notice/deleteNotice/${ids}`, {
method: 'DELETE',
...(options || {}),
});
}

View File

@@ -0,0 +1,68 @@
import { request } from '@umijs/max';
import { downLoadXlsx } from '@/utils/downloadfile';
// 查询系统访问记录列表
export async function getLogininforList(params?: API.Logs.LogininforListParams) {
return request<API.Logs.LogininforPageResult>('/api/monitor/logininfor/list', {
method: 'GET',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
params
});
}
// 查询系统访问记录详细
export function getLogininfor(infoId: number) {
return request<API.Logs.LogininforInfoResult>(`/api/monitor/logininfor/${infoId}`, {
method: 'GET'
});
}
// 新增系统访问记录
export async function addLogininfor(params: API.Logs.Logininfor) {
return request<API.Result>('/api/monitor/logininfor', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: params
});
}
// 修改系统访问记录
export async function updateLogininfor(params: API.Logs.Logininfor) {
return request<API.Result>('/api/monitor/logininfor', {
method: 'PUT',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: params
});
}
// 删除系统访问记录
export async function removeLogininfor(ids: string) {
return request<API.Result>(`/api/monitor/logininfor/${ids}`, {
method: 'DELETE'
});
}
// 导出系统访问记录
export function exportLogininfor(params?: API.Logs.LogininforListParams) {
return downLoadXlsx(`/api/monitor/logininfor/export`, { params }, `logininfor_${new Date().getTime()}.xlsx`);
}
// 解锁用户登录状态
export function unlockLogininfor(userName: string) {
return request<API.Result>('/api/monitor/logininfor/unlock/' + userName, {
method: 'get'
})
}
// 清空登录日志
export function cleanLogininfor() {
return request<API.Result>('/api/monitor/logininfor/clean', {
method: 'delete'
})
}

View File

@@ -0,0 +1,45 @@
import { request } from '@umijs/max';
import { downLoadXlsx } from '@/utils/downloadfile';
// 查询操作日志记录列表
export async function getMobileLogList(params?: API.Logs.MobilelogListParams) {
return request<API.Logs.OperlogPageResult>('/api/cms/operlog/list', {
method: 'GET',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
params
});
}
// 修改操作日志记录
export async function updateMobilelog(params: API.Logs.Mobilelog) {
return request<API.Result>('/api/cms/operlog', {
method: 'PUT',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: params
});
}
// 新增操作日志记录
export async function addMobilelog(params: API.Logs.Mobilelog) {
return request<API.Result>('/api/cms/operlog', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: params
});
}
// 删除操作日志记录
export async function removeMobilelog(ids: string) {
return request<API.Result>(`/api/cms/operlog/${ids}`, {
method: 'DELETE'
});
}
export function exportMobilelog(params?: API.Logs.OperlogListParams) {
return downLoadXlsx(`/api/cms/operlog/export`, { params }, `operlog_${new Date().getTime()}.xlsx`);
}

View File

@@ -0,0 +1,68 @@
import { request } from '@umijs/max';
import { downLoadXlsx } from '@/utils/downloadfile';
// 查询系统访问记录列表
export async function getLogininforList(params?: API.Logs.MobileLogininforListParams) {
return request<API.Logs.LogininforPageResult>('/api/cms/logininfor/list', {
method: 'GET',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
params
});
}
// 查询系统访问记录详细
export function getLogininfor(infoId: number) {
return request<API.Logs.LogininforInfoResult>(`/api/cms/logininfor/${infoId}`, {
method: 'GET'
});
}
// 新增系统访问记录
export async function addLogininfor(params: API.Logs.MobileLogininfor) {
return request<API.Result>('/api/cms/logininfor', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: params
});
}
// 修改系统访问记录
export async function updateLogininfor(params: API.Logs.MobileLogininfor) {
return request<API.Result>('/api/cms/logininfor', {
method: 'PUT',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: params
});
}
// 删除系统访问记录
export async function removeLogininfor(ids: string) {
return request<API.Result>(`/api/cms/logininfor/${ids}`, {
method: 'DELETE'
});
}
// 导出系统访问记录
export function exportLogininfor(params?: API.Logs.MobileLogininforListParams) {
return downLoadXlsx(`/api/cms/logininfor/export`, { params }, `logininfor_${new Date().getTime()}.xlsx`);
}
// 解锁用户登录状态
export function unlockLogininfor(userName: string) {
return request<API.Result>('/api/cms/logininfor/unlock/' + userName, {
method: 'get'
})
}
// 清空登录日志
export function cleanLogininfor() {
return request<API.Result>('/api/cms/logininfor/clean', {
method: 'delete'
})
}

View File

@@ -0,0 +1,60 @@
import { request } from '@umijs/max';
import { downLoadXlsx } from '@/utils/downloadfile';
// 查询操作日志记录列表
export async function getOperlogList(params?: API.Logs.OperlogListParams) {
return request<API.Logs.OperlogPageResult>('/api/monitor/operlog/list', {
method: 'GET',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
params
});
}
// 查询操作日志记录详细
export function getOperlog(operId: number) {
return request<API.Logs.OperlogInfoResult>(`/api/monitor/operlog/${operId}`, {
method: 'GET'
});
}
// 新增操作日志记录
export async function addOperlog(params: API.Logs.Operlog) {
return request<API.Result>('/api/monitor/operlog', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: params
});
}
// 修改操作日志记录
export async function updateOperlog(params: API.Logs.Operlog) {
return request<API.Result>('/api/monitor/operlog', {
method: 'PUT',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: params
});
}
// 删除操作日志记录
export async function removeOperlog(ids: string) {
return request<API.Result>(`/api/monitor/operlog/${ids}`, {
method: 'DELETE'
});
}
export async function cleanAllOperlog() {
return request<API.Result>(`/api/monitor/operlog/clean`, {
method: 'DELETE'
});
}
// 导出操作日志记录
export function exportOperlog(params?: API.Logs.OperlogListParams) {
return downLoadXlsx(`/api/monitor/operlog/export`, { params }, `operlog_${new Date().getTime()}.xlsx`);
}

View File

@@ -0,0 +1,23 @@
import { request } from '@umijs/max';
import { downLoadXlsx } from '@/utils/downloadfile';
export async function getCmsAppUserList(params?: API.MobileUser.ListParams) {
return request<API.MobileUser.ListResult>(`/api/cms/appUser/list`, {
method: 'GET',
params: params,
});
}
export async function getCmsAppUser(userId?: string) {
return request<API.MobileUser.ListResult>(`/api/cms/appUser/${userId}`, {
method: 'GET',
});
}
export async function exportCmsAppUserExport(params?: API.MobileUser.ListParams) {
return downLoadXlsx(
`/api/cms/appUser/export`,
{ params },
`job_data_${new Date().getTime()}.xlsx`,
);
}

View File

@@ -0,0 +1,17 @@
import { request } from '@umijs/max';
/* *
*
* @author whiteshader@163.com
* @datetime 2021/09/16
*
* */
// 获取服务器信息
export async function getCacheInfo() {
return request<API.Monitor.CacheInfoResult>('/api/monitor/cache', {
method: 'GET',
});
}

View File

@@ -0,0 +1,51 @@
import { request } from '@umijs/max';
/* *
*
* @author whiteshader@163.com
* @datetime 2022/06/27
*
* */
// 查询缓存名称列表
export function listCacheName() {
return request<API.Monitor.CacheNamesResponse>('/api/monitor/cache/getNames', {
method: 'get'
})
}
// 查询缓存键名列表
export function listCacheKey(cacheName: string) {
return request<API.Monitor.CacheKeysResponse>('/api/monitor/cache/getKeys/' + cacheName, {
method: 'get'
})
}
// 查询缓存内容
export function getCacheValue(cacheName: string, cacheKey: string) {
return request<API.Monitor.CacheValueResponse>('/api/monitor/cache/getValue/' + cacheName + '/' + cacheKey, {
method: 'get'
})
}
// 清理指定名称缓存
export function clearCacheName(cacheName: string) {
return request<API.Result>('/api/monitor/cache/clearCacheName/' + cacheName, {
method: 'delete'
})
}
// 清理指定键名缓存
export function clearCacheKey(cacheKey: string) {
return request<API.Result>('/api/monitor/cache/clearCacheKey/' + cacheKey, {
method: 'delete'
})
}
// 清理全部缓存
export function clearCacheAll() {
return request<API.Result>('/api/monitor/cache/clearCacheAll', {
method: 'delete'
})
}

View File

@@ -0,0 +1,73 @@
import { request } from '@umijs/max';
import { downLoadXlsx } from '@/utils/downloadfile';
/**
* 定时任务调度 API
*
* @author whiteshader@163.com
* @date 2023-02-07
*/
// 查询定时任务调度列表
export async function getJobList(params?: API.Monitor.JobListParams) {
return request<API.Monitor.JobPageResult>('/api/monitor/job/list', {
method: 'GET',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
params
});
}
// 查询定时任务调度详细
export function getJob(jobId: number) {
return request<API.Monitor.JobInfoResult>(`/api/monitor/job/${jobId}`, {
method: 'GET'
});
}
// 新增定时任务调度
export async function addJob(params: API.Monitor.Job) {
return request<API.Result>('/api/monitor/job', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: params
});
}
// 修改定时任务调度
export async function updateJob(params: API.Monitor.Job) {
return request<API.Result>('/api/monitor/job', {
method: 'PUT',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: params
});
}
// 删除定时任务调度
export async function removeJob(ids: string) {
return request<API.Result>(`/api/monitor/job/${ids}`, {
method: 'DELETE'
});
}
// 导出定时任务调度
export function exportJob(params?: API.Monitor.JobListParams) {
return downLoadXlsx(`/api/monitor/job/export`, { params }, `job_${new Date().getTime()}.xlsx`);
}
// 定时任务立即执行一次
export async function runJob(jobId: number, jobGroup: string) {
const job = {
jobId,
jobGroup,
};
return request('/api/monitor/job/run', {
method: 'PUT',
data: job,
});
}

View File

@@ -0,0 +1,40 @@
import { request } from '@umijs/max';
import { downLoadXlsx } from '@/utils/downloadfile';
/**
* 定时任务调度日志 API
*
* @author whiteshader
* @date 2023-02-07
*/
// 查询定时任务调度日志列表
export async function getJobLogList(params?: API.Monitor.JobLogListParams) {
return request<API.Monitor.JobLogPageResult>('/api/schedule/job/log/list', {
method: 'GET',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
params
});
}
// 删除定时任务调度日志
export async function removeJobLog(jobLogId: string) {
return request<API.Result>(`/api/schedule/job/log/${jobLogId}`, {
method: 'DELETE'
});
}
// 清空调度日志
export function cleanJobLog() {
return request('/api/schedule/job/log/clean', {
method: 'delete'
})
}
// 导出定时任务调度日志
export function exportJobLog(params?: API.Monitor.JobLogListParams) {
return downLoadXlsx(`/api/monitor/jobLog/export`, { params }, `joblog_${new Date().getTime()}.xlsx`);
}

View File

@@ -0,0 +1,23 @@
import { request } from '@umijs/max';
/* *
*
* @author whiteshader@163.com
* @datetime 2021/09/16
*
* */
// 查询在线用户列表
export async function getOnlineUserList(params?: API.Monitor.OnlineUserListParams) {
return request<API.Monitor.OnlineUserPageResult>('/api/monitor/online/list', {
method: 'GET',
params,
});
}
// 强退用户
export async function forceLogout(tokenId: string) {
return request(`/api/monitor/online/${tokenId}`, {
method: 'DELETE',
});
}

View File

@@ -0,0 +1,16 @@
import { request } from '@umijs/max';
/* *
*
* @author whiteshader@163.com
* @datetime 2023/02/07
*
* */
// 获取服务器信息
export async function getServerInfo() {
return request('/api/monitor/service', {
method: 'GET',
});
}

159
src/services/session.ts Normal file
View File

@@ -0,0 +1,159 @@
import { createIcon } from '@/utils/IconUtil';
import { MenuDataItem } from '@ant-design/pro-components';
import { request } from '@umijs/max';
import React, { lazy } from 'react';
let remoteMenu: any = null;
export function getRemoteMenu() {
return remoteMenu;
}
export function setRemoteMenu(data: any) {
remoteMenu = data;
}
function patchRouteItems(route: any, menu: any, parentPath: string) {
for (const menuItem of menu) {
if (menuItem.component === 'Layout' || menuItem.component === 'ParentView') {
if (menuItem.routes) {
let hasItem = false;
let newItem = null;
for (const routeChild of route.routes) {
if (routeChild.path === menuItem.path) {
hasItem = true;
newItem = routeChild;
}
}
if (!hasItem) {
newItem = {
path: menuItem.path,
routes: [],
children: []
}
route.routes.push(newItem)
}
patchRouteItems(newItem, menuItem.routes, parentPath + menuItem.path + '/');
}
} else {
const names: string[] = menuItem.component.split('/');
let path = '';
names.forEach(name => {
if (path.length > 0) {
path += '/';
}
if (name !== 'index') {
path += name.at(0)?.toUpperCase() + name.substr(1);
} else {
path += name;
}
})
if (!path.endsWith('.tsx')) {
path += '.tsx'
}
if (route.routes === undefined) {
route.routes = [];
}
if (route.children === undefined) {
route.children = [];
}
const newRoute = {
element: React.createElement(lazy(() => import('@/pages/' + path))),
path: parentPath + menuItem.path,
}
route.children.push(newRoute);
route.routes.push(newRoute);
}
}
}
export function patchRouteWithRemoteMenus(routes: any) {
if (remoteMenu === null) { return; }
let proLayout = null;
for (const routeItem of routes) {
if (routeItem.id === 'ant-design-pro-layout') {
proLayout = routeItem;
break;
}
}
patchRouteItems(proLayout, remoteMenu, '');
}
/** 获取当前的用户 GET /api/getUserInfo */
export async function getUserInfo(options?: Record<string, any>) {
return request<API.UserInfoResult>('/api/getInfo', {
method: 'GET',
...(options || {}),
});
}
// 刷新方法
export async function refreshToken() {
return request('/api/auth/refresh', {
method: 'post'
})
}
export async function getRouters(): Promise<any> {
return request('/api/getRouters');
}
export function convertCompatRouters(childrens: API.RoutersMenuItem[]): any[] {
return childrens.map((item: API.RoutersMenuItem) => {
return {
path: item.path,
icon: createIcon(item.meta.icon),
// icon: item.meta.icon,
name: item.meta.title,
routes: item.children ? convertCompatRouters(item.children) : undefined,
hideChildrenInMenu: item.hidden,
hideInMenu: item.hidden,
component: item.component,
authority: item.perms,
};
});
}
export async function getRoutersInfo(): Promise<MenuDataItem[]> {
return getRouters().then((res) => {
if (res.code === 200) {
return convertCompatRouters(res.data);
} else {
return [];
}
});
}
export function getMatchMenuItem(
path: string,
menuData: MenuDataItem[] | undefined,
): MenuDataItem[] {
if (!menuData) return [];
let items: MenuDataItem[] = [];
menuData.forEach((item) => {
if (item.path) {
if (item.path === path) {
items.push(item);
return;
}
if (path.length >= item.path?.length) {
const exp = `${item.path}/*`;
if (path.match(exp)) {
if (item.routes) {
const subpath = path.substr(item.path.length + 1);
const subItem: MenuDataItem[] = getMatchMenuItem(subpath, item.routes);
items = items.concat(subItem);
} else {
const paths = path.split('/');
if (paths.length >= 2 && paths[0] === item.path && paths[1] === 'index') {
items.push(item);
}
}
}
}
}
});
return items;
}

View File

@@ -0,0 +1,12 @@
// @ts-ignore
/* eslint-disable */
// API 更新时间:
// API 唯一标识:
import * as pet from './pet';
import * as store from './store';
import * as user from './user';
export default {
pet,
store,
user,
};

153
src/services/swagger/pet.ts Normal file
View File

@@ -0,0 +1,153 @@
// @ts-ignore
/* eslint-disable */
import { request } from '@umijs/max';
/** Update an existing pet PUT /pet */
export async function updatePet(body: API.Pet, options?: { [key: string]: any }) {
return request<any>('/pet', {
method: 'PUT',
headers: {
'Content-Type': 'application/json',
},
data: body,
...(options || {}),
});
}
/** Add a new pet to the store POST /pet */
export async function addPet(body: API.Pet, options?: { [key: string]: any }) {
return request<any>('/pet', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
data: body,
...(options || {}),
});
}
/** Find pet by ID Returns a single pet GET /pet/${param0} */
export async function getPetById(
// 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
params: API.getPetByIdParams,
options?: { [key: string]: any },
) {
const { petId: param0, ...queryParams } = params;
return request<API.Pet>(`/pet/${param0}`, {
method: 'GET',
params: { ...queryParams },
...(options || {}),
});
}
/** Updates a pet in the store with form data POST /pet/${param0} */
export async function updatePetWithForm(
// 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
params: API.updatePetWithFormParams,
body: { name?: string; status?: string },
options?: { [key: string]: any },
) {
const { petId: param0, ...queryParams } = params;
const formData = new FormData();
Object.keys(body).forEach((ele) => {
const item = (body as any)[ele];
if (item !== undefined && item !== null) {
formData.append(
ele,
typeof item === 'object' && !(item instanceof File) ? JSON.stringify(item) : item,
);
}
});
return request<any>(`/pet/${param0}`, {
method: 'POST',
params: { ...queryParams },
data: formData,
...(options || {}),
});
}
/** Deletes a pet DELETE /pet/${param0} */
export async function deletePet(
// 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
params: API.deletePetParams & {
// header
api_key?: string;
},
options?: { [key: string]: any },
) {
const { petId: param0, ...queryParams } = params;
return request<any>(`/pet/${param0}`, {
method: 'DELETE',
headers: {},
params: { ...queryParams },
...(options || {}),
});
}
/** uploads an image POST /pet/${param0}/uploadImage */
export async function uploadFile(
// 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
params: API.uploadFileParams,
body: { additionalMetadata?: string; file?: string },
file?: File,
options?: { [key: string]: any },
) {
const { petId: param0, ...queryParams } = params;
const formData = new FormData();
if (file) {
formData.append('file', file);
}
Object.keys(body).forEach((ele) => {
const item = (body as any)[ele];
if (item !== undefined && item !== null) {
formData.append(
ele,
typeof item === 'object' && !(item instanceof File) ? JSON.stringify(item) : item,
);
}
});
return request<API.ApiResponse>(`/pet/${param0}/uploadImage`, {
method: 'POST',
params: { ...queryParams },
data: formData,
requestType: 'form',
...(options || {}),
});
}
/** Finds Pets by status Multiple status values can be provided with comma separated strings GET /pet/findByStatus */
export async function findPetsByStatus(
// 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
params: API.findPetsByStatusParams,
options?: { [key: string]: any },
) {
return request<API.Pet[]>('/pet/findByStatus', {
method: 'GET',
params: {
...params,
},
...(options || {}),
});
}
/** Finds Pets by tags Muliple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. GET /pet/findByTags */
export async function findPetsByTags(
// 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
params: API.findPetsByTagsParams,
options?: { [key: string]: any },
) {
return request<API.Pet[]>('/pet/findByTags', {
method: 'GET',
params: {
...params,
},
...(options || {}),
});
}

View File

@@ -0,0 +1,48 @@
// @ts-ignore
/* eslint-disable */
import { request } from '@umijs/max';
/** Returns pet inventories by status Returns a map of status codes to quantities GET /store/inventory */
export async function getInventory(options?: { [key: string]: any }) {
return request<Record<string, any>>('/store/inventory', {
method: 'GET',
...(options || {}),
});
}
/** Place an order for a pet POST /store/order */
export async function placeOrder(body: API.Order, options?: { [key: string]: any }) {
return request<API.Order>('/store/order', {
method: 'POST',
data: body,
...(options || {}),
});
}
/** Find purchase order by ID For valid response try integer IDs with value >= 1 and <= 10. Other values will generated exceptions GET /store/order/${param0} */
export async function getOrderById(
// 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
params: API.getOrderByIdParams,
options?: { [key: string]: any },
) {
const { orderId: param0, ...queryParams } = params;
return request<API.Order>(`/store/order/${param0}`, {
method: 'GET',
params: { ...queryParams },
...(options || {}),
});
}
/** Delete purchase order by ID For valid response try integer IDs with positive integer value. Negative or non-integer values will generate API errors DELETE /store/order/${param0} */
export async function deleteOrder(
// 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
params: API.deleteOrderParams,
options?: { [key: string]: any },
) {
const { orderId: param0, ...queryParams } = params;
return request<any>(`/store/order/${param0}`, {
method: 'DELETE',
params: { ...queryParams },
...(options || {}),
});
}

112
src/services/swagger/typings.d.ts vendored Normal file
View File

@@ -0,0 +1,112 @@
declare namespace API {
type ApiResponse = {
code?: number;
type?: string;
message?: string;
};
type Category = {
id?: number;
name?: string;
};
type deleteOrderParams = {
/** ID of the order that needs to be deleted */
orderId: number;
};
type deletePetParams = {
api_key?: string;
/** Pet id to delete */
petId: number;
};
type deleteUserParams = {
/** The name that needs to be deleted */
username: string;
};
type findPetsByStatusParams = {
/** Status values that need to be considered for filter */
status: ('available' | 'pending' | 'sold')[];
};
type findPetsByTagsParams = {
/** Tags to filter by */
tags: string[];
};
type getOrderByIdParams = {
/** ID of pet that needs to be fetched */
orderId: number;
};
type getPetByIdParams = {
/** ID of pet to return */
petId: number;
};
type getUserByNameParams = {
/** The name that needs to be fetched. Use user1 for testing. */
username: string;
};
type loginUserParams = {
/** The user name for login */
username: string;
/** The password for login in clear text */
password: string;
};
type Order = {
id?: number;
petId?: number;
quantity?: number;
shipDate?: string;
/** Order Status */
status?: 'placed' | 'approved' | 'delivered';
complete?: boolean;
};
type Pet = {
id?: number;
category?: Category;
name: string;
photoUrls: string[];
tags?: Tag[];
/** pet status in the store */
status?: 'available' | 'pending' | 'sold';
};
type Tag = {
id?: number;
name?: string;
};
type updatePetWithFormParams = {
/** ID of pet that needs to be updated */
petId: number;
};
type updateUserParams = {
/** name that need to be updated */
username: string;
};
type uploadFileParams = {
/** ID of pet to update */
petId: number;
};
type User = {
id?: number;
username?: string;
firstName?: string;
lastName?: string;
email?: string;
password?: string;
phone?: string;
/** User Status */
userStatus?: number;
};
}

View File

@@ -0,0 +1,100 @@
// @ts-ignore
/* eslint-disable */
import { request } from '@umijs/max';
/** Create user This can only be done by the logged in user. POST /user */
export async function createUser(body: API.User, options?: { [key: string]: any }) {
return request<any>('/user', {
method: 'POST',
data: body,
...(options || {}),
});
}
/** Get user by user name GET /user/${param0} */
export async function getUserByName(
// 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
params: API.getUserByNameParams,
options?: { [key: string]: any },
) {
const { username: param0, ...queryParams } = params;
return request<API.User>(`/user/${param0}`, {
method: 'GET',
params: { ...queryParams },
...(options || {}),
});
}
/** Updated user This can only be done by the logged in user. PUT /user/${param0} */
export async function updateUser(
// 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
params: API.updateUserParams,
body: API.User,
options?: { [key: string]: any },
) {
const { username: param0, ...queryParams } = params;
return request<any>(`/user/${param0}`, {
method: 'PUT',
params: { ...queryParams },
data: body,
...(options || {}),
});
}
/** Delete user This can only be done by the logged in user. DELETE /user/${param0} */
export async function deleteUser(
// 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
params: API.deleteUserParams,
options?: { [key: string]: any },
) {
const { username: param0, ...queryParams } = params;
return request<any>(`/user/${param0}`, {
method: 'DELETE',
params: { ...queryParams },
...(options || {}),
});
}
/** Creates List of users with given input array POST /user/createWithArray */
export async function createUsersWithArrayInput(
body: API.User[],
options?: { [key: string]: any },
) {
return request<any>('/user/createWithArray', {
method: 'POST',
data: body,
...(options || {}),
});
}
/** Creates List of users with given input array POST /user/createWithList */
export async function createUsersWithListInput(body: API.User[], options?: { [key: string]: any }) {
return request<any>('/user/createWithList', {
method: 'POST',
data: body,
...(options || {}),
});
}
/** Logs user into the system GET /user/login */
export async function loginUser(
// 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
params: API.loginUserParams,
options?: { [key: string]: any },
) {
return request<string>('/user/login', {
method: 'GET',
params: {
...params,
},
...(options || {}),
});
}
/** Logs out current logged in user session GET /user/logout */
export async function logoutUser(options?: { [key: string]: any }) {
return request<any>('/user/logout', {
method: 'GET',
...(options || {}),
});
}

View File

@@ -0,0 +1,65 @@
import { request } from '@umijs/max';
import { downLoadXlsx } from '@/utils/downloadfile';
// 查询字典数据列表
export async function getDictDataList(
params?: API.System.DictDataListParams,
options?: { [key: string]: any },
) {
return request<API.System.DictDataPageResult>('/api/system/dict/data/list', {
method: 'GET',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
params,
...(options || {}),
});
}
// 查询字典数据详细
export function getDictData(dictCode: number, options?: { [key: string]: any }) {
return request<API.System.DictDataInfoResult>(`/api/system/dict/data/${dictCode}`, {
method: 'GET',
...(options || {}),
});
}
// 新增字典数据
export async function addDictData(params: API.System.DictData, options?: { [key: string]: any }) {
return request<API.Result>('/api/system/dict/data', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: params,
...(options || {}),
});
}
// 修改字典数据
export async function updateDictData(params: API.System.DictData, options?: { [key: string]: any }) {
return request<API.Result>('/api/system/dict/data', {
method: 'PUT',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: params,
...(options || {}),
});
}
// 删除字典数据
export async function removeDictData(ids: string, options?: { [key: string]: any }) {
return request<API.Result>(`/api/system/dict/data/${ids}`, {
method: 'DELETE',
...(options || {}),
});
}
// 导出字典数据
export function exportDictData(
params?: API.System.DictDataListParams,
options?: { [key: string]: any },
) {
return downLoadXlsx(`/api/system/dict/data/export`, { params }, `dict_data_${new Date().getTime()}.xlsx`);
}

View File

@@ -0,0 +1,120 @@
import { request } from '@umijs/max';
import { DictValueEnumObj } from '@/components/DictTag';
import { HttpResult } from '@/enums/httpEnum';
import { downLoadXlsx } from '@/utils/downloadfile';
/* *
*
* @author whiteshader@163.com
* @datetime 2021/09/16
*
* */
// 查询字典类型列表
export async function getDictTypeList(params?: API.DictTypeListParams) {
return request(`/api/system/dict/type/list`, {
params: {
...params,
},
method: 'GET',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
});
}
// 查询字典类型详细
export function getDictType(dictId: string) {
return request(`/api/system/dict/type/${dictId}`, {
method: 'GET',
});
}
// 查询字典数据详细
export async function getDictValueEnum(dictType: string, isDigital?: boolean): Promise<DictValueEnumObj> {
const resp = await request<API.System.DictTypeResult>(`/api/system/dict/data/type/${dictType}`, {
method: 'GET',
});
if(resp.code === HttpResult.SUCCESS) {
const opts: DictValueEnumObj = {};
resp.data.forEach((item: any) => {
opts[item.dictValue] = {
text: item.dictLabel,
label: item.dictLabel,
value: isDigital ? Number(item.dictValue) : item.dictValue,
key: item.dictCode,
listClass: item.listClass,
status: item.listClass };
});
return opts;
} else {
return {};
}
}
export async function getDictSelectOption(dictType: string, isDigital?: boolean) {
const resp = await request<API.System.DictTypeResult>(`/api/system/dict/data/type/${dictType}`, {
method: 'GET',
});
if (resp.code === 200) {
const options: DictValueEnumObj[] = resp.data.map((item) => {
return {
text: item.dictLabel,
label: item.dictLabel,
value: isDigital ? Number(item.dictValue) : item.dictValue,
key: item.dictCode,
listClass: item.listClass,
status: item.listClass
};
});
return options;
}
return [];
};
// 新增字典类型
export async function addDictType(params: API.System.DictType) {
return request<API.Result>('/api/system/dict/type', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: params
});
}
// 修改字典类型
export async function updateDictType(params: API.System.DictType) {
return request<API.Result>('/api/system/dict/type', {
method: 'PUT',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: params
});
}
// 删除字典类型
export async function removeDictType(ids: string) {
return request<API.Result>(`/api/system/dict/type/${ids}`, {
method: 'DELETE'
});
}
// 导出字典类型
export function exportDictType(params?: API.System.DictTypeListParams) {
return downLoadXlsx(`/api/system/dict/type/export`, { params }, `dict_type_${new Date().getTime()}.xlsx`);
}
// 获取字典选择框列表
export async function getDictTypeOptionSelect(params?: API.DictTypeListParams) {
return request('/api/system/dict/type/optionselect', {
params: {
...params,
},
method: 'GET',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
});
}

View File

@@ -0,0 +1,39 @@
import { request } from '@umijs/max';
export async function getCaptchaImg(params?: Record<string, any>, options?: Record<string, any>) {
return request('/api/captchaImage', {
method: 'GET',
params: {
...params,
},
headers: {
isToken: false,
},
...(options || {}),
});
}
/** 登录接口 POST /api/login/account */
export async function login(body: API.LoginParams, options?: Record<string, any>) {
return request<API.LoginResult>('/api/login', {
method: 'POST',
headers: {
isToken: false,
'Content-Type': 'application/json',
},
data: body,
...(options || {}),
});
}
/** 退出登录接口 POST /api/login/outLogin */
export async function logout() {
return request<Record<string, any>>('/api/logout', {
method: 'delete',
});
}
// 获取手机验证码
export async function getMobileCaptcha(mobile: string) {
return request(`/api/login/captcha?mobile=${mobile}`);
}

View File

@@ -0,0 +1,62 @@
import { request } from '@umijs/max';
import { downLoadXlsx } from '@/utils/downloadfile';
// 查询参数配置列表
export async function getConfigList(params?: API.System.ConfigListParams) {
return request<API.System.ConfigPageResult>('/api/system/config/list', {
method: 'GET',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
params
});
}
// 查询参数配置详细
export function getConfig(configId: number) {
return request<API.System.ConfigInfoResult>(`/api/system/config/${configId}`, {
method: 'GET'
});
}
// 新增参数配置
export async function addConfig(params: API.System.Config) {
return request<API.Result>('/api/system/config', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: params
});
}
// 修改参数配置
export async function updateConfig(params: API.System.Config) {
return request<API.Result>('/api/system/config', {
method: 'PUT',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: params
});
}
// 删除参数配置
export async function removeConfig(ids: string) {
return request<API.Result>(`/api/system/config/${ids}`, {
method: 'DELETE'
});
}
// 导出参数配置
export function exportConfig(params?: API.System.ConfigListParams) {
return downLoadXlsx(`/api/system/config/export`, { params }, `config_${new Date().getTime()}.xlsx`);
}
// 刷新参数缓存
export function refreshConfigCache() {
return request<API.Result>('/api/system/config/refreshCache', {
method: 'delete'
})
}

View File

@@ -0,0 +1,56 @@
import { request } from '@umijs/max';
import { downLoadXlsx } from '@/utils/downloadfile';
// 查询部门列表
export async function getDeptList(params?: API.System.DeptListParams) {
return request<API.System.DeptPageResult>('/api/system/dept/list', {
method: 'GET',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
params
});
}
// 查询部门列表(排除节点)
export function getDeptListExcludeChild(deptId: number) {
return request(`/api/system/dept/list/exclude/${deptId}`, {
method: 'get',
});
}
// 查询部门详细
export function getDept(deptId: number) {
return request<API.System.DeptInfoResult>(`/api/system/dept/${deptId}`, {
method: 'GET'
});
}
// 新增部门
export async function addDept(params: API.System.Dept) {
return request<API.Result>('/api/system/dept', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: params
});
}
// 修改部门
export async function updateDept(params: API.System.Dept) {
return request<API.Result>('/api/system/dept', {
method: 'PUT',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: params
});
}
// 删除部门
export async function removeDept(ids: string) {
return request<API.Result>(`/api/system/dept/${ids}`, {
method: 'DELETE'
});
}

144
src/services/system/dict.ts Normal file
View File

@@ -0,0 +1,144 @@
import { request } from '@umijs/max';
import { DictValueEnumObj } from '@/components/DictTag';
import { HttpResult } from '@/enums/httpEnum';
import { downLoadXlsx } from '@/utils/downloadfile';
/* *
*
* @author whiteshader@163.com
* @datetime 2021/09/16
*
* */
// 查询字典类型列表
export async function getDictTypeList(params?: API.DictTypeListParams) {
return request(`/api/cms/dict/type/list`, {
params: {
...params,
},
method: 'GET',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
});
}
// 查询字典类型详细
export function getDictType(dictId: string) {
return request(`/api/cms/dict/type/${dictId}`, {
method: 'GET',
});
}
// 查询字典数据详细
export async function getDictValueEnum(
dictType: string,
isDigital?: boolean,
isCms?: boolean,
): Promise<DictValueEnumObj> {
let resp = null;
if (isCms) {
resp = await request<API.System.DictTypeResult>(`/api/cms/dict/data/type/${dictType}`, {
method: 'GET',
});
} else {
resp = await request<API.System.DictTypeResult>(`/api/system/dict/data/type/${dictType}`, {
method: 'GET',
});
}
if (resp.code === HttpResult.SUCCESS) {
const opts: DictValueEnumObj = {};
resp.data.forEach((item: any) => {
opts[item.dictValue] = {
text: item.dictLabel,
label: item.dictLabel,
value: isDigital ? Number(item.dictValue) : item.dictValue,
key: item.dictCode,
listClass: item.listClass,
status: item.listClass,
};
});
return opts;
} else {
return {};
}
}
export async function getDictSelectOption(dictType: string, isDigital?: boolean, isCms?: boolean) {
let resp = null;
if (isCms) {
resp = await request<API.System.DictTypeResult>(`/api/cms/dict/data/type/${dictType}`, {
method: 'GET',
});
} else {
resp = await request<API.System.DictTypeResult>(`/api/system/dict/data/type/${dictType}`, {
method: 'GET',
});
}
if (resp.code === 200) {
const options: DictValueEnumObj[] = resp.data.map((item) => {
return {
text: item.dictLabel,
label: item.dictLabel,
value: isDigital ? Number(item.dictValue) : item.dictValue,
key: item.dictCode,
listClass: item.listClass,
status: item.listClass,
};
});
return options;
}
return [];
}
// 新增字典类型
export async function addDictType(params: API.System.DictType) {
return request<API.Result>('/api/cms/dict/type', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: params,
});
}
// 修改字典类型
export async function updateDictType(params: API.System.DictType) {
return request<API.Result>('/api/cms/dict/type', {
method: 'PUT',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: params,
});
}
// 删除字典类型
export async function removeDictType(ids: string) {
return request<API.Result>(`/api/cms/dict/type/${ids}`, {
method: 'DELETE',
});
}
// 导出字典类型
export function exportDictType(params?: API.System.DictTypeListParams) {
return downLoadXlsx(
`/api/cms/dict/type/export`,
{ params },
`dict_type_${new Date().getTime()}.xlsx`,
);
}
// 获取字典选择框列表
export async function getDictTypeOptionSelect(params?: API.DictTypeListParams) {
return request('/api/cms/dict/type/optionselect', {
params: {
...params,
},
method: 'GET',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
});
}

View File

@@ -0,0 +1,72 @@
import { request } from '@umijs/max';
import { downLoadXlsx } from '@/utils/downloadfile';
// 查询字典数据列表
export async function getDictDataList(
params?: API.System.DictDataListParams,
options?: { [key: string]: any },
) {
return request<API.System.DictDataPageResult>('/api/cms/dict/data/list', {
method: 'GET',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
params,
...(options || {}),
});
}
// 查询字典数据详细
export function getDictData(dictCode: number, options?: { [key: string]: any }) {
return request<API.System.DictDataInfoResult>(`/api/cms/dict/data/${dictCode}`, {
method: 'GET',
...(options || {}),
});
}
// 新增字典数据
export async function addDictData(params: API.System.DictData, options?: { [key: string]: any }) {
return request<API.Result>('/api/cms/dict/data', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: params,
...(options || {}),
});
}
// 修改字典数据
export async function updateDictData(
params: API.System.DictData,
options?: { [key: string]: any },
) {
return request<API.Result>('/api/cms/dict/data', {
method: 'PUT',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: params,
...(options || {}),
});
}
// 删除字典数据
export async function removeDictData(ids: string, options?: { [key: string]: any }) {
return request<API.Result>(`/api/cms/dict/data/${ids}`, {
method: 'DELETE',
...(options || {}),
});
}
// 导出字典数据
export function exportDictData(
params?: API.System.DictDataListParams,
options?: { [key: string]: any },
) {
return downLoadXlsx(
`/api/cms/dict/data/export`,
{ params },
`dict_data_${new Date().getTime()}.xlsx`,
);
}

View File

@@ -0,0 +1,14 @@
/* eslint-disable */
// 该文件由 OneAPI 自动生成,请勿手动修改!
import * as Auth from './auth';
import * as User from './User';
import * as Dict from './dict';
import * as Menu from './menu';
export default {
Auth,
User,
Dict,
Menu,
};

View File

@@ -0,0 +1,61 @@
import { request } from '@umijs/max';
import { downLoadXlsx } from '@/utils/downloadfile';
// 查询菜单权限列表
export async function getMenuList(params?: API.System.MenuListParams, options?: { [key: string]: any }) {
return request<API.System.MenuPageResult>('/api/system/menu/list', {
method: 'GET',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
params,
...(options || {}),
});
}
// 查询菜单权限详细
export function getMenu(menuId: number, options?: { [key: string]: any }) {
return request<API.System.MenuInfoResult>(`/api/system/menu/${menuId}`, {
method: 'GET',
...(options || {})
});
}
// 新增菜单权限
export async function addMenu(params: API.System.Menu, options?: { [key: string]: any }) {
return request<API.Result>('/api/system/menu', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: params,
...(options || {})
});
}
// 修改菜单权限
export async function updateMenu(params: API.System.Menu, options?: { [key: string]: any }) {
return request<API.Result>('/api/system/menu', {
method: 'PUT',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: params,
...(options || {})
});
}
// 删除菜单权限
export async function removeMenu(ids: string, options?: { [key: string]: any }) {
return request<API.Result>(`/api/system/menu/${ids}`, {
method: 'DELETE',
...(options || {})
});
}
// 查询菜单权限详细
export function getMenuTree() {
return request('/api/system/menu/treeselect', {
method: 'GET',
});
}

View File

@@ -0,0 +1,49 @@
import { request } from '@umijs/max';
import { downLoadXlsx } from '@/utils/downloadfile';
// 查询通知公告列表
export async function getNoticeList(params?: API.System.NoticeListParams) {
return request<API.System.NoticePageResult>('/api/system/notice/list', {
method: 'GET',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
params
});
}
// 查询通知公告详细
export function getNotice(noticeId: number) {
return request<API.System.NoticeInfoResult>(`/api/system/notice/${noticeId}`, {
method: 'GET'
});
}
// 新增通知公告
export async function addNotice(params: API.System.Notice) {
return request<API.Result>('/api/system/notice', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: params
});
}
// 修改通知公告
export async function updateNotice(params: API.System.Notice) {
return request<API.Result>('/api/system/notice', {
method: 'PUT',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: params
});
}
// 删除通知公告
export async function removeNotice(ids: string) {
return request<API.Result>(`/api/system/notice/${ids}`, {
method: 'DELETE'
});
}

View File

@@ -0,0 +1,54 @@
import { request } from '@umijs/max';
import { downLoadXlsx } from '@/utils/downloadfile';
// 查询岗位信息列表
export async function getPostList(params?: API.System.PostListParams) {
return request<API.System.PostPageResult>('/api/system/post/list', {
method: 'GET',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
params
});
}
// 查询岗位信息详细
export function getPost(postId: number) {
return request<API.System.PostInfoResult>(`/api/system/post/${postId}`, {
method: 'GET'
});
}
// 新增岗位信息
export async function addPost(params: API.System.Post) {
return request<API.Result>('/api/system/post', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: params
});
}
// 修改岗位信息
export async function updatePost(params: API.System.Post) {
return request<API.Result>('/api/system/post', {
method: 'PUT',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: params
});
}
// 删除岗位信息
export async function removePost(ids: string) {
return request<API.Result>(`/api/system/post/${ids}`, {
method: 'DELETE'
});
}
// 导出岗位信息
export function exportPost(params?: API.System.PostListParams) {
return downLoadXlsx(`/api/system/post/export`, { params }, `post_${new Date().getTime()}.xlsx`);
}

128
src/services/system/role.ts Normal file
View File

@@ -0,0 +1,128 @@
import { ContentType } from '@/enums/httpEnum';
import { request } from '@umijs/max';
import { downLoadXlsx } from '@/utils/downloadfile';
// 查询角色信息列表
export async function getRoleList(params?: API.System.RoleListParams) {
return request<API.System.RolePageResult>('/api/system/role/list', {
method: 'GET',
headers: { 'Content-Type': ContentType.FORM_URLENCODED },
params
});
}
// 查询角色信息详细
export function getRole(roleId: number) {
return request<API.System.RoleInfoResult>(`/api/system/role/${roleId}`, {
method: 'GET'
});
}
// 新增角色信息
export async function addRole(params: API.System.Role) {
return request<API.Result>('/api/system/role', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: params
});
}
// 修改角色信息
export async function updateRole(params: API.System.Role) {
return request<API.Result>('/api/system/role', {
method: 'PUT',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: params
});
}
// 删除角色信息
export async function removeRole(ids: string) {
return request<API.Result>(`/api/system/role/${ids}`, {
method: 'DELETE'
});
}
// 导出角色信息
export function exportRole(params?: API.System.RoleListParams) {
return downLoadXlsx(`/api/system/role/export`, { params }, `role_${new Date().getTime()}.xlsx`);
}
// 获取角色菜单列表
export function getRoleMenuList(id: number) {
return request<API.System.RoleMenuResult>(`/api/system/menu/roleMenuTreeselect/${id}`, {
method: 'get',
});
}
// 角色数据权限
export function updateRoleDataScope(data: Record<string, any>) {
return request('/api/system/role/dataScope', {
method: 'put',
data
})
}
// 角色状态修改
export function changeRoleStatus(roleId: number, status: string) {
const data = {
roleId,
status
}
return request<API.Result>('/api/system/role/changeStatus', {
method: 'put',
data: data
})
}
// 查询角色已授权用户列表
export function allocatedUserList(params?: API.System.RoleListParams) {
return request('/api/system/role/authUser/allocatedList', {
method: 'get',
params
})
}
// 查询角色未授权用户列表
export function unallocatedUserList(params?: API.System.RoleListParams) {
return request('/api/system/role/authUser/unallocatedList', {
method: 'get',
params
})
}
// 取消用户授权角色
export function authUserCancel(data: any) {
return request<API.Result>('/api/system/role/authUser/cancel', {
method: 'put',
data: data
})
}
// 批量取消用户授权角色
export function authUserCancelAll(data: any) {
return request<API.Result>('/api/system/role/authUser/cancelAll', {
method: 'put',
params: data
})
}
// 授权用户选择
export function authUserSelectAll(data: Record<string, any>) {
return request<API.Result>('/api/system/role/authUser/selectAll', {
method: 'put',
params: data,
headers: { 'Content-Type': ContentType.FORM_URLENCODED },
})
}
// 根据角色ID查询部门树结构
export function getDeptTreeSelect(roleId: number) {
return request('/api/system/role/deptTree/' + roleId, {
method: 'get'
})
}

152
src/services/system/user.ts Normal file
View File

@@ -0,0 +1,152 @@
import { formatTreeData } from '@/utils/tree';
import { request } from '@umijs/max';
import { DataNode } from 'antd/es/tree';
import { downLoadXlsx } from '@/utils/downloadfile';
// 查询用户信息列表
export async function getUserList(params?: API.System.UserListParams, options?: { [key: string]: any }) {
return request<API.System.UserPageResult>('/api/system/user/list', {
method: 'GET',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
params,
...(options || {})
});
}
// 查询用户信息详细
export function getUser(userId: number, options?: { [key: string]: any }) {
return request<API.System.UserInfoResult>(`/api/system/user/${userId}`, {
method: 'GET',
...(options || {})
});
}
// 新增用户信息
export async function addUser(params: API.System.User, options?: { [key: string]: any }) {
return request<API.Result>('/api/system/user', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: params,
...(options || {})
});
}
// 修改用户信息
export async function updateUser(params: API.System.User, options?: { [key: string]: any }) {
return request<API.Result>('/api/system/user', {
method: 'PUT',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: params,
...(options || {})
});
}
// 删除用户信息
export async function removeUser(ids: string, options?: { [key: string]: any }) {
return request<API.Result>(`/api/system/user/${ids}`, {
method: 'DELETE',
...(options || {})
});
}
// 导出用户信息
export function exportUser(params?: API.System.UserListParams, options?: { [key: string]: any }) {
return downLoadXlsx(`/api/system/user/export`, { params }, `user_${new Date().getTime()}.xlsx`);
}
// 用户状态修改
export function changeUserStatus(userId: number, status: string) {
const data = {
userId,
status
}
return request<API.Result>('/api/system/user/changeStatus', {
method: 'put',
data: data
})
}
// 查询用户个人信息
export function getUserProfile() {
return request('/api/system/user/profile', {
method: 'get'
})
}
export function updateUserProfile(data: API.CurrentUser) {
return request<API.Result>('/api/system/user/profile', {
method: 'put',
data: data
})
}
// 用户密码重置
export function resetUserPwd(userId: number, password: string) {
const data = {
userId,
password
}
return request<API.Result>('/api/system/user/resetPwd', {
method: 'put',
data: data
})
}
// 用户t个人密码重置
export function updateUserPwd(oldPassword: string, newPassword: string) {
const data = {
oldPassword,
newPassword
}
return request<API.Result>('/api/system/user/profile/updatePwd', {
method: 'put',
params: data
})
}
// 用户头像上传
export function uploadAvatar(data: any) {
return request('/api/system/user/profile/avatar', {
method: 'post',
data: data
})
}
// 查询授权角色
export function getAuthRole(userId: number) {
return request('/system/user/authRole/' + userId, {
method: 'get'
})
}
// 保存授权角色
export function updateAuthRole(data: Record<string, any>) {
return request('/system/user/authRole', {
method: 'put',
params: data
})
}
// 获取数据列表
export function getDeptTree(params: any): Promise<DataNode[]> {
return new Promise((resolve) => {
request(`/api/system/user/deptTree`, {
method: 'get',
params,
}).then((res: any) => {
if (res && res.code === 200) {
const treeData = formatTreeData(res.data);
resolve(treeData);
} else {
resolve([]);
}
});
});
}

191
src/services/typings.d.ts vendored Normal file
View File

@@ -0,0 +1,191 @@
/* eslint-disable */
// 该文件由 OneAPI 自动生成,请勿手动修改!
declare namespace API {
interface PageInfo {
current?: number;
pageSize?: number;
total?: number;
list?: Array<Record<string, any>>;
}
interface PageInfo_UserInfo_ {
current?: number;
pageSize?: number;
total?: number;
list?: Array<UserInfo>;
}
interface Result {
code: number;
msg: string;
data?: Record<string, any>;
}
interface Result_PageInfo_UserInfo__ {
code: number;
msg: string;
data?: PageInfo_UserInfo_;
}
interface UserInfoResult {
code?: number;
msg?: string;
user: UserInfo;
permissions: any;
roles: any;
}
interface Result_string_ {
success?: boolean;
errorMessage?: string;
data?: string;
}
type UserGenderEnum = 'MALE' | 'FEMALE';
interface UserInfo {
userId?: string;
userName?: string;
nickName?: string;
avatar?: string;
sex?: string;
email?: string;
gender?: UserGenderEnum;
unreadCount: number;
address?: string;
phonenumber?: string;
dept?: Dept;
roles?: Role[];
permissions: string[];
}
interface UserInfoVO {
name?: string;
/** nick */
nickName?: string;
/** email */
email?: string;
}
type definitions_0 = null;
type MenuItemMeta = {
title: string;
icon: string;
noCache: boolean;
link: string;
};
type RoutersMenuItem = {
alwaysShow?: boolean;
children?: RoutersMenuItem[];
component?: string;
hidden?: boolean;
meta: MenuItemMeta;
name: string;
path: string;
redirect?: string;
[key: string]: any;
};
interface GetRoutersResult {
code: number;
msg: string;
data: RoutersMenuItem[];
}
type NoticeIconList = {
data?: NoticeIconItem[];
/** 列表的内容总数 */
total?: number;
success?: boolean;
};
type NoticeIconItemType = 'notification' | 'message' | 'event';
type NoticeIconItem = {
id?: string;
extra?: string;
key?: string;
read?: boolean;
avatar?: string;
title?: string;
status?: string;
datetime?: string;
description?: string;
type?: NoticeIconItemType;
};
export type MenuType = {
menuId: number;
menuName: string;
parentId: string;
orderNum: number;
path: string;
component: string;
isFrame: number;
isCache: number;
menuType: string;
visible: string;
status: string;
perms: string;
icon: string;
createBy: string;
createTime: Date;
updateBy: string;
updateTime: Date;
remark: string;
};
export type MenuListParams = {
menuId?: string;
menuName?: string;
parentId?: string;
orderNum?: string;
path?: string;
component?: string;
isFrame?: string;
isCache?: string;
menuType?: string;
visible?: string;
status?: string;
perms?: string;
icon?: string;
createBy?: string;
createTime?: string;
updateBy?: string;
updateTime?: string;
remark?: string;
pageSize?: string;
currentPage?: string;
filter?: string;
sorter?: string;
};
export type DictTypeType = {
dictId: number;
dictName: string;
dictType: string;
status: string;
createBy: string;
createTime: Date;
updateBy: string;
updateTime: Date;
remark: string;
};
export type DictTypeListParams = {
dictId?: string;
dictName?: string;
dictType?: string;
status?: string;
createBy?: string;
createTime?: string;
updateBy?: string;
updateTime?: string;
remark?: string;
pageSize?: string;
currentPage?: string;
filter?: string;
sorter?: string;
};
}