新增前端vue

This commit is contained in:
2025-11-26 13:55:01 +08:00
parent ae391f1b94
commit ffd5a6ad66
781 changed files with 83348 additions and 0 deletions

View File

@@ -0,0 +1,51 @@
/**
* Copyright (c) 2013-Now http://jeesite.com All rights reserved.
* No deletion without permission, or be held responsible to law.
* @author ThinkGem
*/
import { defHttp } from '@jeesite/core/utils/http/axios';
import { encryptByBase64 } from '@jeesite/core/utils/cipher';
export const getLoginValidCode = (params?: any) =>
defHttp.post({ url: '/account/getLoginValidCode', params }, { errorMessageMode: 'none' });
export const loginByValidCode = (params?: any) =>
defHttp.post({ url: '/account/loginByValidCode', params }, { errorMessageMode: 'none' });
export const getFpValidCode = (params?: any) =>
defHttp.post({ url: '/account/getFpValidCode', params }, { errorMessageMode: 'none' });
export const getPwdQuestion = (params?: any) =>
defHttp.post({ url: '/account/getPwdQuestion', params }, { errorMessageMode: 'none' });
export const savePwdByValidCode = (params?: any) => {
if (params.password || params.confirmPassword) {
params.password = encryptByBase64(params.password);
params.confirmPassword = encryptByBase64(params.confirmPassword);
}
return defHttp.post({ url: '/account/savePwdByValidCode', params }, { errorMessageMode: 'none' });
};
export const savePwdByPwdQuestion = (params?: any) => {
if (params.pwdQuestionAnswer || params.pwdQuestionAnswer2 || params.pwdQuestionAnswer3) {
params.pwdQuestionAnswer = encryptByBase64(params.pwdQuestionAnswer);
params.pwdQuestionAnswer2 = encryptByBase64(params.pwdQuestionAnswer2);
params.pwdQuestionAnswer3 = encryptByBase64(params.pwdQuestionAnswer3);
}
if (params.password || params.confirmPassword) {
params.password = encryptByBase64(params.password);
params.confirmPassword = encryptByBase64(params.confirmPassword);
}
return defHttp.post({ url: '/account/savePwdByPwdQuestion', params }, { errorMessageMode: 'none' });
};
export const getRegValidCode = (params?: any) =>
defHttp.post({ url: '/account/getRegValidCode', params }, { errorMessageMode: 'none' });
export const saveRegByValidCode = (params?: any) => {
if (params.password || params.confirmPassword) {
params.password = encryptByBase64(params.password);
params.confirmPassword = encryptByBase64(params.confirmPassword);
}
return defHttp.post({ url: '/account/saveRegByValidCode', params }, { errorMessageMode: 'none' });
};

View File

@@ -0,0 +1,38 @@
/**
* Copyright (c) 2013-Now http://jeesite.com All rights reserved.
* No deletion without permission, or be held responsible to law.
* @author ThinkGem
*/
import { defHttp } from '@jeesite/core/utils/http/axios';
import { useGlobSetting } from '@jeesite/core/hooks/setting';
import { TreeDataModel, TreeModel, Page } from '@jeesite/core/api/model/baseModel';
const { adminPath } = useGlobSetting();
export interface Area extends TreeModel<Area> {
areaCode?: string; // 区域编码
areaName?: string; // 区域名称
areaType?: string; // 区域类型
}
export const areaList = (params?: Area | any) => defHttp.get<Area>({ url: adminPath + '/sys/area/list', params });
export const areaListData = (params?: Area | any) =>
defHttp.post<Page<Area>>({ url: adminPath + '/sys/area/listPageData', params });
export const areaForm = (params?: Area | any) => defHttp.get<Area>({ url: adminPath + '/sys/area/form', params });
export const areaCreateNextNode = (params?: Area | any) =>
defHttp.get<Area>({ url: adminPath + '/sys/area/createNextNode', params });
export const areaSave = (params?: any, data?: Area | any) =>
defHttp.postJson<Area>({ url: adminPath + '/sys/area/save', params, data });
export const areaDisable = (params?: Area | any) => defHttp.get<Area>({ url: adminPath + '/sys/area/disable', params });
export const areaEnable = (params?: Area | any) => defHttp.get<Area>({ url: adminPath + '/sys/area/enable', params });
export const areaDelete = (params?: Area | any) => defHttp.get<Area>({ url: adminPath + '/sys/area/delete', params });
export const areaTreeData = (params?: any) =>
defHttp.get<TreeDataModel[]>({ url: adminPath + '/sys/area/treeData', params });

View File

@@ -0,0 +1,46 @@
/**
* Copyright (c) 2013-Now http://jeesite.com All rights reserved.
* No deletion without permission, or be held responsible to law.
* @author ThinkGem
*/
import { defHttp } from '@jeesite/core/utils/http/axios';
import { useGlobSetting } from '@jeesite/core/hooks/setting';
import { TreeDataModel, TreeModel } from '@jeesite/core/api/model/baseModel';
const { adminPath } = useGlobSetting();
export interface Company extends TreeModel<Company> {
companyCode?: string; // 公司编码
viewCode?: string; // 公司代码
companyName?: string; // 公司名称
fullName?: string; // 公司全称
areaCode?: string; // 区域编码
extend?: any; // 扩展字段
}
export const companyList = (params?: Company | any) =>
defHttp.get<Company>({ url: adminPath + '/sys/company/list', params });
export const companyListData = (params?: Company | any) =>
defHttp.post<Company[]>({ url: adminPath + '/sys/company/listData', params });
export const companyForm = (params?: Company | any) =>
defHttp.get<Company>({ url: adminPath + '/sys/company/form', params });
export const companyCreateNextNode = (params?: Company | any) =>
defHttp.get<Company>({ url: adminPath + '/sys/company/createNextNode', params });
export const companySave = (params?: any, data?: Company | any) =>
defHttp.postJson<Company>({ url: adminPath + '/sys/company/save', params, data });
export const companyDisable = (params?: Company | any) =>
defHttp.get<Company>({ url: adminPath + '/sys/company/disable', params });
export const companyEnable = (params?: Company | any) =>
defHttp.get<Company>({ url: adminPath + '/sys/company/enable', params });
export const companyDelete = (params?: Company | any) =>
defHttp.get<Company>({ url: adminPath + '/sys/company/delete', params });
export const companyTreeData = (params?: any) =>
defHttp.get<TreeDataModel[]>({ url: adminPath + '/sys/company/treeData', params });

View File

@@ -0,0 +1,38 @@
/**
* Copyright (c) 2013-Now http://jeesite.com All rights reserved.
* No deletion without permission, or be held responsible to law.
* @author ThinkGem
*/
import { defHttp } from '@jeesite/core/utils/http/axios';
import { useGlobSetting } from '@jeesite/core/hooks/setting';
import { BasicModel, Page } from '@jeesite/core/api/model/baseModel';
const { adminPath } = useGlobSetting();
export interface Config extends BasicModel<Config> {
configName?: string; // 名称
configKey?: string; // 参数键
configValue?: string; // 参数值
isSys?: string; // 系统内置1是 0否
}
export const configList = (params?: Config | any) =>
defHttp.get<Config>({ url: adminPath + '/sys/config/list', params });
export const configListData = (params?: Config | any) =>
defHttp.post<Page<Config>>({ url: adminPath + '/sys/config/listData', params });
export const configForm = (params?: Config | any) =>
defHttp.get<Config>({ url: adminPath + '/sys/config/form', params });
export const checkConfigKey = (oldConfigKey: string, configKey: string) =>
defHttp.get<Config>({
url: adminPath + '/sys/config/checkConfigKey',
params: { oldConfigKey, configKey },
});
export const configSave = (params?: any, data?: Config | any) =>
defHttp.postJson<Config>({ url: adminPath + '/sys/config/save', params, data });
export const configDelete = (params?: Config | any) =>
defHttp.get<Config>({ url: adminPath + '/sys/config/delete', params });

View File

@@ -0,0 +1,43 @@
/**
* Copyright (c) 2013-Now http://jeesite.com All rights reserved.
* No deletion without permission, or be held responsible to law.
* @author ThinkGem
*/
import { defHttp } from '@jeesite/core/utils/http/axios';
import { useGlobSetting } from '@jeesite/core/hooks/setting';
import { Page, TreeDataModel } from '@jeesite/core/api/model/baseModel';
import { User } from '@jeesite/core/api/sys/user';
const { adminPath } = useGlobSetting();
export const corpAdminList = (params?: User | any) =>
defHttp.get<User>({ url: adminPath + '/sys/corpAdmin/list', params });
export const corpAdminListData = (params?: User | any) =>
defHttp.post<Page<User>>({ url: adminPath + '/sys/corpAdmin/listData', params });
export const corpAdminForm = (params?: User | any) =>
defHttp.get<User>({ url: adminPath + '/sys/corpAdmin/form', params });
export const corpAdminSave = (params?: any, data?: User | any) =>
defHttp.postJson<User>({ url: adminPath + '/sys/corpAdmin/save', params, data });
export const corpAdminDisable = (params?: User | any) =>
defHttp.get<User>({ url: adminPath + '/sys/corpAdmin/disable', params });
export const corpAdminEnable = (params?: User | any) =>
defHttp.get<User>({ url: adminPath + '/sys/corpAdmin/enable', params });
export const corpAdminResetpwd = (params?: User | any) =>
defHttp.get<User>({ url: adminPath + '/sys/corpAdmin/resetpwd', params });
export const corpAdminDelete = (params?: User | any) =>
defHttp.get<User>({ url: adminPath + '/sys/corpAdmin/delete', params });
export const corpAdminTreeData = (params?: any) =>
defHttp.get<TreeDataModel[]>({ url: adminPath + '/sys/corpAdmin/treeData', params });
export const switchCorp = (corpCode: string) =>
defHttp.get<User>({
url: adminPath + '/sys/corpAdmin/switch/' + corpCode,
});

View File

@@ -0,0 +1,55 @@
/**
* Copyright (c) 2013-Now http://jeesite.com All rights reserved.
* No deletion without permission, or be held responsible to law.
* @author ThinkGem
*/
import { defHttp } from '@jeesite/core/utils/http/axios';
import { useGlobSetting } from '@jeesite/core/hooks/setting';
import { TreeDataModel, TreeModel } from '@jeesite/core/api/model/baseModel';
const { adminPath } = useGlobSetting();
export interface DictData extends TreeModel<DictData> {
dictCode?: string; // 字典编码
dictLabelRaw?: string; // 字典标签
dictValue?: string; // 字典键值
dictIcon?: string; // 字典图标
dictType?: string; // 字典类型
isSys?: string; // 系统内置1是 0否
description?: string; // 字典描述
cssStyle?: string; // css样式color:red)
cssClass?: string; // css类名red
}
export interface DictDataTree extends TreeDataModel {
icon?: string; // 字典图标
cssStyle?: string; // css样式color:red)
cssClass?: string; // css类名red
}
export const dictDataList = (params?: DictData | any) =>
defHttp.get<DictData>({ url: adminPath + '/sys/dictData/list', params });
export const dictDataListData = (params?: DictData | any) =>
defHttp.post<DictData[]>({ url: adminPath + '/sys/dictData/listData', params });
export const dictDataForm = (params?: DictData | any) =>
defHttp.get<DictData>({ url: adminPath + '/sys/dictData/form', params });
export const dictDataCreateNextNode = (params?: DictData | any) =>
defHttp.get<DictData>({ url: adminPath + '/sys/dictData/createNextNode', params });
export const dictDataSave = (params?: any, data?: DictData | any) =>
defHttp.postJson<DictData>({ url: adminPath + '/sys/dictData/save', params, data });
export const dictDataDisable = (params?: DictData | any) =>
defHttp.get<DictData>({ url: adminPath + '/sys/dictData/disable', params });
export const dictDataEnable = (params?: DictData | any) =>
defHttp.get<DictData>({ url: adminPath + '/sys/dictData/enable', params });
export const dictDataDelete = (params?: DictData | any) =>
defHttp.get<DictData>({ url: adminPath + '/sys/dictData/delete', params });
export const dictDataTreeData = (params?: any) =>
defHttp.get<DictDataTree[]>({ url: adminPath + '/sys/dictData/treeData', params });

View File

@@ -0,0 +1,40 @@
/**
* Copyright (c) 2013-Now http://jeesite.com All rights reserved.
* No deletion without permission, or be held responsible to law.
* @author ThinkGem
*/
import { defHttp } from '@jeesite/core/utils/http/axios';
import { useGlobSetting } from '@jeesite/core/hooks/setting';
import { BasicModel, Page, TreeDataModel } from '@jeesite/core/api/model/baseModel';
const { adminPath } = useGlobSetting();
export interface DictType extends BasicModel<DictType> {
dictName?: string; // 字典名称
dictType?: string; // 字典类型
isSys?: string; // 是否系统字典
}
export const dictTypeList = (params?: DictType | any) =>
defHttp.get<DictType>({ url: adminPath + '/sys/dictType/list', params });
export const dictTypeListData = (params?: DictType | any) =>
defHttp.post<Page<DictType>>({ url: adminPath + '/sys/dictType/listData', params });
export const dictTypeForm = (params?: DictType | any) =>
defHttp.get<DictType>({ url: adminPath + '/sys/dictType/form', params });
export const dictTypeSave = (params?: any, data?: DictType | any) =>
defHttp.postJson<DictType>({ url: adminPath + '/sys/dictType/save', params, data });
export const checkDictType = (oldDictType: string, dictType: string) =>
defHttp.get<DictType>({
url: adminPath + '/sys/dictType/checkDictType',
params: { oldDictType, dictType },
});
export const dictTypeDelete = (params?: DictType | any) =>
defHttp.get<DictType>({ url: adminPath + '/sys/dictType/delete', params });
export const dictTypeTreeData = (params?: any) =>
defHttp.get<TreeDataModel[]>({ url: adminPath + '/sys/dictType/treeData', params });

View File

@@ -0,0 +1,96 @@
/**
* Copyright (c) 2013-Now http://jeesite.com All rights reserved.
* No deletion without permission, or be held responsible to law.
* @author ThinkGem
*/
import { defHttp } from '@jeesite/core/utils/http/axios';
import { useGlobSetting } from '@jeesite/core/hooks/setting';
import { BasicModel, Page, TreeDataModel } from '@jeesite/core/api/model/baseModel';
import { User } from '@jeesite/core/api/sys/user';
import { UploadApiResult } from '@jeesite/core/api/sys/upload';
import { UploadFileParams } from '@jeesite/types/axios';
import { AxiosProgressEvent } from 'axios';
import { Office } from '@jeesite/core/api/sys/office';
import { Company } from '@jeesite/core/api/sys/company';
const { ctxPath, adminPath } = useGlobSetting();
export interface EmpUser extends User {
employee?: Employee;
}
export interface Employee extends BasicModel<Employee> {
empCode?: string;
empNo?: string;
empName?: string;
empNameEn?: string;
office?: Office;
company?: Company;
}
export const empUserIndex = (params?: EmpUser | any) =>
defHttp.get<EmpUser>({ url: adminPath + '/sys/empUser/index', params });
export const empUserList = (params?: EmpUser | any) =>
defHttp.get<EmpUser>({ url: adminPath + '/sys/empUser/list', params });
export const empUserListData = (params?: EmpUser | any) =>
defHttp.post<Page<EmpUser>>({ url: adminPath + '/sys/empUser/listData', params });
export const empUserForm = (params?: EmpUser | any) =>
defHttp.get<EmpUser>({ url: adminPath + '/sys/empUser/form', params });
export const empUserSave = (params?: any, data?: EmpUser | any) =>
defHttp.postJson<EmpUser>({ url: adminPath + '/sys/empUser/save', params, data });
export const checkEmpNo = (oldEmpNo: string, empNo: string) =>
defHttp.get<EmpUser>({
url: adminPath + '/sys/empUser/checkEmpNo',
params: { oldEmpNo, 'employee.empNo': empNo },
});
export const empUserImportData = (
params: UploadFileParams,
onUploadProgress: (progressEvent: AxiosProgressEvent) => void,
) =>
defHttp.uploadFile<UploadApiResult>(
{
url: ctxPath + adminPath + '/sys/empUser/importData',
onUploadProgress,
},
params,
);
export const empUserDisable = (params?: EmpUser | any) =>
defHttp.get<EmpUser>({ url: adminPath + '/sys/empUser/disable', params });
export const empUserEnable = (params?: EmpUser | any) =>
defHttp.get<EmpUser>({ url: adminPath + '/sys/empUser/enable', params });
export const resetpwd = (params?: EmpUser | any) =>
defHttp.get<EmpUser>({ url: adminPath + '/sys/empUser/resetpwd', params });
export const empUserDelete = (params?: EmpUser | any) =>
defHttp.get<EmpUser>({ url: adminPath + '/sys/empUser/delete', params }, { errorMessageMode: 'none' });
export const formAuthDataScope = (params?: EmpUser | any) =>
defHttp.get<EmpUser>({ url: adminPath + '/sys/empUser/formAuthDataScope', params });
export const ctrlDataTreeData = (params?: any) => {
const { url, ...params2 } = params;
return defHttp.get<EmpUser>({ url: adminPath + url, params: params2 });
};
export const saveAuthDataScope = (params?: EmpUser | any) =>
defHttp.post<EmpUser>({ url: adminPath + '/sys/empUser/saveAuthDataScope', params });
export const empUserTreeData = (params?: any) =>
defHttp.get<TreeDataModel[]>({ url: adminPath + '/sys/empUser/treeData', params });
export const empUserOfficeListData = (params?: any) =>
defHttp.get<Recordable[]>({ url: adminPath + '/sys/empUser/officeListData', params });
export const empUserSwitchOffice = (officeCode: string) =>
defHttp.get<User>({
url: adminPath + '/sys/empUser/switchOffice' + (officeCode ? '/' + officeCode : ''),
});

View File

@@ -0,0 +1,18 @@
export * from './area';
export * from './company';
export * from './config';
export * from './corpAdmin';
export * from './dictData';
export * from './dictType';
export * from './empUser';
export * from './log';
export * from './login';
export * from './menu';
export * from './module';
export * from './office';
export * from './online';
export * from './post';
export * from './role';
export * from './secAdmin';
export * from './upload';
export * from './user';

View File

@@ -0,0 +1,38 @@
/**
* Copyright (c) 2013-Now http://jeesite.com All rights reserved.
* No deletion without permission, or be held responsible to law.
* @author ThinkGem
*/
import { defHttp } from '@jeesite/core/utils/http/axios';
import { useGlobSetting } from '@jeesite/core/hooks/setting';
import { BasicModel, Page } from '@jeesite/core/api/model/baseModel';
const { adminPath } = useGlobSetting();
export interface Log extends BasicModel<Log> {
logTitle?: string; // 日志标题
requestUri?: string; // 请求URI
logType?: string; // 日志类型
createBy?: string; // 操作用户编码
createByName?: string; // 操作用户名称
requestMethod?: string; // 操作方式
requestParams?: string; // 操作提交的数据
diffModifyData?: string; // 新旧数据比较结果
bizType?: string; // 业务类型
bizKey?: string; // 业务主键
remoteAddr?: string; // 客户端IP
serverAddr?: string; // 请求服务器地址
isException?: string; // 是否异常
exceptionInfo?: string; // 异常信息
userAgent?: string; // 用户代理
deviceName?: string; // 设备名称
browserName?: string; // 浏览器名称
executeTime?: number; // 响应时间
}
export const logList = (params?: Log | any) => defHttp.get<Log>({ url: adminPath + '/sys/log/list', params });
export const logListData = (params?: Log | any) =>
defHttp.post<Page<Log>>({ url: adminPath + '/sys/log/listData', params });
export const logForm = (params?: Log | any) => defHttp.get<Log>({ url: adminPath + '/sys/log/form', params });

View File

@@ -0,0 +1,98 @@
/**
* Copyright (c) 2013-Now http://jeesite.com All rights reserved.
* No deletion without permission, or be held responsible to law.
* @author ThinkGem
*/
import { defHttp } from '@jeesite/core/utils/http/axios';
import { UserInfo } from '@jeesite/types/store';
import { ErrorMessageMode } from '@jeesite/types/axios';
import { useGlobSetting } from '@jeesite/core/hooks/setting';
import { encryptByBase64 } from '@jeesite/core/utils/cipher';
import { Menu } from '@jeesite/core/router/types';
import { useAppStore } from '@jeesite/core/store/modules/app';
const { adminPath } = useGlobSetting();
export interface LoginParams {
username: string;
password: string;
validCode?: string;
rememberMe?: boolean;
}
export interface LoginResult {
result: string;
message: string;
sessionid: string;
isValidCodeLogin: boolean;
user: UserInfo;
demoMode: boolean;
useCorpModel: boolean;
currentCorpCode: string;
currentCorpName: string;
modifyPasswordTip: string;
modifyPasswordMsg: string;
msgEnabled: boolean;
sysCode: string;
roleCode: string;
postCode: string;
title: string;
company: string;
version: string;
year: string;
lang: string;
}
export interface AuthInfo {
stringPermissions: string[];
roles: string[];
}
export const loginApi = (params: LoginParams, mode: ErrorMessageMode = 'none') => {
params.username = encryptByBase64(params.username);
params.password = encryptByBase64(params.password);
if (params.validCode) {
params.validCode = encryptByBase64(params.validCode);
}
return defHttp.post<LoginResult>(
{ url: adminPath + '/login', params, timeout: 20 * 1000 },
{ errorMessageMode: mode },
);
};
export const switchSys = (sysCode: string) => {
const params = sysCode ? '/' + sysCode : sysCode;
return defHttp.get({ url: adminPath + '/switch' + params });
};
export const switchRole = (roleCode: string) => {
const params = roleCode ? '/' + roleCode : roleCode;
return defHttp.get({ url: adminPath + '/switchRole' + params });
};
export const switchPost = (postCode: string) => {
const params = postCode ? '/' + postCode : postCode;
return defHttp.get({ url: adminPath + '/switchPost' + params });
};
export const switchSkin = (name = '') => {
if (name == '') {
const appStore = useAppStore();
if (appStore.getDarkMode === 'dark') {
name = 'skin-dark';
} else {
const themeColor = appStore.getProjectConfig.themeColor;
name = themeColor == '#1890ff' ? 'skin-blue-light3' : 'skin-blue3';
}
}
return defHttp.get({ url: adminPath + '/switchSkin/' + name });
};
export const userInfoApi = (mode: ErrorMessageMode = 'message') =>
defHttp.get<LoginResult>({ url: adminPath + '/index', timeout: 10 * 1000 }, { errorMessageMode: mode });
export const authInfoApi = () => defHttp.get<AuthInfo>({ url: adminPath + '/authInfo' });
export const menuRouteApi = () => defHttp.get<Menu[]>({ url: adminPath + '/menuRoute' });
export const logoutApi = () => defHttp.get({ url: adminPath + '/logout' });

View File

@@ -0,0 +1,50 @@
/**
* Copyright (c) 2013-Now http://jeesite.com All rights reserved.
* No deletion without permission, or be held responsible to law.
* @author ThinkGem
*/
import { defHttp } from '@jeesite/core/utils/http/axios';
import { useGlobSetting } from '@jeesite/core/hooks/setting';
import { TreeDataModel, TreeModel } from '@jeesite/core/api/model/baseModel';
const { adminPath } = useGlobSetting();
export interface Menu extends TreeModel<Menu> {
menuCode?: string; // 菜单编码
menuNameRaw?: string; // 菜单名称
menuType?: string; // 菜单类型1菜单 2权限
menuUrl?: string; // 菜单链接
menuTarget?: string; // 目标窗口
menuIcon?: string; // 菜单图标
menuColor?: string; // 菜单颜色
menuTitle?: string; // 菜单标题
permission?: string; // 权限标识
weight?: number; // 菜单权重(权重越大,表示菜单的重要性越大)
isShow?: string; // 是否显示1显示 0隐藏
sysCode?: string; // 归属系统default:主导航菜单、mobileApp:APP菜单
moduleCodes?: string; // 归属模块(多个用逗号隔开)
}
export const menuIndex = (params?: Menu | any) => defHttp.get<Menu>({ url: adminPath + '/sys/menu/index', params });
export const menuList = (params?: Menu | any) => defHttp.get<Menu>({ url: adminPath + '/sys/menu/list', params });
export const menuListData = (params?: Menu | any) =>
defHttp.post<Menu[]>({ url: adminPath + '/sys/menu/listData', params });
export const menuForm = (params?: Menu | any) => defHttp.get<Menu>({ url: adminPath + '/sys/menu/form', params });
export const menuCreateNextNode = (params?: Menu | any) =>
defHttp.get<Menu>({ url: adminPath + '/sys/menu/createNextNode', params });
export const menuSave = (params?: any, data?: Menu | any) =>
defHttp.postJson<Menu>({ url: adminPath + '/sys/menu/save', params, data });
export const menuDisable = (params?: Menu | any) => defHttp.get<Menu>({ url: adminPath + '/sys/menu/disable', params });
export const menuEnable = (params?: Menu | any) => defHttp.get<Menu>({ url: adminPath + '/sys/menu/enable', params });
export const menuDelete = (params?: Menu | any) => defHttp.get<Menu>({ url: adminPath + '/sys/menu/delete', params });
export const menuTreeData = (params?: any) =>
defHttp.get<TreeDataModel[]>({ url: adminPath + '/sys/menu/treeData', params });

View File

@@ -0,0 +1,43 @@
/**
* Copyright (c) 2013-Now http://jeesite.com All rights reserved.
* No deletion without permission, or be held responsible to law.
* @author ThinkGem
*/
import { defHttp } from '@jeesite/core/utils/http/axios';
import { useGlobSetting } from '@jeesite/core/hooks/setting';
import { BasicModel, Page } from '@jeesite/core/api/model/baseModel';
const { adminPath } = useGlobSetting();
export interface Module extends BasicModel<Module> {
moduleCode?: string; // 模块编码
moduleName?: string; // 模块名称
description?: string; // 模块描述
mainClassName?: string; // 主类全名
currentVersion?: string; // 当前版本
upgradeInfo?: string; // 升级信息
}
export const moduleList = (params?: Module | any) =>
defHttp.get<Module>({ url: adminPath + '/sys/module/list', params });
export const moduleListData = (params?: Module | any) =>
defHttp.post<Page<Module>>({ url: adminPath + '/sys/module/listData', params });
export const moduleSelectData = (params?: Module | any) =>
defHttp.post<Recordable[]>({ url: adminPath + '/sys/module/selectData', params });
export const moduleForm = (params?: Module | any) =>
defHttp.get<Module>({ url: adminPath + '/sys/module/form', params });
export const moduleSave = (params?: any, data?: Module | any) =>
defHttp.postJson<Module>({ url: adminPath + '/sys/module/save', params, data });
export const moduleDisable = (params?: Module | any) =>
defHttp.get<Module>({ url: adminPath + '/sys/module/disable', params });
export const moduleEnable = (params?: Module | any) =>
defHttp.get<Module>({ url: adminPath + '/sys/module/enable', params });
export const moduleDelete = (params?: Module | any) =>
defHttp.get<Module>({ url: adminPath + '/sys/module/delete', params });

View File

@@ -0,0 +1,68 @@
/**
* Copyright (c) 2013-Now http://jeesite.com All rights reserved.
* No deletion without permission, or be held responsible to law.
* @author ThinkGem
*/
import { defHttp } from '@jeesite/core/utils/http/axios';
import { useGlobSetting } from '@jeesite/core/hooks/setting';
import { TreeDataModel, TreeModel } from '@jeesite/core/api/model/baseModel';
import { UploadApiResult } from '@jeesite/core/api/sys/upload';
import { UploadFileParams } from '@jeesite/types/axios';
import { AxiosProgressEvent } from 'axios';
const { ctxPath, adminPath } = useGlobSetting();
export interface Office extends TreeModel<Office> {
officeCode?: string; // 机构编码
viewCode?: string; // 机构代码
officeName?: string; // 机构名称
fullName?: string; // 机构全称
officeType?: string; // 机构类型
leader?: string; // 负责人
phone?: string; // 办公电话
address?: string; // 联系地址
zipCode?: string; // 邮政编码
email?: string; // 电子邮箱
extend?: any; // 扩展字段
companyCode?: string; // 根据公司查询机构,组织机构所属公司
}
export const officeList = (params?: Office | any) =>
defHttp.get<Office>({ url: adminPath + '/sys/office/list', params });
export const officeListData = (params?: Office | any) =>
defHttp.post<Office[]>({ url: adminPath + '/sys/office/listData', params });
export const officeForm = (params?: Office | any) =>
defHttp.get<Office>({ url: adminPath + '/sys/office/form', params });
export const officeCreateNextNode = (params?: Office | any) =>
defHttp.get<Office>({ url: adminPath + '/sys/office/createNextNode', params });
export const officeSave = (params?: any, data?: Office | any) =>
defHttp.postJson<Office>({ url: adminPath + '/sys/office/save', params, data });
export const officeImportData = (
params: UploadFileParams,
onUploadProgress: (progressEvent: AxiosProgressEvent) => void,
) =>
defHttp.uploadFile<UploadApiResult>(
{
url: ctxPath + adminPath + '/sys/office/importData',
onUploadProgress,
},
params,
);
export const officeDisable = (params?: Office | any) =>
defHttp.get<Office>({ url: adminPath + '/sys/office/disable', params });
export const officeEnable = (params?: Office | any) =>
defHttp.get<Office>({ url: adminPath + '/sys/office/enable', params });
export const officeDelete = (params?: Office | any) =>
defHttp.get<Office>({ url: adminPath + '/sys/office/delete', params });
export const officeTreeData = (params?: any) =>
defHttp.get<TreeDataModel[]>({ url: adminPath + '/sys/office/treeData', params });

View File

@@ -0,0 +1,34 @@
/**
* Copyright (c) 2013-Now http://jeesite.com All rights reserved.
* No deletion without permission, or be held responsible to law.
* @author ThinkGem
*/
import { defHttp } from '@jeesite/core/utils/http/axios';
import { useGlobSetting } from '@jeesite/core/hooks/setting';
import type { Result } from '@jeesite/types/axios';
const { adminPath } = useGlobSetting();
export interface Online {
id?: string;
startTimestamp?: string;
lastAccessTime?: string;
timeout?: string;
userCode?: string;
userName?: string;
userType?: string;
deviceType?: string;
host?: string;
}
export const onlineList = (params?: Online | any) =>
defHttp.get<Online>({ url: adminPath + '/sys/online/list', params });
export const onlineListData = (params?: Online | any) =>
defHttp.post<Online[]>({ url: adminPath + '/sys/online/listData', params });
export const onlineTickOut = (params?: Online | any) =>
defHttp.post<Result>({ url: adminPath + '/sys/online/tickOut', params });
export const onlineCount = () =>
defHttp.post<any>({ url: adminPath + '/sys/online/count?__notUpdateSession=true' }, { errorMessageMode: 'none' });

View File

@@ -0,0 +1,37 @@
/**
* Copyright (c) 2013-Now http://jeesite.com All rights reserved.
* No deletion without permission, or be held responsible to law.
* @author ThinkGem
*/
import { defHttp } from '@jeesite/core/utils/http/axios';
import { useGlobSetting } from '@jeesite/core/hooks/setting';
import { TreeDataModel, BasicModel, Page } from '@jeesite/core/api/model/baseModel';
const { adminPath } = useGlobSetting();
export interface Post extends BasicModel<Post> {
postCode?: string; // 岗位编码
postName?: string; // 岗位名称
postType?: string; // 岗位分类(高管、中层、基层)
postSort?: number; // 岗位排序(升序)
viewCode?: string; // 岗位代码
}
export const postList = (params?: Post | any) => defHttp.get<Post>({ url: adminPath + '/sys/post/list', params });
export const postListData = (params?: Post | any) =>
defHttp.post<Page<Post>>({ url: adminPath + '/sys/post/listData', params });
export const postForm = (params?: Post | any) => defHttp.get<Post>({ url: adminPath + '/sys/post/form', params });
export const postDisable = (params?: Post | any) => defHttp.get<Post>({ url: adminPath + '/sys/post/disable', params });
export const postEnable = (params?: Post | any) => defHttp.get<Post>({ url: adminPath + '/sys/post/enable', params });
export const postSave = (params?: any, data?: Post | any) =>
defHttp.postJson<Post>({ url: adminPath + '/sys/post/save', params, data });
export const postDelete = (params?: Post | any) => defHttp.get<Post>({ url: adminPath + '/sys/post/delete', params });
export const postTreeData = (params?: any) =>
defHttp.get<TreeDataModel[]>({ url: adminPath + '/sys/post/treeData', params });

View File

@@ -0,0 +1,77 @@
/**
* Copyright (c) 2013-Now http://jeesite.com All rights reserved.
* No deletion without permission, or be held responsible to law.
* @author ThinkGem
*/
import { defHttp } from '@jeesite/core/utils/http/axios';
import { useGlobSetting } from '@jeesite/core/hooks/setting';
import { Page, TreeDataModel, BasicModel } from '@jeesite/core/api/model/baseModel';
const { adminPath } = useGlobSetting();
export interface Role extends BasicModel<Role> {
roleCode?: string; // 角色编码
roleName?: string; // 角色名称
roleType?: string; // 角色分类(高管、中层、基层、其它)
roleSort?: number; // 角色排序(升序)
isSys?: string; // 系统内置1是 0否
userType?: string; // 用户类型employee员工 member会员
dataScope?: string; // 数据范围设置0未设置 1全部数据 2自定义数据
bizScope?: string; // 适应业务范围(不同的功能,不同的数据权限支持)
sysCodes?: string; // 包含系统
extend?: any; // 扩展字段
viewCode?: string; // 角色代码
userCode?: string; // 根据用户编号查询授权的角色列表
}
export const roleList = (params?: Role | any) => defHttp.get<Role>({ url: adminPath + '/sys/role/list', params });
export const roleListData = (params?: Role | any) =>
defHttp.post<Page<Role>>({ url: adminPath + '/sys/role/listData', params });
export const roleForm = (params?: Role | any) => defHttp.get<Role>({ url: adminPath + '/sys/role/form', params });
export const roleMenuTreeData = (params?: any) =>
defHttp.get<Recordable>({ url: adminPath + '/sys/role/menuTreeData', params });
export const menuTreeDataByRoleCode = (params?: any) =>
defHttp.get<Recordable>({ url: adminPath + '/sys/role/menuTreeDataByRoleCode', params });
export const roleSave = (params?: any, data?: Role | any) =>
defHttp.postJson<Role>({ url: adminPath + '/sys/role/save', params, data });
export const checkRoleName = (oldRoleName: string, roleName: string) =>
defHttp.get<Role>({
url: adminPath + '/sys/role/checkRoleName',
params: { oldRoleName, roleName },
});
export const roleDisable = (params?: Role | any) => defHttp.get<Role>({ url: adminPath + '/sys/role/disable', params });
export const roleEnable = (params?: Role | any) => defHttp.get<Role>({ url: adminPath + '/sys/role/enable', params });
export const roleDelete = (params?: Role | any) => defHttp.get<Role>({ url: adminPath + '/sys/role/delete', params });
export const roleFormAuthDataScope = (params?: Role | any) =>
defHttp.get<Role>({ url: adminPath + '/sys/role/formAuthDataScope', params });
export const roleCtrlDataTreeData = (params?: any) => {
const { url, ...params2 } = params;
return defHttp.get<Role>({ url: adminPath + url, params: params2 });
};
export const roleSaveAuthDataScope = (params?: Role | any) =>
defHttp.post<Role>({ url: adminPath + '/sys/role/saveAuthDataScope', params });
export const formAuthUser = (params?: Role | any) =>
defHttp.get<Role>({ url: adminPath + '/sys/role/formAuthUser', params });
export const saveAuthUser = (params?: Role | any) =>
defHttp.post<Role>({ url: adminPath + '/sys/role/saveAuthUser', params });
export const deleteAuthUser = (params?: Role | any) =>
defHttp.post<Role>({ url: adminPath + '/sys/role/deleteAuthUser', params });
export const roleTreeData = (params?: any) =>
defHttp.get<TreeDataModel[]>({ url: adminPath + '/sys/role/treeData', params });

View File

@@ -0,0 +1,25 @@
/**
* Copyright (c) 2013-Now http://jeesite.com All rights reserved.
* No deletion without permission, or be held responsible to law.
* @author ThinkGem
*/
import { defHttp } from '@jeesite/core/utils/http/axios';
import { useGlobSetting } from '@jeesite/core/hooks/setting';
import { Page } from '@jeesite/core/api/model/baseModel';
import { User } from '@jeesite/core/api/sys/user';
const { adminPath } = useGlobSetting();
export const secAdminList = (params?: User | any) =>
defHttp.get<User>({ url: adminPath + '/sys/secAdmin/list', params });
export const secAdminListData = (params?: User | any) =>
defHttp.post<Page<User>>({ url: adminPath + '/sys/secAdmin/listData', params });
export const secAdminForm = (params?: User | any) =>
defHttp.get<User>({ url: adminPath + '/sys/secAdmin/form', params });
export const secAdminSave = (params?: any) => defHttp.post<User>({ url: adminPath + '/sys/secAdmin/save', params });
export const secAdminDelete = (params?: User | any) =>
defHttp.get<User>({ url: adminPath + '/sys/secAdmin/delete', params });

View File

@@ -0,0 +1,82 @@
import { defHttp } from '@jeesite/core/utils/http/axios';
import { UploadFileParams } from '@jeesite/types/axios';
import { useGlobSetting } from '@jeesite/core/hooks/setting';
import { BasicModel } from '@jeesite/core/api/model/baseModel';
import { AxiosProgressEvent } from 'axios';
const { ctxPath, adminPath } = useGlobSetting();
export interface UploadApiResult {
code: string;
// url: string;
result: string;
message: string;
fileEntityId: string;
fileUploadId: string;
fileUpload: FileUpload;
}
export interface FileEntity extends BasicModel<FileEntity> {
fileId: string;
fileMd5: string;
filePath: string;
fileContentType: string;
fileExtension: string;
fileSize: number;
fileMeta: string;
fileMetaMap: any;
filePreview: string;
}
export interface FileUpload extends BasicModel<FileUpload> {
fileEntity: FileEntity;
fileName: string;
fileType: string;
fileSort: number;
bizKey: string;
bizType: string;
bizKeyIsLike: string;
fileUrl?: string;
}
export interface UploadParams {
maxFileSize: number;
imageAllowSuffixes: string;
mediaAllowSuffixes: string;
fileAllowSuffixes: string;
imageMaxWidth?: number;
imageMaxHeight?: number;
checkmd5?: boolean;
chunked?: boolean;
chunkSize?: number;
threads?: number;
}
/**
* @description: Upload interface
*/
export function uploadFile(
params: UploadFileParams,
onUploadProgress: (progressEvent: ProgressEvent | AxiosProgressEvent) => void,
apiUploadUrl?: string,
) {
if (params.file != undefined) {
return defHttp.uploadFile<UploadApiResult>(
{
url: apiUploadUrl || ctxPath + adminPath + '/file/upload',
onUploadProgress,
},
params,
);
} else {
return defHttp.post(
{ url: apiUploadUrl || ctxPath + adminPath + '/file/upload', params },
{ errorMessageMode: 'none', apiUrl: '', urlPrefix: '' },
);
}
}
export const uploadFileList = (params?: FileUpload | any, apiFileListUrl?: string) =>
defHttp.get<FileUpload[]>(
{ url: apiFileListUrl || ctxPath + adminPath + '/file/fileList', params },
{ errorMessageMode: 'none', apiUrl: '', urlPrefix: '' },
);
export const uploadParams = () => defHttp.get<UploadParams>({ url: adminPath + '/file/params' });

View File

@@ -0,0 +1,75 @@
/**
* Copyright (c) 2013-Now http://jeesite.com All rights reserved.
* No deletion without permission, or be held responsible to law.
* @author ThinkGem
*/
import { defHttp } from '@jeesite/core/utils/http/axios';
import { useGlobSetting } from '@jeesite/core/hooks/setting';
import { BasicModel, Page } from '@jeesite/core/api/model/baseModel';
import { encryptByBase64 } from '@jeesite/core/utils/cipher';
const { adminPath } = useGlobSetting();
export interface User extends BasicModel<User> {
userCode?: string; // 用户编码
loginCode?: string; // 登录账号
userName?: string; // 用户昵称
password?: string; // 登录密码
email?: string; // 电子邮箱
mobile?: string; // 手机号码
phone?: string; // 办公电话
sex?: string; // 用户性别
avatar?: string; // 头像路径
sign?: string; // 个性签名
wxOpenid?: string; // 绑定的微信号
mobileImei?: string; // 绑定的手机串号
userType?: string; // 用户类型none未设置 employee员工 member会员
refCode?: string; // 用户类型引用编号
refName?: string; // 用户类型引用姓名
mgrType?: string; // 管理员类型0非管理员 1系统管理员 2二级管理员
lastLoginIp?: string; // 最后登陆IP
lastLoginDate?: string; // 最后登陆时间
freezeDate?: string; // 冻结时间
freezeCause?: string; // 冻结原因
userWeight?: number; // 用户权重(降序)
avatarBase64?: string; // 头像Base64数据修改头像时用
oldLastLoginIp?: string; // 上次登陆IP
oldLastLoginDate?: string; // 上次登陆日期
roleCode?: string; // 根据角色查询用户条件
isAll?: string; // 不过滤数据权限,查询全部用户
ctrlPermi?: string; // 权限控制类型(拥有权限、管理权限)
}
export const userListData = (params?: User | any) =>
defHttp.post<Page<User>>({ url: adminPath + '/sys/user/listData', params });
export const checkLoginCode = (oldLoginCode: string, loginCode: string) =>
defHttp.get<User>({
url: adminPath + '/sys/user/checkLoginCode',
params: { oldLoginCode, loginCode },
});
export const userInfo = (params?: any) => defHttp.post<User>({ url: adminPath + '/sys/user/info', params });
export const infoSaveBase = (params?: any) => defHttp.post<User>({ url: adminPath + '/sys/user/infoSaveBase', params });
export const infoSavePwd = (params?: any) => {
params.oldPassword = encryptByBase64(params.oldPassword);
params.newPassword = encryptByBase64(params.newPassword);
params.confirmNewPassword = encryptByBase64(params.confirmNewPassword);
return defHttp.post<User>({ url: adminPath + '/sys/user/infoSavePwd', params });
};
export const infoSavePqa = (params?: any) => {
params.validPassword = encryptByBase64(params.validPassword);
params.oldPwdQuestionAnswer = encryptByBase64(params.oldPwdQuestionAnswer);
params.oldPwdQuestionAnswer2 = encryptByBase64(params.oldPwdQuestionAnswer2);
params.oldPwdQuestionAnswer3 = encryptByBase64(params.oldPwdQuestionAnswer3);
params.pwdQuestionAnswer = encryptByBase64(params.pwdQuestionAnswer);
params.pwdQuestionAnswer2 = encryptByBase64(params.pwdQuestionAnswer2);
params.pwdQuestionAnswer3 = encryptByBase64(params.pwdQuestionAnswer3);
return defHttp.post<User>({ url: adminPath + '/sys/user/infoSavePqa', params });
};