✨ init api router
							parent
							
								
									34ac3bed8a
								
							
						
					
					
						commit
						4b2ef049f3
					
				|  | @ -0,0 +1,49 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | import { TentantNameVO } from './model/loginModel' | ||||||
|  | import { getRefreshToken } from '@/utils/auth' | ||||||
|  | 
 | ||||||
|  | enum Api { | ||||||
|  |   Login = '/system/auth/login', | ||||||
|  |   RefreshToken = '/system/auth/refresh-token?refreshToken=', | ||||||
|  |   GetTenantIdByName = '/system/tenant/get-id-by-name?name=', | ||||||
|  |   LoginOut = '/system/auth/logout', | ||||||
|  |   GetUserInfo = '/system/auth/get-permission-info', | ||||||
|  |   GetAsyncRoutes = '/system/auth/list-menus', | ||||||
|  |   GetCaptcha = '/system/captcha/get', | ||||||
|  |   CheckCaptcha = '/system/captcha/check' | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 刷新访问令牌
 | ||||||
|  | export const refreshToken = () => { | ||||||
|  |   return defHttp.post({ url: Api.RefreshToken + getRefreshToken() }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 使用租户名,获得租户编号
 | ||||||
|  | export const getTenantIdByName = (name: string) => { | ||||||
|  |   return defHttp.get<TentantNameVO>({ url: Api.GetTenantIdByName + name }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 登出
 | ||||||
|  | export const loginOut = () => { | ||||||
|  |   return defHttp.delete({ url: Api.LoginOut }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 获取用户权限信息
 | ||||||
|  | export const getUserInfo = () => { | ||||||
|  |   return defHttp.get({ url: Api.GetUserInfo }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 路由
 | ||||||
|  | export const getAsyncRoutes = () => { | ||||||
|  |   return defHttp.get({ url: Api.GetAsyncRoutes }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 获取验证图片  以及token
 | ||||||
|  | export const getCaptcha = (data) => { | ||||||
|  |   return defHttp.post({ url: Api.GetCaptcha, data }, { isReturnNativeResponse: true }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 滑动或者点选验证
 | ||||||
|  | export const checkCaptcha = (data) => { | ||||||
|  |   return defHttp.post({ url: Api.CheckCaptcha, data }, { isReturnNativeResponse: true }) | ||||||
|  | } | ||||||
|  | @ -2,7 +2,7 @@ import { defHttp } from '@/utils/http/axios' | ||||||
| import { getMenuListResultModel } from './model/menuModel' | import { getMenuListResultModel } from './model/menuModel' | ||||||
| 
 | 
 | ||||||
| enum Api { | enum Api { | ||||||
|   GetMenuList = '/getMenuList' |   GetMenuList = '/system/auth/list-menus' | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  | @ -0,0 +1,9 @@ | ||||||
|  | export type UserLoginVO = { | ||||||
|  |   username: string | ||||||
|  |   password: string | ||||||
|  |   captchaVerification: string | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export type TentantNameVO = { | ||||||
|  |   id: number | ||||||
|  | } | ||||||
|  | @ -4,11 +4,7 @@ | ||||||
| export interface LoginParams { | export interface LoginParams { | ||||||
|   username: string |   username: string | ||||||
|   password: string |   password: string | ||||||
| } |   captchaVerification: string | ||||||
| 
 |  | ||||||
| export interface RoleInfo { |  | ||||||
|   roleName: string |  | ||||||
|   value: string |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  | @ -16,23 +12,23 @@ export interface RoleInfo { | ||||||
|  */ |  */ | ||||||
| export interface LoginResultModel { | export interface LoginResultModel { | ||||||
|   userId: string | number |   userId: string | number | ||||||
|   token: string |   accessToken: string | ||||||
|   role: RoleInfo |   refreshToken: string | ||||||
|  |   expiresTime: number | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * @description: Get user information return value |  * @description: Get user information return value | ||||||
|  */ |  */ | ||||||
| export interface GetUserInfoModel { | export interface GetUserInfoModel { | ||||||
|   roles: RoleInfo[] |   roles: string[] | ||||||
|  |   permissions: string[] | ||||||
|   // 用户id
 |   // 用户id
 | ||||||
|   userId: string | number |   user: userModel | ||||||
|   // 用户名
 | } | ||||||
|   username: string | 
 | ||||||
|   // 真实名字
 | export interface userModel { | ||||||
|   realName: string |   id: string | number | ||||||
|   // 头像
 |   avatar: string | ||||||
|   avatar: string |   nickname: string | ||||||
|   // 介绍
 |  | ||||||
|   desc?: string |  | ||||||
| } | } | ||||||
|  | @ -0,0 +1,124 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | import { UploadFileParams } from '@/types/axios' | ||||||
|  | 
 | ||||||
|  | export interface ProfileDept { | ||||||
|  |   id: number | ||||||
|  |   name: string | ||||||
|  | } | ||||||
|  | export interface ProfileRole { | ||||||
|  |   id: number | ||||||
|  |   name: string | ||||||
|  | } | ||||||
|  | export interface ProfilePost { | ||||||
|  |   id: number | ||||||
|  |   name: string | ||||||
|  | } | ||||||
|  | export interface SocialUser { | ||||||
|  |   id: number | ||||||
|  |   type: number | ||||||
|  |   openid: string | ||||||
|  |   token: string | ||||||
|  |   rawTokenInfo: string | ||||||
|  |   nickname: string | ||||||
|  |   avatar: string | ||||||
|  |   rawUserInfo: string | ||||||
|  |   code: string | ||||||
|  |   state: string | ||||||
|  | } | ||||||
|  | export interface ProfileVO { | ||||||
|  |   id: number | ||||||
|  |   username: string | ||||||
|  |   nickname: string | ||||||
|  |   dept: ProfileDept | ||||||
|  |   roles: ProfileRole[] | ||||||
|  |   posts: ProfilePost[] | ||||||
|  |   socialUsers: SocialUser[] | ||||||
|  |   email: string | ||||||
|  |   mobile: string | ||||||
|  |   sex: number | ||||||
|  |   avatar: string | ||||||
|  |   status: number | ||||||
|  |   remark: string | ||||||
|  |   loginIp: string | ||||||
|  |   loginDate: Date | ||||||
|  |   createTime: Date | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface UserProfileUpdateReqVO { | ||||||
|  |   nickname: string | ||||||
|  |   email: string | ||||||
|  |   mobile: string | ||||||
|  |   sex: number | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | enum Api { | ||||||
|  |   getUserProfileApi = '/system/user/profile/get', | ||||||
|  |   putUserProfileApi = '/system/user/profile/update', | ||||||
|  |   uploadAvatarApi = '/system/user/profile/update-avatar', | ||||||
|  |   updateUserPwdApi = '/system/user/profile/update-password', | ||||||
|  |   socialBindApi = '/system/social-user/bind', | ||||||
|  |   socialUnbindApi = '/system/social-user/unbind' | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * @description: getUserProfileApi | ||||||
|  |  */ | ||||||
|  | export function getUserProfileApi() { | ||||||
|  |   return defHttp.get({ url: Api.getUserProfileApi }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * @description: updateUserProfileApi | ||||||
|  |  */ | ||||||
|  | export function updateUserProfileApi(data: UserProfileUpdateReqVO) { | ||||||
|  |   return defHttp.put({ url: Api.putUserProfileApi, data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 用户密码重置
 | ||||||
|  | export const updateUserPwdApi = (oldPassword: string, newPassword: string) => { | ||||||
|  |   return defHttp.put({ | ||||||
|  |     url: Api.updateUserPwdApi, | ||||||
|  |     data: { | ||||||
|  |       oldPassword: oldPassword, | ||||||
|  |       newPassword: newPassword | ||||||
|  |     } | ||||||
|  |   }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 用户头像上传
 | ||||||
|  | export const uploadAvatarApi = (data) => { | ||||||
|  |   const params: UploadFileParams = { | ||||||
|  |     file: data | ||||||
|  |   } | ||||||
|  |   return defHttp.uploadFile({ url: Api.uploadAvatarApi }, params) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 社交绑定,使用 code 授权码
 | ||||||
|  | export const socialBind = (type, code, state) => { | ||||||
|  |   return defHttp.post({ | ||||||
|  |     url: Api.socialBindApi, | ||||||
|  |     data: { | ||||||
|  |       type, | ||||||
|  |       code, | ||||||
|  |       state | ||||||
|  |     } | ||||||
|  |   }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 取消社交绑定
 | ||||||
|  | export const socialUnbind = (type, openid) => { | ||||||
|  |   return defHttp.delete({ | ||||||
|  |     url: Api.socialUnbindApi, | ||||||
|  |     data: { | ||||||
|  |       type, | ||||||
|  |       openid | ||||||
|  |     } | ||||||
|  |   }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 社交授权的跳转
 | ||||||
|  | export const socialAuthRedirect = (type, redirectUri) => { | ||||||
|  |   return defHttp.get({ | ||||||
|  |     url: '/system/auth/social-auth-redirect?type=' + type + '&redirectUri=' + redirectUri | ||||||
|  |   }) | ||||||
|  | } | ||||||
|  | @ -4,9 +4,9 @@ import { LoginParams, LoginResultModel, GetUserInfoModel } from './model/userMod | ||||||
| import { ErrorMessageMode } from '@/types/axios' | import { ErrorMessageMode } from '@/types/axios' | ||||||
| 
 | 
 | ||||||
| enum Api { | enum Api { | ||||||
|   Login = '/login', |   Login = '/system/auth/login', | ||||||
|   Logout = '/logout', |   Logout = '/system/auth/logout', | ||||||
|   GetUserInfo = '/getUserInfo', |   GetUserInfo = '/system/auth/get-permission-info', | ||||||
|   GetPermCode = '/getPermCode', |   GetPermCode = '/getPermCode', | ||||||
|   TestRetry = '/testRetry' |   TestRetry = '/testRetry' | ||||||
| } | } | ||||||
|  | @ -14,7 +14,7 @@ enum Api { | ||||||
| /** | /** | ||||||
|  * @description: user login api |  * @description: user login api | ||||||
|  */ |  */ | ||||||
| export const loginApi = (params: LoginParams, mode: ErrorMessageMode = 'modal') => { | export function loginApi(params: LoginParams, mode: ErrorMessageMode = 'modal') { | ||||||
|   return defHttp.post<LoginResultModel>( |   return defHttp.post<LoginResultModel>( | ||||||
|     { |     { | ||||||
|       url: Api.Login, |       url: Api.Login, | ||||||
|  | @ -29,19 +29,19 @@ export const loginApi = (params: LoginParams, mode: ErrorMessageMode = 'modal') | ||||||
| /** | /** | ||||||
|  * @description: getUserInfo |  * @description: getUserInfo | ||||||
|  */ |  */ | ||||||
| export const getUserInfo = () => { | export function getUserInfo() { | ||||||
|   return defHttp.get<GetUserInfoModel>({ url: Api.GetUserInfo }, { errorMessageMode: 'none' }) |   return defHttp.get<GetUserInfoModel>({ url: Api.GetUserInfo }, { errorMessageMode: 'none' }) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| export const getPermCode = () => { | export function getPermCode() { | ||||||
|   return defHttp.get<string[]>({ url: Api.GetPermCode }) |   return defHttp.get<string[]>({ url: Api.GetPermCode }) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| export const doLogout = () => { | export function doLogout() { | ||||||
|   return defHttp.get({ url: Api.Logout }) |   return defHttp.get({ url: Api.Logout }) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| export const testRetry = () => { | export function testRetry() { | ||||||
|   return defHttp.get( |   return defHttp.get( | ||||||
|     { url: Api.TestRetry }, |     { url: Api.TestRetry }, | ||||||
|     { |     { | ||||||
|  | @ -0,0 +1,32 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | import { FormVO } from './types' | ||||||
|  | 
 | ||||||
|  | // 创建工作流的表单定义
 | ||||||
|  | export const createFormApi = (data: FormVO) => { | ||||||
|  |   return defHttp.post({ url: '/bpm/form/create', data: data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 更新工作流的表单定义
 | ||||||
|  | export const updateFormApi = (data: FormVO) => { | ||||||
|  |   return defHttp.put({ url: '/bpm/form/update', data: data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 删除工作流的表单定义
 | ||||||
|  | export const deleteFormApi = (id: number) => { | ||||||
|  |   return defHttp.delete({ url: '/bpm/form/delete?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 获得工作流的表单定义
 | ||||||
|  | export const getFormApi = (id: number) => { | ||||||
|  |   return defHttp.get({ url: '/bpm/form/get?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 获得工作流的表单定义分页
 | ||||||
|  | export const getFormPageApi = (params) => { | ||||||
|  |   return defHttp.get({ url: '/bpm/form/page', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 获得动态表单的精简列表
 | ||||||
|  | export const getSimpleFormsApi = async () => { | ||||||
|  |   return await defHttp.get({ url: '/bpm/form/list-all-simple' }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,9 @@ | ||||||
|  | export type FormVO = { | ||||||
|  |   id: number | ||||||
|  |   name: string | ||||||
|  |   conf: string | ||||||
|  |   fields: string[] | ||||||
|  |   status: number | ||||||
|  |   remark: string | ||||||
|  |   createTime: string | ||||||
|  | } | ||||||
|  | @ -0,0 +1,17 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | import { LeaveVO } from './types' | ||||||
|  | 
 | ||||||
|  | // 创建请假申请
 | ||||||
|  | export const createLeaveApi = (data: LeaveVO) => { | ||||||
|  |   return defHttp.post({ url: '/bpm/oa/leave/create', data: data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 获得请假申请
 | ||||||
|  | export const getLeaveApi = (id: number) => { | ||||||
|  |   return defHttp.get({ url: '/bpm/oa/leave/get?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 获得请假申请分页
 | ||||||
|  | export const getLeavePageApi = (params) => { | ||||||
|  |   return defHttp.get({ url: '/bpm/oa/leave/page', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,10 @@ | ||||||
|  | export type LeaveVO = { | ||||||
|  |   id: number | ||||||
|  |   result: number | ||||||
|  |   type: number | ||||||
|  |   reason: string | ||||||
|  |   processInstanceId: string | ||||||
|  |   startTime: string | ||||||
|  |   endTime: string | ||||||
|  |   createTime: string | ||||||
|  | } | ||||||
|  | @ -0,0 +1,35 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | import { ModelVO } from './types' | ||||||
|  | 
 | ||||||
|  | export const getModelPageApi = (params) => { | ||||||
|  |   return defHttp.get({ url: '/bpm/model/page', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export const getModelApi = (id: number) => { | ||||||
|  |   return defHttp.get({ url: '/bpm/model/get?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export const updateModelApi = (data: ModelVO) => { | ||||||
|  |   return defHttp.put({ url: '/bpm/model/update', data: data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 任务状态修改
 | ||||||
|  | export const updateModelStateApi = (id: number, state: number) => { | ||||||
|  |   const data = { | ||||||
|  |     id: id, | ||||||
|  |     state: state | ||||||
|  |   } | ||||||
|  |   return defHttp.put({ url: '/bpm/model/update-state', data: data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export const createModelApi = (data: ModelVO) => { | ||||||
|  |   return defHttp.post({ url: '/bpm/model/create', data: data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export const deleteModelApi = (id: number) => { | ||||||
|  |   return defHttp.delete({ url: '/bpm/model/delete?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export const deployModelApi = (id: number) => { | ||||||
|  |   return defHttp.post({ url: '/bpm/model/deploy?id=' + id }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,23 @@ | ||||||
|  | export type ProcessDefinitionVO = { | ||||||
|  |   id: string | ||||||
|  |   version: number | ||||||
|  |   deploymentTIme: string | ||||||
|  |   suspensionState: number | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export type ModelVO = { | ||||||
|  |   id: number | ||||||
|  |   formName: string | ||||||
|  |   key: string | ||||||
|  |   name: string | ||||||
|  |   description: string | ||||||
|  |   category: string | ||||||
|  |   formType: number | ||||||
|  |   formId: number | ||||||
|  |   formCustomCreatePath: string | ||||||
|  |   formCustomViewPath: string | ||||||
|  |   processDefinition: ProcessDefinitionVO | ||||||
|  |   status: number | ||||||
|  |   remark: string | ||||||
|  |   createTime: string | ||||||
|  | } | ||||||
|  | @ -0,0 +1,22 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | import { ProcessInstanceVO } from './types' | ||||||
|  | 
 | ||||||
|  | export const getMyProcessInstancePageApi = (params) => { | ||||||
|  |   return defHttp.get({ url: '/bpm/process-instance/my-page', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export const createProcessInstanceApi = (data: ProcessInstanceVO) => { | ||||||
|  |   return defHttp.post({ url: '/bpm/process-instance/create', data: data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export const cancelProcessInstanceApi = (id: number, reason: string) => { | ||||||
|  |   const data = { | ||||||
|  |     id: id, | ||||||
|  |     reason: reason | ||||||
|  |   } | ||||||
|  |   return defHttp.delete({ url: '/bpm/process-instance/cancel', data: data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export const getProcessInstanceApi = (id: number) => { | ||||||
|  |   return defHttp.get({ url: '/bpm/process-instance/get?id=' + id }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,18 @@ | ||||||
|  | export type task = { | ||||||
|  |   id: string | ||||||
|  |   name: string | ||||||
|  | } | ||||||
|  | export type ProcessInstanceVO = { | ||||||
|  |   id: number | ||||||
|  |   name: string | ||||||
|  |   processDefinitionId: string | ||||||
|  |   category: string | ||||||
|  |   result: number | ||||||
|  |   tasks: task[] | ||||||
|  |   fields: string[] | ||||||
|  |   status: number | ||||||
|  |   remark: string | ||||||
|  |   businessKey: string | ||||||
|  |   createTime: string | ||||||
|  |   endTime: string | ||||||
|  | } | ||||||
|  | @ -0,0 +1,34 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | 
 | ||||||
|  | export const getTodoTaskPage = (params) => { | ||||||
|  |   return defHttp.get({ url: '/bpm/task/todo-page', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export const getDoneTaskPage = (params) => { | ||||||
|  |   return defHttp.get({ url: '/bpm/task/done-page', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export const completeTask = (data) => { | ||||||
|  |   return defHttp.put({ url: '/bpm/task/complete', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export const approveTask = (data) => { | ||||||
|  |   return defHttp.put({ url: '/bpm/task/approve', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export const rejectTask = (data) => { | ||||||
|  |   return defHttp.put({ url: '/bpm/task/reject', data }) | ||||||
|  | } | ||||||
|  | export const backTask = (data) => { | ||||||
|  |   return defHttp.put({ url: '/bpm/task/back', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export const updateTaskAssignee = (data) => { | ||||||
|  |   return defHttp.put({ url: '/bpm/task/update-assignee', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export const getTaskListByProcessInstanceId = (processInstanceId) => { | ||||||
|  |   return defHttp.get({ | ||||||
|  |     url: '/bpm/task/list-by-process-instance-id?processInstanceId=' + processInstanceId | ||||||
|  |   }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,39 @@ | ||||||
|  | export type FormVO = { | ||||||
|  |   id: number | ||||||
|  |   name: string | ||||||
|  |   conf: string | ||||||
|  |   fields: string[] | ||||||
|  |   status: number | ||||||
|  |   remark: string | ||||||
|  |   createTime: string | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export type TaskProcessVO = { | ||||||
|  |   id: string | ||||||
|  |   name: string | ||||||
|  |   startUserId: number | ||||||
|  |   startUserNickname: string | ||||||
|  |   processDefinitionId: string | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export type TaskTodoVO = { | ||||||
|  |   id: string | ||||||
|  |   name: string | ||||||
|  |   claimTime: string | ||||||
|  |   createTime: string | ||||||
|  |   suspensionState: number | ||||||
|  |   processInstance: TaskProcessVO | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export type TaskDoneVO = { | ||||||
|  |   id: string | ||||||
|  |   name: string | ||||||
|  |   claimTime: string | ||||||
|  |   createTime: string | ||||||
|  |   endTime: string | ||||||
|  |   durationInMillis: number | ||||||
|  |   suspensionState: number | ||||||
|  |   result: number | ||||||
|  |   reason: string | ||||||
|  |   processInstance: TaskProcessVO | ||||||
|  | } | ||||||
|  | @ -0,0 +1,20 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | import { TaskAssignVO } from './types' | ||||||
|  | 
 | ||||||
|  | export const getTaskAssignRuleList = (params) => { | ||||||
|  |   return defHttp.get({ url: '/bpm/task-assign-rule/list', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export const createTaskAssignRule = (data: TaskAssignVO) => { | ||||||
|  |   return defHttp.post({ | ||||||
|  |     url: '/bpm/task-assign-rule/create', | ||||||
|  |     data: data | ||||||
|  |   }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export const updateTaskAssignRule = (data: TaskAssignVO) => { | ||||||
|  |   return defHttp.put({ | ||||||
|  |     url: '/bpm/task-assign-rule/update', | ||||||
|  |     data: data | ||||||
|  |   }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,9 @@ | ||||||
|  | export type TaskAssignVO = { | ||||||
|  |   id: number | ||||||
|  |   modelId: string | ||||||
|  |   processDefinitionId: string | ||||||
|  |   taskDefinitionKey: string | ||||||
|  |   taskDefinitionName: string | ||||||
|  |   options: string[] | ||||||
|  |   type: number | ||||||
|  | } | ||||||
|  | @ -0,0 +1,38 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | import { UserGroupVO } from './types' | ||||||
|  | 
 | ||||||
|  | // 创建用户组
 | ||||||
|  | export const createUserGroupApi = (data: UserGroupVO) => { | ||||||
|  |   return defHttp.post({ | ||||||
|  |     url: '/bpm/user-group/create', | ||||||
|  |     data: data | ||||||
|  |   }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 更新用户组
 | ||||||
|  | export const updateUserGroupApi = (data: UserGroupVO) => { | ||||||
|  |   return defHttp.put({ | ||||||
|  |     url: '/bpm/user-group/update', | ||||||
|  |     data: data | ||||||
|  |   }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 删除用户组
 | ||||||
|  | export const deleteUserGroupApi = (id: number) => { | ||||||
|  |   return defHttp.delete({ url: '/bpm/user-group/delete?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 获得用户组
 | ||||||
|  | export const getUserGroupApi = (id: number) => { | ||||||
|  |   return defHttp.get({ url: '/bpm/user-group/get?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 获得用户组分页
 | ||||||
|  | export const getUserGroupPageApi = (params) => { | ||||||
|  |   return defHttp.get({ url: '/bpm/user-group/page', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 获取用户组精简信息列表
 | ||||||
|  | export const listSimpleUserGroupsApi = () => { | ||||||
|  |   return defHttp.get({ url: '/bpm/user-group/list-all-simple' }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,9 @@ | ||||||
|  | export type UserGroupVO = { | ||||||
|  |   id: number | ||||||
|  |   name: string | ||||||
|  |   description: string | ||||||
|  |   memberUserIds: number[] | ||||||
|  |   status: number | ||||||
|  |   remark: string | ||||||
|  |   createTime: string | ||||||
|  | } | ||||||
|  | @ -1,22 +0,0 @@ | ||||||
| import { defHttp } from '@/utils/http/axios' |  | ||||||
| import { GetAccountInfoModel } from './model/accountModel' |  | ||||||
| 
 |  | ||||||
| enum Api { |  | ||||||
|   ACCOUNT_INFO = '/account/getAccountInfo', |  | ||||||
|   SESSION_TIMEOUT = '/user/sessionTimeout', |  | ||||||
|   TOKEN_EXPIRED = '/user/tokenExpired' |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Get personal center-basic settings
 |  | ||||||
| 
 |  | ||||||
| export const accountInfoApi = () => { |  | ||||||
|   return defHttp.get<GetAccountInfoModel>({ url: Api.ACCOUNT_INFO }) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| export const sessionTimeoutApi = () => { |  | ||||||
|   return defHttp.post<void>({ url: Api.SESSION_TIMEOUT }) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| export const tokenExpiredApi = () => { |  | ||||||
|   return defHttp.post<void>({ url: Api.TOKEN_EXPIRED }) |  | ||||||
| } |  | ||||||
|  | @ -1,10 +0,0 @@ | ||||||
| import { defHttp } from '@/utils/http/axios' |  | ||||||
| import { AreaModel, AreaParams } from '@/api/demo/model/areaModel' |  | ||||||
| 
 |  | ||||||
| enum Api { |  | ||||||
|   AREA_RECORD = '/cascader/getAreaRecord' |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| export const areaRecord = (data: AreaParams) => { |  | ||||||
|   return defHttp.post<AreaModel>({ url: Api.AREA_RECORD, data }) |  | ||||||
| } |  | ||||||
|  | @ -1,14 +0,0 @@ | ||||||
| import { defHttp } from '@/utils/http/axios' |  | ||||||
| 
 |  | ||||||
| enum Api { |  | ||||||
|   // The address does not exist
 |  | ||||||
|   Error = '/error' |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| /** |  | ||||||
|  * @description: Trigger ajax error |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| export const fireErrorApi = () => { |  | ||||||
|   return defHttp.get({ url: Api.Error }) |  | ||||||
| } |  | ||||||
|  | @ -1,7 +0,0 @@ | ||||||
| export interface GetAccountInfoModel { |  | ||||||
|   email: string |  | ||||||
|   name: string |  | ||||||
|   introduction: string |  | ||||||
|   phone: string |  | ||||||
|   address: string |  | ||||||
| } |  | ||||||
|  | @ -1,12 +0,0 @@ | ||||||
| export interface AreaModel { |  | ||||||
|   id: string |  | ||||||
|   code: string |  | ||||||
|   parentCode: string |  | ||||||
|   name: string |  | ||||||
|   levelType: number |  | ||||||
|   [key: string]: string | number |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| export interface AreaParams { |  | ||||||
|   parentCode: string |  | ||||||
| } |  | ||||||
|  | @ -1,15 +0,0 @@ | ||||||
| import { BasicFetchResult } from '@/api/model/baseModel' |  | ||||||
| 
 |  | ||||||
| export interface DemoOptionsItem { |  | ||||||
|   label: string |  | ||||||
|   value: string |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| export interface selectParams { |  | ||||||
|   id: number | string |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| /** |  | ||||||
|  * @description: Request list return value |  | ||||||
|  */ |  | ||||||
| export type DemoOptionsGetResultModel = BasicFetchResult<DemoOptionsItem> |  | ||||||
|  | @ -1,74 +0,0 @@ | ||||||
| import { BasicPageParams, BasicFetchResult } from '@/api/model/baseModel' |  | ||||||
| 
 |  | ||||||
| export type AccountParams = BasicPageParams & { |  | ||||||
|   account?: string |  | ||||||
|   nickname?: string |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| export type RoleParams = { |  | ||||||
|   roleName?: string |  | ||||||
|   status?: string |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| export type RolePageParams = BasicPageParams & RoleParams |  | ||||||
| 
 |  | ||||||
| export type DeptParams = { |  | ||||||
|   deptName?: string |  | ||||||
|   status?: string |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| export type MenuParams = { |  | ||||||
|   menuName?: string |  | ||||||
|   status?: string |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| export interface AccountListItem { |  | ||||||
|   id: string |  | ||||||
|   account: string |  | ||||||
|   email: string |  | ||||||
|   nickname: string |  | ||||||
|   role: number |  | ||||||
|   createTime: string |  | ||||||
|   remark: string |  | ||||||
|   status: number |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| export interface DeptListItem { |  | ||||||
|   id: string |  | ||||||
|   orderNo: string |  | ||||||
|   createTime: string |  | ||||||
|   remark: string |  | ||||||
|   status: number |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| export interface MenuListItem { |  | ||||||
|   id: string |  | ||||||
|   orderNo: string |  | ||||||
|   createTime: string |  | ||||||
|   status: number |  | ||||||
|   icon: string |  | ||||||
|   component: string |  | ||||||
|   permission: string |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| export interface RoleListItem { |  | ||||||
|   id: string |  | ||||||
|   roleName: string |  | ||||||
|   roleValue: string |  | ||||||
|   status: number |  | ||||||
|   orderNo: string |  | ||||||
|   createTime: string |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| /** |  | ||||||
|  * @description: Request list return value |  | ||||||
|  */ |  | ||||||
| export type AccountListGetResultModel = BasicFetchResult<AccountListItem> |  | ||||||
| 
 |  | ||||||
| export type DeptListGetResultModel = BasicFetchResult<DeptListItem> |  | ||||||
| 
 |  | ||||||
| export type MenuListGetResultModel = BasicFetchResult<MenuListItem> |  | ||||||
| 
 |  | ||||||
| export type RolePageListGetResultModel = BasicFetchResult<RoleListItem> |  | ||||||
| 
 |  | ||||||
| export type RoleListGetResultModel = RoleListItem[] |  | ||||||
|  | @ -1,20 +0,0 @@ | ||||||
| import { BasicPageParams, BasicFetchResult } from '@/api/model/baseModel' |  | ||||||
| /** |  | ||||||
|  * @description: Request list interface parameters |  | ||||||
|  */ |  | ||||||
| export type DemoParams = BasicPageParams |  | ||||||
| 
 |  | ||||||
| export interface DemoListItem { |  | ||||||
|   id: string |  | ||||||
|   beginTime: string |  | ||||||
|   endTime: string |  | ||||||
|   address: string |  | ||||||
|   name: string |  | ||||||
|   no: number |  | ||||||
|   status: number |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| /** |  | ||||||
|  * @description: Request list return value |  | ||||||
|  */ |  | ||||||
| export type DemoListGetResultModel = BasicFetchResult<DemoListItem> |  | ||||||
|  | @ -1,12 +0,0 @@ | ||||||
| import { defHttp } from '@/utils/http/axios' |  | ||||||
| import { DemoOptionsItem, selectParams } from './model/optionsModel' |  | ||||||
| enum Api { |  | ||||||
|   OPTIONS_LIST = '/select/getDemoOptions' |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| /** |  | ||||||
|  * @description: Get sample options value |  | ||||||
|  */ |  | ||||||
| export const optionsListApi = (params?: selectParams) => { |  | ||||||
|   return defHttp.get<DemoOptionsItem[]>({ url: Api.OPTIONS_LIST, params }) |  | ||||||
| } |  | ||||||
|  | @ -1,51 +0,0 @@ | ||||||
| import { |  | ||||||
|   AccountParams, |  | ||||||
|   DeptListItem, |  | ||||||
|   MenuParams, |  | ||||||
|   RoleParams, |  | ||||||
|   RolePageParams, |  | ||||||
|   MenuListGetResultModel, |  | ||||||
|   DeptListGetResultModel, |  | ||||||
|   AccountListGetResultModel, |  | ||||||
|   RolePageListGetResultModel, |  | ||||||
|   RoleListGetResultModel |  | ||||||
| } from './model/systemModel' |  | ||||||
| import { defHttp } from '@/utils/http/axios' |  | ||||||
| 
 |  | ||||||
| enum Api { |  | ||||||
|   AccountList = '/system/getAccountList', |  | ||||||
|   IsAccountExist = '/system/accountExist', |  | ||||||
|   DeptList = '/system/getDeptList', |  | ||||||
|   setRoleStatus = '/system/setRoleStatus', |  | ||||||
|   MenuList = '/system/getMenuList', |  | ||||||
|   RolePageList = '/system/getRoleListByPage', |  | ||||||
|   GetAllRoleList = '/system/getAllRoleList' |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| export const getAccountList = (params: AccountParams) => { |  | ||||||
|   return defHttp.get<AccountListGetResultModel>({ url: Api.AccountList, params }) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| export const getDeptList = (params?: DeptListItem) => { |  | ||||||
|   return defHttp.get<DeptListGetResultModel>({ url: Api.DeptList, params }) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| export const getMenuList = (params?: MenuParams) => { |  | ||||||
|   return defHttp.get<MenuListGetResultModel>({ url: Api.MenuList, params }) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| export const getRoleListByPage = (params?: RolePageParams) => { |  | ||||||
|   return defHttp.get<RolePageListGetResultModel>({ url: Api.RolePageList, params }) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| export const getAllRoleList = (params?: RoleParams) => { |  | ||||||
|   return defHttp.get<RoleListGetResultModel>({ url: Api.GetAllRoleList, params }) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| export const setRoleStatus = (id: number, status: string) => { |  | ||||||
|   return defHttp.post({ url: Api.setRoleStatus, params: { id, status } }) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| export const isAccountExist = (account: string) => { |  | ||||||
|   return defHttp.post({ url: Api.IsAccountExist, params: { account } }, { errorMessageMode: 'none' }) |  | ||||||
| } |  | ||||||
|  | @ -1,21 +0,0 @@ | ||||||
| import { defHttp } from '@/utils/http/axios' |  | ||||||
| import { DemoParams, DemoListGetResultModel } from './model/tableModel' |  | ||||||
| 
 |  | ||||||
| enum Api { |  | ||||||
|   DEMO_LIST = '/table/getDemoList' |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| /** |  | ||||||
|  * @description: Get sample list value |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| export const demoListApi = (params: DemoParams) => { |  | ||||||
|   return defHttp.get<DemoListGetResultModel>({ |  | ||||||
|     url: Api.DEMO_LIST, |  | ||||||
|     params, |  | ||||||
|     headers: { |  | ||||||
|       // @ts-ignore
 |  | ||||||
|       ignoreCancelToken: true |  | ||||||
|     } |  | ||||||
|   }) |  | ||||||
| } |  | ||||||
|  | @ -1,12 +0,0 @@ | ||||||
| import { defHttp } from '@/utils/http/axios' |  | ||||||
| 
 |  | ||||||
| enum Api { |  | ||||||
|   TREE_OPTIONS_LIST = '/tree/getDemoOptions' |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| /** |  | ||||||
|  * @description: Get sample options value |  | ||||||
|  */ |  | ||||||
| export const treeOptionsListApi = (params?: Recordable) => { |  | ||||||
|   return defHttp.get<Recordable[]>({ url: Api.TREE_OPTIONS_LIST, params }) |  | ||||||
| } |  | ||||||
|  | @ -0,0 +1,50 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | 
 | ||||||
|  | export interface ApiAccessLogVO { | ||||||
|  |   id: number | ||||||
|  |   traceId: string | ||||||
|  |   userId: number | ||||||
|  |   userType: number | ||||||
|  |   applicationName: string | ||||||
|  |   requestMethod: string | ||||||
|  |   requestParams: string | ||||||
|  |   requestUrl: string | ||||||
|  |   userIp: string | ||||||
|  |   userAgent: string | ||||||
|  |   beginTime: Date | ||||||
|  |   endTIme: Date | ||||||
|  |   duration: number | ||||||
|  |   resultCode: number | ||||||
|  |   resultMsg: string | ||||||
|  |   createTime: Date | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface ApiAccessLogPageReqVO extends PageParam { | ||||||
|  |   userId?: number | ||||||
|  |   userType?: number | ||||||
|  |   applicationName?: string | ||||||
|  |   requestUrl?: string | ||||||
|  |   beginTime?: Date[] | ||||||
|  |   duration?: number | ||||||
|  |   resultCode?: number | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface ApiAccessLogExportReqVO { | ||||||
|  |   userId?: number | ||||||
|  |   userType?: number | ||||||
|  |   applicationName?: string | ||||||
|  |   requestUrl?: string | ||||||
|  |   beginTime?: Date[] | ||||||
|  |   duration?: number | ||||||
|  |   resultCode?: number | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询列表API 访问日志
 | ||||||
|  | export const getApiAccessLogPageApi = (params: ApiAccessLogPageReqVO) => { | ||||||
|  |   return defHttp.get({ url: '/infra/api-access-log/page', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 导出API 访问日志
 | ||||||
|  | export const exportApiAccessLogApi = (params: ApiAccessLogExportReqVO) => { | ||||||
|  |   return defHttp.download({ url: '/infra/api-access-log/export-excel', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,66 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | 
 | ||||||
|  | export interface ApiErrorLogVO { | ||||||
|  |   id: number | ||||||
|  |   traceId: string | ||||||
|  |   userId: number | ||||||
|  |   userType: number | ||||||
|  |   applicationName: string | ||||||
|  |   requestMethod: string | ||||||
|  |   requestParams: string | ||||||
|  |   requestUrl: string | ||||||
|  |   userIp: string | ||||||
|  |   userAgent: string | ||||||
|  |   exceptionTime: Date | ||||||
|  |   exceptionName: string | ||||||
|  |   exceptionMessage: string | ||||||
|  |   exceptionRootCauseMessage: string | ||||||
|  |   exceptionStackTrace: string | ||||||
|  |   exceptionClassName: string | ||||||
|  |   exceptionFileName: string | ||||||
|  |   exceptionMethodName: string | ||||||
|  |   exceptionLineNumber: number | ||||||
|  |   processUserId: number | ||||||
|  |   processStatus: number | ||||||
|  |   processTime: Date | ||||||
|  |   resultCode: number | ||||||
|  |   createTime: Date | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface ApiErrorLogPageReqVO extends PageParam { | ||||||
|  |   userId?: number | ||||||
|  |   userType?: number | ||||||
|  |   applicationName?: string | ||||||
|  |   requestUrl?: string | ||||||
|  |   exceptionTime?: Date[] | ||||||
|  |   processStatus: number | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface ApiErrorLogExportReqVO { | ||||||
|  |   userId?: number | ||||||
|  |   userType?: number | ||||||
|  |   applicationName?: string | ||||||
|  |   requestUrl?: string | ||||||
|  |   exceptionTime?: Date[] | ||||||
|  |   processStatus: number | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询列表API 访问日志
 | ||||||
|  | export const getApiErrorLogPageApi = (params: ApiErrorLogPageReqVO) => { | ||||||
|  |   return defHttp.get({ url: '/infra/api-error-log/page', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 更新 API 错误日志的处理状态
 | ||||||
|  | export const updateApiErrorLogPageApi = (id: number, processStatus: number) => { | ||||||
|  |   return defHttp.put({ | ||||||
|  |     url: '/infra/api-error-log/update-status?id=' + id + '&processStatus=' + processStatus | ||||||
|  |   }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 导出API 访问日志
 | ||||||
|  | export const exportApiErrorLogApi = (params: ApiErrorLogExportReqVO) => { | ||||||
|  |   return defHttp.download({ | ||||||
|  |     url: '/infra/api-error-log/export-excel', | ||||||
|  |     params | ||||||
|  |   }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,57 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | import type { CodegenUpdateReqVO, CodegenCreateListReqVO } from './types' | ||||||
|  | 
 | ||||||
|  | // 查询列表代码生成表定义
 | ||||||
|  | export const getCodegenTablePageApi = (params) => { | ||||||
|  |   return defHttp.get({ url: '/infra/codegen/table/page', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询详情代码生成表定义
 | ||||||
|  | export const getCodegenTableApi = (id: number) => { | ||||||
|  |   return defHttp.get({ url: '/infra/codegen/detail?tableId=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 新增代码生成表定义
 | ||||||
|  | export const createCodegenTableApi = (data: CodegenCreateListReqVO) => { | ||||||
|  |   return defHttp.post({ url: '/infra/codegen/create', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 修改代码生成表定义
 | ||||||
|  | export const updateCodegenTableApi = (data: CodegenUpdateReqVO) => { | ||||||
|  |   return defHttp.put({ url: '/infra/codegen/update', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 基于数据库的表结构,同步数据库的表和字段定义
 | ||||||
|  | export const syncCodegenFromDBApi = (id: number) => { | ||||||
|  |   return defHttp.put({ url: '/infra/codegen/sync-from-db?tableId=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 基于 SQL 建表语句,同步数据库的表和字段定义
 | ||||||
|  | export const syncCodegenFromSQLApi = (id: number, sql: string) => { | ||||||
|  |   return defHttp.put({ url: '/infra/codegen/sync-from-sql?tableId=' + id + '&sql=' + sql }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 预览生成代码
 | ||||||
|  | export const previewCodegenApi = (id: number) => { | ||||||
|  |   return defHttp.get({ url: '/infra/codegen/preview?tableId=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 下载生成代码
 | ||||||
|  | export const downloadCodegenApi = (id: number) => { | ||||||
|  |   return defHttp.download({ url: '/infra/codegen/download?tableId=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 获得表定义
 | ||||||
|  | export const getSchemaTableListApi = (params) => { | ||||||
|  |   return defHttp.get({ url: '/infra/codegen/db/table/list', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 基于数据库的表结构,创建代码生成器的表定义
 | ||||||
|  | export const createCodegenListApi = (data) => { | ||||||
|  |   return defHttp.post({ url: '/infra/codegen/create-list', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 删除代码生成表定义
 | ||||||
|  | export const deleteCodegenTableApi = (id: number) => { | ||||||
|  |   return defHttp.delete({ url: '/infra/codegen/delete?tableId=' + id }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,61 @@ | ||||||
|  | export type CodegenTableVO = { | ||||||
|  |   id: number | ||||||
|  |   tableId: number | ||||||
|  |   isParentMenuIdValid: boolean | ||||||
|  |   dataSourceConfigId: number | ||||||
|  |   scene: number | ||||||
|  |   tableName: string | ||||||
|  |   tableComment: string | ||||||
|  |   remark: string | ||||||
|  |   moduleName: string | ||||||
|  |   businessName: string | ||||||
|  |   className: string | ||||||
|  |   classComment: string | ||||||
|  |   author: string | ||||||
|  |   createTime: Date | ||||||
|  |   updateTime: Date | ||||||
|  |   templateType: number | ||||||
|  |   parentMenuId: number | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export type CodegenColumnVO = { | ||||||
|  |   id: number | ||||||
|  |   tableId: number | ||||||
|  |   columnName: string | ||||||
|  |   dataType: string | ||||||
|  |   columnComment: string | ||||||
|  |   nullable: number | ||||||
|  |   primaryKey: number | ||||||
|  |   autoIncrement: string | ||||||
|  |   ordinalPosition: number | ||||||
|  |   javaType: string | ||||||
|  |   javaField: string | ||||||
|  |   dictType: string | ||||||
|  |   example: string | ||||||
|  |   createOperation: number | ||||||
|  |   updateOperation: number | ||||||
|  |   listOperation: number | ||||||
|  |   listOperationCondition: string | ||||||
|  |   listOperationResult: number | ||||||
|  |   htmlType: string | ||||||
|  | } | ||||||
|  | export type DatabaseTableVO = { | ||||||
|  |   name: string | ||||||
|  |   comment: string | ||||||
|  | } | ||||||
|  | export type CodegenDetailVO = { | ||||||
|  |   table: CodegenTableVO | ||||||
|  |   columns: CodegenColumnVO[] | ||||||
|  | } | ||||||
|  | export type CodegenPreviewVO = { | ||||||
|  |   filePath: string | ||||||
|  |   code: string | ||||||
|  | } | ||||||
|  | export type CodegenUpdateReqVO = { | ||||||
|  |   table: CodegenTableVO | ||||||
|  |   columns: CodegenColumnVO[] | ||||||
|  | } | ||||||
|  | export type CodegenCreateListReqVO = { | ||||||
|  |   dataSourceConfigId: number | ||||||
|  |   tableNames: string[] | ||||||
|  | } | ||||||
|  | @ -0,0 +1,62 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | 
 | ||||||
|  | export interface ConfigVO { | ||||||
|  |   id: number | ||||||
|  |   category: string | ||||||
|  |   name: string | ||||||
|  |   key: string | ||||||
|  |   value: string | ||||||
|  |   type: number | ||||||
|  |   visible: boolean | ||||||
|  |   remark: string | ||||||
|  |   createTime: Date | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface ConfigPageReqVO extends PageParam { | ||||||
|  |   name?: string | ||||||
|  |   key?: string | ||||||
|  |   type?: number | ||||||
|  |   createTime?: Date[] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface ConfigExportReqVO { | ||||||
|  |   name?: string | ||||||
|  |   key?: string | ||||||
|  |   type?: number | ||||||
|  |   createTime?: Date[] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询参数列表
 | ||||||
|  | export const getConfigPageApi = (params: ConfigPageReqVO) => { | ||||||
|  |   return defHttp.get({ url: '/infra/config/page', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询参数详情
 | ||||||
|  | export const getConfigApi = (id: number) => { | ||||||
|  |   return defHttp.get({ url: '/infra/config/get?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 根据参数键名查询参数值
 | ||||||
|  | export const getConfigKeyApi = (configKey: string) => { | ||||||
|  |   return defHttp.get({ url: '/infra/config/get-value-by-key?key=' + configKey }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 新增参数
 | ||||||
|  | export const createConfigApi = (data: ConfigVO) => { | ||||||
|  |   return defHttp.post({ url: '/infra/config/create', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 修改参数
 | ||||||
|  | export const updateConfigApi = (data: ConfigVO) => { | ||||||
|  |   return defHttp.put({ url: '/infra/config/update', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 删除参数
 | ||||||
|  | export const deleteConfigApi = (id: number) => { | ||||||
|  |   return defHttp.delete({ url: '/infra/config/delete?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 导出参数
 | ||||||
|  | export const exportConfigApi = (params: ConfigExportReqVO) => { | ||||||
|  |   return defHttp.download({ url: '/infra/config/export', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,35 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | 
 | ||||||
|  | export interface DataSourceConfigVO { | ||||||
|  |   id: number | ||||||
|  |   name: string | ||||||
|  |   url: string | ||||||
|  |   username: string | ||||||
|  |   password: string | ||||||
|  |   createTime: Date | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询数据源配置列表
 | ||||||
|  | export const getDataSourceConfigListApi = () => { | ||||||
|  |   return defHttp.get({ url: '/infra/data-source-config/list' }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询数据源配置详情
 | ||||||
|  | export const getDataSourceConfigApi = (id: number) => { | ||||||
|  |   return defHttp.get({ url: '/infra/data-source-config/get?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 新增数据源配置
 | ||||||
|  | export const createDataSourceConfigApi = (data: DataSourceConfigVO) => { | ||||||
|  |   return defHttp.post({ url: '/infra/data-source-config/create', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 修改数据源配置
 | ||||||
|  | export const updateDataSourceConfigApi = (data: DataSourceConfigVO) => { | ||||||
|  |   return defHttp.put({ url: '/infra/data-source-config/update', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 删除数据源配置
 | ||||||
|  | export const deleteDataSourceConfigApi = (id: number) => { | ||||||
|  |   return defHttp.delete({ url: '/infra/data-source-config/delete?id=' + id }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,16 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | 
 | ||||||
|  | // 导出Html
 | ||||||
|  | export const exportHtmlApi = () => { | ||||||
|  |   return defHttp.download({ url: '/infra/db-doc/export-html' }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 导出Word
 | ||||||
|  | export const exportWordApi = () => { | ||||||
|  |   return defHttp.download({ url: '/infra/db-doc/export-word' }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 导出Markdown
 | ||||||
|  | export const exportMarkdownApi = () => { | ||||||
|  |   return defHttp.download({ url: '/infra/db-doc/export-markdown' }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,66 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | 
 | ||||||
|  | export interface FileClientConfig { | ||||||
|  |   basePath: string | ||||||
|  |   host?: string | ||||||
|  |   port?: number | ||||||
|  |   username?: string | ||||||
|  |   password?: string | ||||||
|  |   mode?: string | ||||||
|  |   endpoint?: string | ||||||
|  |   bucket?: string | ||||||
|  |   accessKey?: string | ||||||
|  |   accessSecret?: string | ||||||
|  |   domain: string | ||||||
|  | } | ||||||
|  | export interface FileConfigVO { | ||||||
|  |   id: number | ||||||
|  |   name: string | ||||||
|  |   storage: number | ||||||
|  |   master: boolean | ||||||
|  |   visible: boolean | ||||||
|  |   config: FileClientConfig | ||||||
|  |   remark: string | ||||||
|  |   createTime: Date | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface FileConfigPageReqVO extends PageParam { | ||||||
|  |   name?: string | ||||||
|  |   storage?: number | ||||||
|  |   createTime?: Date[] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询文件配置列表
 | ||||||
|  | export const getFileConfigPageApi = (params: FileConfigPageReqVO) => { | ||||||
|  |   return defHttp.get({ url: '/infra/file-config/page', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询文件配置详情
 | ||||||
|  | export const getFileConfigApi = (id: number) => { | ||||||
|  |   return defHttp.get({ url: '/infra/file-config/get?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 更新文件配置为主配置
 | ||||||
|  | export const updateFileConfigMasterApi = (id: number) => { | ||||||
|  |   return defHttp.put({ url: '/infra/file-config/update-master?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 新增文件配置
 | ||||||
|  | export const createFileConfigApi = (data: FileConfigVO) => { | ||||||
|  |   return defHttp.post({ url: '/infra/file-config/create', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 修改文件配置
 | ||||||
|  | export const updateFileConfigApi = (data: FileConfigVO) => { | ||||||
|  |   return defHttp.put({ url: '/infra/file-config/update', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 删除文件配置
 | ||||||
|  | export const deleteFileConfigApi = (id: number) => { | ||||||
|  |   return defHttp.delete({ url: '/infra/file-config/delete?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 测试文件配置
 | ||||||
|  | export const testFileConfigApi = (id: number) => { | ||||||
|  |   return defHttp.get({ url: '/infra/file-config/test?id=' + id }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,28 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | 
 | ||||||
|  | export interface FileVO { | ||||||
|  |   id: number | ||||||
|  |   configId: number | ||||||
|  |   path: string | ||||||
|  |   name: string | ||||||
|  |   url: string | ||||||
|  |   size: string | ||||||
|  |   type: string | ||||||
|  |   createTime: Date | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface FilePageReqVO extends PageParam { | ||||||
|  |   path?: string | ||||||
|  |   type?: string | ||||||
|  |   createTime?: Date[] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询文件列表
 | ||||||
|  | export const getFilePageApi = (params: FilePageReqVO) => { | ||||||
|  |   return defHttp.get({ url: '/infra/file/page', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 删除文件
 | ||||||
|  | export const deleteFileApi = (id: number) => { | ||||||
|  |   return defHttp.delete({ url: '/infra/file/delete?id=' + id }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,75 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | 
 | ||||||
|  | export interface JobVO { | ||||||
|  |   id: number | ||||||
|  |   name: string | ||||||
|  |   status: number | ||||||
|  |   handlerName: string | ||||||
|  |   handlerParam: string | ||||||
|  |   cronExpression: string | ||||||
|  |   retryCount: number | ||||||
|  |   retryInterval: number | ||||||
|  |   monitorTimeout: number | ||||||
|  |   createTime: Date | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface JobPageReqVO extends PageParam { | ||||||
|  |   name?: string | ||||||
|  |   status?: number | ||||||
|  |   handlerName?: string | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface JobExportReqVO { | ||||||
|  |   name?: string | ||||||
|  |   status?: number | ||||||
|  |   handlerName?: string | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 任务列表
 | ||||||
|  | export const getJobPageApi = (params: JobPageReqVO) => { | ||||||
|  |   return defHttp.get({ url: '/infra/job/page', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 任务详情
 | ||||||
|  | export const getJobApi = (id: number) => { | ||||||
|  |   return defHttp.get({ url: '/infra/job/get?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 新增任务
 | ||||||
|  | export const createJobApi = (data: JobVO) => { | ||||||
|  |   return defHttp.post({ url: '/infra/job/create', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 修改定时任务调度
 | ||||||
|  | export const updateJobApi = (data: JobVO) => { | ||||||
|  |   return defHttp.put({ url: '/infra/job/update', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 删除定时任务调度
 | ||||||
|  | export const deleteJobApi = (id: number) => { | ||||||
|  |   return defHttp.delete({ url: '/infra/job/delete?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 导出定时任务调度
 | ||||||
|  | export const exportJobApi = (params: JobExportReqVO) => { | ||||||
|  |   return defHttp.download({ url: '/infra/job/export-excel', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 任务状态修改
 | ||||||
|  | export const updateJobStatusApi = (id: number, status: number) => { | ||||||
|  |   const params = { | ||||||
|  |     id, | ||||||
|  |     status | ||||||
|  |   } | ||||||
|  |   return defHttp.put({ url: '/infra/job/update-status', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 定时任务立即执行一次
 | ||||||
|  | export const runJobApi = (id: number) => { | ||||||
|  |   return defHttp.put({ url: '/infra/job/trigger?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 获得定时任务的下 n 次执行时间
 | ||||||
|  | export const getJobNextTimesApi = (id: number) => { | ||||||
|  |   return defHttp.get({ url: '/infra/job/get_next_times?id=' + id }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,49 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | 
 | ||||||
|  | export interface JobLogVO { | ||||||
|  |   id: number | ||||||
|  |   jobId: number | ||||||
|  |   handlerName: string | ||||||
|  |   handlerParam: string | ||||||
|  |   cronExpression: string | ||||||
|  |   executeIndex: string | ||||||
|  |   beginTime: string | ||||||
|  |   endTime: string | ||||||
|  |   duration: string | ||||||
|  |   status: number | ||||||
|  |   createTime: string | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface JobLogPageReqVO extends PageParam { | ||||||
|  |   jobId?: number | ||||||
|  |   handlerName?: string | ||||||
|  |   beginTime?: string | ||||||
|  |   endTime?: string | ||||||
|  |   status?: number | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface JobLogExportReqVO { | ||||||
|  |   jobId?: number | ||||||
|  |   handlerName?: string | ||||||
|  |   beginTime?: string | ||||||
|  |   endTime?: string | ||||||
|  |   status?: number | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 任务日志列表
 | ||||||
|  | export const getJobLogPageApi = (params: JobLogPageReqVO) => { | ||||||
|  |   return defHttp.get({ url: '/infra/job-log/page', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 任务日志详情
 | ||||||
|  | export const getJobLogApi = (id: number) => { | ||||||
|  |   return defHttp.get({ url: '/infra/job-log/get?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 导出定时任务日志
 | ||||||
|  | export const exportJobLogApi = (params: JobLogExportReqVO) => { | ||||||
|  |   return defHttp.download({ | ||||||
|  |     url: '/infra/job-log/export-excel', | ||||||
|  |     params | ||||||
|  |   }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,41 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * 获取redis 监控信息 | ||||||
|  |  */ | ||||||
|  | export const getCacheApi = () => { | ||||||
|  |   return defHttp.get({ url: '/infra/redis/get-monitor-info' }) | ||||||
|  | } | ||||||
|  | // 获取模块
 | ||||||
|  | export const getKeyDefineListApi = () => { | ||||||
|  |   return defHttp.get({ url: '/infra/redis/get-key-define-list' }) | ||||||
|  | } | ||||||
|  | /** | ||||||
|  |  * 获取redis key列表 | ||||||
|  |  */ | ||||||
|  | export const getKeyListApi = (keyTemplate: string) => { | ||||||
|  |   return defHttp.get({ | ||||||
|  |     url: '/infra/redis/get-key-list', | ||||||
|  |     params: { | ||||||
|  |       keyTemplate | ||||||
|  |     } | ||||||
|  |   }) | ||||||
|  | } | ||||||
|  | // 获取缓存内容
 | ||||||
|  | export const getKeyValueApi = (key: string) => { | ||||||
|  |   return defHttp.get({ url: '/infra/redis/get-key-value?key=' + key }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 根据键名删除缓存
 | ||||||
|  | export const deleteKeyApi = (key: string) => { | ||||||
|  |   return defHttp.delete({ url: '/infra/redis/delete-key?key=' + key }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export const deleteKeysApi = (keyTemplate: string) => { | ||||||
|  |   return defHttp.delete({ | ||||||
|  |     url: '/infra/redis/delete-keys?', | ||||||
|  |     params: { | ||||||
|  |       keyTemplate | ||||||
|  |     } | ||||||
|  |   }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,185 @@ | ||||||
|  | export interface RedisMonitorInfoVO { | ||||||
|  |   info: RedisInfoVO | ||||||
|  |   dbSize: number | ||||||
|  |   commandStats: RedisCommandStatsVO[] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface RedisInfoVO { | ||||||
|  |   io_threaded_reads_processed: string | ||||||
|  |   tracking_clients: string | ||||||
|  |   uptime_in_seconds: string | ||||||
|  |   cluster_connections: string | ||||||
|  |   current_cow_size: string | ||||||
|  |   maxmemory_human: string | ||||||
|  |   aof_last_cow_size: string | ||||||
|  |   master_replid2: string | ||||||
|  |   mem_replication_backlog: string | ||||||
|  |   aof_rewrite_scheduled: string | ||||||
|  |   total_net_input_bytes: string | ||||||
|  |   rss_overhead_ratio: string | ||||||
|  |   hz: string | ||||||
|  |   current_cow_size_age: string | ||||||
|  |   redis_build_id: string | ||||||
|  |   errorstat_BUSYGROUP: string | ||||||
|  |   aof_last_bgrewrite_status: string | ||||||
|  |   multiplexing_api: string | ||||||
|  |   client_recent_max_output_buffer: string | ||||||
|  |   allocator_resident: string | ||||||
|  |   mem_fragmentation_bytes: string | ||||||
|  |   aof_current_size: string | ||||||
|  |   repl_backlog_first_byte_offset: string | ||||||
|  |   tracking_total_prefixes: string | ||||||
|  |   redis_mode: string | ||||||
|  |   redis_git_dirty: string | ||||||
|  |   aof_delayed_fsync: string | ||||||
|  |   allocator_rss_bytes: string | ||||||
|  |   repl_backlog_histlen: string | ||||||
|  |   io_threads_active: string | ||||||
|  |   rss_overhead_bytes: string | ||||||
|  |   total_system_memory: string | ||||||
|  |   loading: string | ||||||
|  |   evicted_keys: string | ||||||
|  |   maxclients: string | ||||||
|  |   cluster_enabled: string | ||||||
|  |   redis_version: string | ||||||
|  |   repl_backlog_active: string | ||||||
|  |   mem_aof_buffer: string | ||||||
|  |   allocator_frag_bytes: string | ||||||
|  |   io_threaded_writes_processed: string | ||||||
|  |   instantaneous_ops_per_sec: string | ||||||
|  |   used_memory_human: string | ||||||
|  |   total_error_replies: string | ||||||
|  |   role: string | ||||||
|  |   maxmemory: string | ||||||
|  |   used_memory_lua: string | ||||||
|  |   rdb_current_bgsave_time_sec: string | ||||||
|  |   used_memory_startup: string | ||||||
|  |   used_cpu_sys_main_thread: string | ||||||
|  |   lazyfree_pending_objects: string | ||||||
|  |   aof_pending_bio_fsync: string | ||||||
|  |   used_memory_dataset_perc: string | ||||||
|  |   allocator_frag_ratio: string | ||||||
|  |   arch_bits: string | ||||||
|  |   used_cpu_user_main_thread: string | ||||||
|  |   mem_clients_normal: string | ||||||
|  |   expired_time_cap_reached_count: string | ||||||
|  |   unexpected_error_replies: string | ||||||
|  |   mem_fragmentation_ratio: string | ||||||
|  |   aof_last_rewrite_time_sec: string | ||||||
|  |   master_replid: string | ||||||
|  |   aof_rewrite_in_progress: string | ||||||
|  |   lru_clock: string | ||||||
|  |   maxmemory_policy: string | ||||||
|  |   run_id: string | ||||||
|  |   latest_fork_usec: string | ||||||
|  |   tracking_total_items: string | ||||||
|  |   total_commands_processed: string | ||||||
|  |   expired_keys: string | ||||||
|  |   errorstat_ERR: string | ||||||
|  |   used_memory: string | ||||||
|  |   module_fork_in_progress: string | ||||||
|  |   errorstat_WRONGPASS: string | ||||||
|  |   aof_buffer_length: string | ||||||
|  |   dump_payload_sanitizations: string | ||||||
|  |   mem_clients_slaves: string | ||||||
|  |   keyspace_misses: string | ||||||
|  |   server_time_usec: string | ||||||
|  |   executable: string | ||||||
|  |   lazyfreed_objects: string | ||||||
|  |   db0: string | ||||||
|  |   used_memory_peak_human: string | ||||||
|  |   keyspace_hits: string | ||||||
|  |   rdb_last_cow_size: string | ||||||
|  |   aof_pending_rewrite: string | ||||||
|  |   used_memory_overhead: string | ||||||
|  |   active_defrag_hits: string | ||||||
|  |   tcp_port: string | ||||||
|  |   uptime_in_days: string | ||||||
|  |   used_memory_peak_perc: string | ||||||
|  |   current_save_keys_processed: string | ||||||
|  |   blocked_clients: string | ||||||
|  |   total_reads_processed: string | ||||||
|  |   expire_cycle_cpu_milliseconds: string | ||||||
|  |   sync_partial_err: string | ||||||
|  |   used_memory_scripts_human: string | ||||||
|  |   aof_current_rewrite_time_sec: string | ||||||
|  |   aof_enabled: string | ||||||
|  |   process_supervised: string | ||||||
|  |   master_repl_offset: string | ||||||
|  |   used_memory_dataset: string | ||||||
|  |   used_cpu_user: string | ||||||
|  |   rdb_last_bgsave_status: string | ||||||
|  |   tracking_total_keys: string | ||||||
|  |   atomicvar_api: string | ||||||
|  |   allocator_rss_ratio: string | ||||||
|  |   client_recent_max_input_buffer: string | ||||||
|  |   clients_in_timeout_table: string | ||||||
|  |   aof_last_write_status: string | ||||||
|  |   mem_allocator: string | ||||||
|  |   used_memory_scripts: string | ||||||
|  |   used_memory_peak: string | ||||||
|  |   process_id: string | ||||||
|  |   master_failover_state: string | ||||||
|  |   errorstat_NOAUTH: string | ||||||
|  |   used_cpu_sys: string | ||||||
|  |   repl_backlog_size: string | ||||||
|  |   connected_slaves: string | ||||||
|  |   current_save_keys_total: string | ||||||
|  |   gcc_version: string | ||||||
|  |   total_system_memory_human: string | ||||||
|  |   sync_full: string | ||||||
|  |   connected_clients: string | ||||||
|  |   module_fork_last_cow_size: string | ||||||
|  |   total_writes_processed: string | ||||||
|  |   allocator_active: string | ||||||
|  |   total_net_output_bytes: string | ||||||
|  |   pubsub_channels: string | ||||||
|  |   current_fork_perc: string | ||||||
|  |   active_defrag_key_hits: string | ||||||
|  |   rdb_changes_since_last_save: string | ||||||
|  |   instantaneous_input_kbps: string | ||||||
|  |   used_memory_rss_human: string | ||||||
|  |   configured_hz: string | ||||||
|  |   expired_stale_perc: string | ||||||
|  |   active_defrag_misses: string | ||||||
|  |   used_cpu_sys_children: string | ||||||
|  |   number_of_cached_scripts: string | ||||||
|  |   sync_partial_ok: string | ||||||
|  |   used_memory_lua_human: string | ||||||
|  |   rdb_last_save_time: string | ||||||
|  |   pubsub_patterns: string | ||||||
|  |   slave_expires_tracked_keys: string | ||||||
|  |   redis_git_sha1: string | ||||||
|  |   used_memory_rss: string | ||||||
|  |   rdb_last_bgsave_time_sec: string | ||||||
|  |   os: string | ||||||
|  |   mem_not_counted_for_evict: string | ||||||
|  |   active_defrag_running: string | ||||||
|  |   rejected_connections: string | ||||||
|  |   aof_rewrite_buffer_length: string | ||||||
|  |   total_forks: string | ||||||
|  |   active_defrag_key_misses: string | ||||||
|  |   allocator_allocated: string | ||||||
|  |   aof_base_size: string | ||||||
|  |   instantaneous_output_kbps: string | ||||||
|  |   second_repl_offset: string | ||||||
|  |   rdb_bgsave_in_progress: string | ||||||
|  |   used_cpu_user_children: string | ||||||
|  |   total_connections_received: string | ||||||
|  |   migrate_cached_sockets: string | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface RedisCommandStatsVO { | ||||||
|  |   command: string | ||||||
|  |   calls: number | ||||||
|  |   usec: number | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface RedisKeyInfo { | ||||||
|  |   keyTemplate: string | ||||||
|  |   keyType: string | ||||||
|  |   valueType: string | ||||||
|  |   timeoutType: number | ||||||
|  |   timeout: number | ||||||
|  |   memo: string | ||||||
|  | } | ||||||
|  | @ -0,0 +1,78 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | 
 | ||||||
|  | export interface AppVO { | ||||||
|  |   id: number | ||||||
|  |   name: string | ||||||
|  |   status: number | ||||||
|  |   remark: string | ||||||
|  |   payNotifyUrl: string | ||||||
|  |   refundNotifyUrl: string | ||||||
|  |   merchantId: number | ||||||
|  |   merchantName: string | ||||||
|  |   createTime: Date | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface AppPageReqVO extends PageParam { | ||||||
|  |   name?: string | ||||||
|  |   status?: number | ||||||
|  |   remark?: string | ||||||
|  |   payNotifyUrl?: string | ||||||
|  |   refundNotifyUrl?: string | ||||||
|  |   merchantName?: string | ||||||
|  |   createTime?: Date[] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface AppExportReqVO { | ||||||
|  |   name?: string | ||||||
|  |   status?: number | ||||||
|  |   remark?: string | ||||||
|  |   payNotifyUrl?: string | ||||||
|  |   refundNotifyUrl?: string | ||||||
|  |   merchantName?: string | ||||||
|  |   createTime?: Date[] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface AppUpdateStatusReqVO { | ||||||
|  |   id: number | ||||||
|  |   status: number | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询列表支付应用
 | ||||||
|  | export const getAppPageApi = (params: AppPageReqVO) => { | ||||||
|  |   return defHttp.get({ url: '/pay/app/page', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询详情支付应用
 | ||||||
|  | export const getAppApi = (id: number) => { | ||||||
|  |   return defHttp.get({ url: '/pay/app/get?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 新增支付应用
 | ||||||
|  | export const createAppApi = (data: AppVO) => { | ||||||
|  |   return defHttp.post({ url: '/pay/app/create', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 修改支付应用
 | ||||||
|  | export const updateAppApi = (data: AppVO) => { | ||||||
|  |   return defHttp.put({ url: '/pay/app/update', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 支付应用信息状态修改
 | ||||||
|  | export const changeAppStatusApi = (data: AppUpdateStatusReqVO) => { | ||||||
|  |   return defHttp.put({ url: '/pay/app/update-status', data: data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 删除支付应用
 | ||||||
|  | export const deleteAppApi = (id: number) => { | ||||||
|  |   return defHttp.delete({ url: '/pay/app/delete?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 导出支付应用
 | ||||||
|  | export const exportAppApi = (params: AppExportReqVO) => { | ||||||
|  |   return defHttp.download({ url: '/pay/app/export-excel', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 根据商ID称搜索应用列表
 | ||||||
|  | export const getAppListByMerchantIdApi = (merchantId: number) => { | ||||||
|  |   return defHttp.get({ url: '/pay/app/list-merchant-id', params: { merchantId: merchantId } }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,70 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | 
 | ||||||
|  | export interface ChannelVO { | ||||||
|  |   id: number | ||||||
|  |   code: string | ||||||
|  |   config: string | ||||||
|  |   status: number | ||||||
|  |   remark: string | ||||||
|  |   feeRate: number | ||||||
|  |   merchantId: number | ||||||
|  |   appId: number | ||||||
|  |   createTime: Date | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface ChannelPageReqVO extends PageParam { | ||||||
|  |   code?: string | ||||||
|  |   status?: number | ||||||
|  |   remark?: string | ||||||
|  |   feeRate?: number | ||||||
|  |   merchantId?: number | ||||||
|  |   appId?: number | ||||||
|  |   config?: string | ||||||
|  |   createTime?: Date[] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface ChannelExportReqVO { | ||||||
|  |   code?: string | ||||||
|  |   status?: number | ||||||
|  |   remark?: string | ||||||
|  |   feeRate?: number | ||||||
|  |   merchantId?: number | ||||||
|  |   appId?: number | ||||||
|  |   config?: string | ||||||
|  |   createTime?: Date[] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询列表支付渠道
 | ||||||
|  | export const getChannelPageApi = (params: ChannelPageReqVO) => { | ||||||
|  |   return defHttp.get({ url: '/pay/channel/page', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询详情支付渠道
 | ||||||
|  | export const getChannelApi = (merchantId: number, appId: string, code: string) => { | ||||||
|  |   const params = { | ||||||
|  |     merchantId: merchantId, | ||||||
|  |     appId: appId, | ||||||
|  |     code: code | ||||||
|  |   } | ||||||
|  |   return defHttp.get({ url: '/pay/channel/get-channel', params: params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 新增支付渠道
 | ||||||
|  | export const createChannelApi = (data: ChannelVO) => { | ||||||
|  |   return defHttp.post({ url: '/pay/channel/create', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 修改支付渠道
 | ||||||
|  | export const updateChannelApi = (data: ChannelVO) => { | ||||||
|  |   return defHttp.put({ url: '/pay/channel/update', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 删除支付渠道
 | ||||||
|  | export const deleteChannelApi = (id: number) => { | ||||||
|  |   return defHttp.delete({ url: '/pay/channel/delete?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 导出支付渠道
 | ||||||
|  | export const exportChannelApi = (params: ChannelExportReqVO) => { | ||||||
|  |   return defHttp.download({ url: '/pay/channel/export-excel', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,77 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | 
 | ||||||
|  | export interface MerchantVO { | ||||||
|  |   id: number | ||||||
|  |   no: string | ||||||
|  |   name: string | ||||||
|  |   shortName: string | ||||||
|  |   status: number | ||||||
|  |   remark: string | ||||||
|  |   createTime: Date | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface MerchantPageReqVO extends PageParam { | ||||||
|  |   no?: string | ||||||
|  |   name?: string | ||||||
|  |   shortName?: string | ||||||
|  |   status?: number | ||||||
|  |   remark?: string | ||||||
|  |   createTime?: Date[] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface MerchantExportReqVO { | ||||||
|  |   no?: string | ||||||
|  |   name?: string | ||||||
|  |   shortName?: string | ||||||
|  |   status?: number | ||||||
|  |   remark?: string | ||||||
|  |   createTime?: Date[] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询列表支付商户
 | ||||||
|  | export const getMerchantPageApi = (params: MerchantPageReqVO) => { | ||||||
|  |   return defHttp.get({ url: '/pay/merchant/page', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询详情支付商户
 | ||||||
|  | export const getMerchantApi = (id: number) => { | ||||||
|  |   return defHttp.get({ url: '/pay/merchant/get?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 根据商户名称搜索商户列表
 | ||||||
|  | export const getMerchantListByNameApi = (name: string) => { | ||||||
|  |   return defHttp.get({ | ||||||
|  |     url: '/pay/merchant/list-by-name?id=', | ||||||
|  |     params: { | ||||||
|  |       name: name | ||||||
|  |     } | ||||||
|  |   }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 新增支付商户
 | ||||||
|  | export const createMerchantApi = (data: MerchantVO) => { | ||||||
|  |   return defHttp.post({ url: '/pay/merchant/create', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 修改支付商户
 | ||||||
|  | export const updateMerchantApi = (data: MerchantVO) => { | ||||||
|  |   return defHttp.put({ url: '/pay/merchant/update', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 删除支付商户
 | ||||||
|  | export const deleteMerchantApi = (id: number) => { | ||||||
|  |   return defHttp.delete({ url: '/pay/merchant/delete?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 导出支付商户
 | ||||||
|  | export const exportMerchantApi = (params: MerchantExportReqVO) => { | ||||||
|  |   return defHttp.download({ url: '/pay/merchant/export-excel', params }) | ||||||
|  | } | ||||||
|  | // 支付商户状态修改
 | ||||||
|  | export const changeMerchantStatusApi = (id: number, status: number) => { | ||||||
|  |   const data = { | ||||||
|  |     id, | ||||||
|  |     status | ||||||
|  |   } | ||||||
|  |   return defHttp.put({ url: '/pay/merchant/update-status', data: data }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,109 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | 
 | ||||||
|  | export interface OrderVO { | ||||||
|  |   id: number | ||||||
|  |   merchantId: number | ||||||
|  |   appId: number | ||||||
|  |   channelId: number | ||||||
|  |   channelCode: string | ||||||
|  |   merchantOrderId: string | ||||||
|  |   subject: string | ||||||
|  |   body: string | ||||||
|  |   notifyUrl: string | ||||||
|  |   notifyStatus: number | ||||||
|  |   amount: number | ||||||
|  |   channelFeeRate: number | ||||||
|  |   channelFeeAmount: number | ||||||
|  |   status: number | ||||||
|  |   userIp: string | ||||||
|  |   expireTime: Date | ||||||
|  |   successTime: Date | ||||||
|  |   notifyTime: Date | ||||||
|  |   successExtensionId: number | ||||||
|  |   refundStatus: number | ||||||
|  |   refundTimes: number | ||||||
|  |   refundAmount: number | ||||||
|  |   channelUserId: string | ||||||
|  |   channelOrderNo: string | ||||||
|  |   createTime: Date | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface OrderPageReqVO extends PageParam { | ||||||
|  |   merchantId?: number | ||||||
|  |   appId?: number | ||||||
|  |   channelId?: number | ||||||
|  |   channelCode?: string | ||||||
|  |   merchantOrderId?: string | ||||||
|  |   subject?: string | ||||||
|  |   body?: string | ||||||
|  |   notifyUrl?: string | ||||||
|  |   notifyStatus?: number | ||||||
|  |   amount?: number | ||||||
|  |   channelFeeRate?: number | ||||||
|  |   channelFeeAmount?: number | ||||||
|  |   status?: number | ||||||
|  |   expireTime?: Date[] | ||||||
|  |   successTime?: Date[] | ||||||
|  |   notifyTime?: Date[] | ||||||
|  |   successExtensionId?: number | ||||||
|  |   refundStatus?: number | ||||||
|  |   refundTimes?: number | ||||||
|  |   channelUserId?: string | ||||||
|  |   channelOrderNo?: string | ||||||
|  |   createTime?: Date[] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface OrderExportReqVO { | ||||||
|  |   merchantId?: number | ||||||
|  |   appId?: number | ||||||
|  |   channelId?: number | ||||||
|  |   channelCode?: string | ||||||
|  |   merchantOrderId?: string | ||||||
|  |   subject?: string | ||||||
|  |   body?: string | ||||||
|  |   notifyUrl?: string | ||||||
|  |   notifyStatus?: number | ||||||
|  |   amount?: number | ||||||
|  |   channelFeeRate?: number | ||||||
|  |   channelFeeAmount?: number | ||||||
|  |   status?: number | ||||||
|  |   expireTime?: Date[] | ||||||
|  |   successTime?: Date[] | ||||||
|  |   notifyTime?: Date[] | ||||||
|  |   successExtensionId?: number | ||||||
|  |   refundStatus?: number | ||||||
|  |   refundTimes?: number | ||||||
|  |   channelUserId?: string | ||||||
|  |   channelOrderNo?: string | ||||||
|  |   createTime?: Date[] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询列表支付订单
 | ||||||
|  | export const getOrderPageApi = async (params: OrderPageReqVO) => { | ||||||
|  |   return defHttp.get({ url: '/pay/order/page', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询详情支付订单
 | ||||||
|  | export const getOrderApi = async (id: number) => { | ||||||
|  |   return defHttp.get({ url: '/pay/order/get?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 新增支付订单
 | ||||||
|  | export const createOrderApi = async (data: OrderVO) => { | ||||||
|  |   return defHttp.post({ url: '/pay/order/create', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 修改支付订单
 | ||||||
|  | export const updateOrderApi = async (data: OrderVO) => { | ||||||
|  |   return defHttp.put({ url: '/pay/order/update', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 删除支付订单
 | ||||||
|  | export const deleteOrderApi = async (id: number) => { | ||||||
|  |   return defHttp.delete({ url: '/pay/order/delete?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 导出支付订单
 | ||||||
|  | export const exportOrderApi = async (params: OrderExportReqVO) => { | ||||||
|  |   return defHttp.download({ url: '/pay/order/export-excel', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,116 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | 
 | ||||||
|  | export interface RefundVO { | ||||||
|  |   id: number | ||||||
|  |   merchantId: number | ||||||
|  |   appId: number | ||||||
|  |   channelId: number | ||||||
|  |   channelCode: string | ||||||
|  |   orderId: string | ||||||
|  |   tradeNo: string | ||||||
|  |   merchantOrderId: string | ||||||
|  |   merchantRefundNo: string | ||||||
|  |   notifyUrl: string | ||||||
|  |   notifyStatus: number | ||||||
|  |   status: number | ||||||
|  |   type: number | ||||||
|  |   payAmount: number | ||||||
|  |   refundAmount: number | ||||||
|  |   reason: string | ||||||
|  |   userIp: string | ||||||
|  |   channelOrderNo: string | ||||||
|  |   channelRefundNo: string | ||||||
|  |   channelErrorCode: string | ||||||
|  |   channelErrorMsg: string | ||||||
|  |   channelExtras: string | ||||||
|  |   expireTime: Date | ||||||
|  |   successTime: Date | ||||||
|  |   notifyTime: Date | ||||||
|  |   createTime: Date | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface RefundPageReqVO extends PageParam { | ||||||
|  |   merchantId?: number | ||||||
|  |   appId?: number | ||||||
|  |   channelId?: number | ||||||
|  |   channelCode?: string | ||||||
|  |   orderId?: string | ||||||
|  |   tradeNo?: string | ||||||
|  |   merchantOrderId?: string | ||||||
|  |   merchantRefundNo?: string | ||||||
|  |   notifyUrl?: string | ||||||
|  |   notifyStatus?: number | ||||||
|  |   status?: number | ||||||
|  |   type?: number | ||||||
|  |   payAmount?: number | ||||||
|  |   refundAmount?: number | ||||||
|  |   reason?: string | ||||||
|  |   userIp?: string | ||||||
|  |   channelOrderNo?: string | ||||||
|  |   channelRefundNo?: string | ||||||
|  |   channelErrorCode?: string | ||||||
|  |   channelErrorMsg?: string | ||||||
|  |   channelExtras?: string | ||||||
|  |   expireTime?: Date[] | ||||||
|  |   successTime?: Date[] | ||||||
|  |   notifyTime?: Date[] | ||||||
|  |   createTime?: Date[] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface PayRefundExportReqVO { | ||||||
|  |   merchantId?: number | ||||||
|  |   appId?: number | ||||||
|  |   channelId?: number | ||||||
|  |   channelCode?: string | ||||||
|  |   orderId?: string | ||||||
|  |   tradeNo?: string | ||||||
|  |   merchantOrderId?: string | ||||||
|  |   merchantRefundNo?: string | ||||||
|  |   notifyUrl?: string | ||||||
|  |   notifyStatus?: number | ||||||
|  |   status?: number | ||||||
|  |   type?: number | ||||||
|  |   payAmount?: number | ||||||
|  |   refundAmount?: number | ||||||
|  |   reason?: string | ||||||
|  |   userIp?: string | ||||||
|  |   channelOrderNo?: string | ||||||
|  |   channelRefundNo?: string | ||||||
|  |   channelErrorCode?: string | ||||||
|  |   channelErrorMsg?: string | ||||||
|  |   channelExtras?: string | ||||||
|  |   expireTime?: Date[] | ||||||
|  |   successTime?: Date[] | ||||||
|  |   notifyTime?: Date[] | ||||||
|  |   createTime?: Date[] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询列表退款订单
 | ||||||
|  | export const getRefundPageApi = (params: RefundPageReqVO) => { | ||||||
|  |   return defHttp.get({ url: '/pay/refund/page', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询详情退款订单
 | ||||||
|  | export const getRefundApi = (id: number) => { | ||||||
|  |   return defHttp.get({ url: '/pay/refund/get?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 新增退款订单
 | ||||||
|  | export const createRefundApi = (data: RefundVO) => { | ||||||
|  |   return defHttp.post({ url: '/pay/refund/create', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 修改退款订单
 | ||||||
|  | export const updateRefundApi = (data: RefundVO) => { | ||||||
|  |   return defHttp.put({ url: '/pay/refund/update', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 删除退款订单
 | ||||||
|  | export const deleteRefundApi = (id: number) => { | ||||||
|  |   return defHttp.delete({ url: '/pay/refund/delete?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 导出退款订单
 | ||||||
|  | export const exportRefundApi = (params: PayRefundExportReqVO) => { | ||||||
|  |   return defHttp.download({ url: '/pay/refund/export-excel', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,48 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | 
 | ||||||
|  | export interface DeptVO { | ||||||
|  |   id?: number | ||||||
|  |   name: string | ||||||
|  |   parentId: number | ||||||
|  |   status: number | ||||||
|  |   sort: number | ||||||
|  |   leaderUserId: number | ||||||
|  |   phone: string | ||||||
|  |   email: string | ||||||
|  |   createTime: Date | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface DeptPageReqVO { | ||||||
|  |   name?: string | ||||||
|  |   status?: number | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询部门(精简)列表
 | ||||||
|  | export const listSimpleDeptApi = async () => { | ||||||
|  |   return defHttp.get({ url: '/system/dept/list-all-simple' }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询部门列表
 | ||||||
|  | export const getDeptPageApi = async (params: DeptPageReqVO) => { | ||||||
|  |   return defHttp.get({ url: '/system/dept/list', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询部门详情
 | ||||||
|  | export const getDeptApi = async (id: number) => { | ||||||
|  |   return defHttp.get({ url: '/system/dept/get?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 新增部门
 | ||||||
|  | export const createDeptApi = async (data: DeptVO) => { | ||||||
|  |   return defHttp.post({ url: '/system/dept/create', data: data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 修改部门
 | ||||||
|  | export const updateDeptApi = async (params: DeptVO) => { | ||||||
|  |   return defHttp.put({ url: '/system/dept/update', data: params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 删除部门
 | ||||||
|  | export const deleteDeptApi = async (id: number) => { | ||||||
|  |   return defHttp.delete({ url: '/system/dept/delete?id=' + id }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,36 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | import type { DictDataVO, DictDataPageReqVO, DictDataExportReqVO } from './types' | ||||||
|  | 
 | ||||||
|  | // 查询字典数据(精简)列表
 | ||||||
|  | export const listSimpleDictDataApi = () => { | ||||||
|  |   return defHttp.get({ url: '/system/dict-data/list-all-simple' }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询字典数据列表
 | ||||||
|  | export const getDictDataPageApi = (params: DictDataPageReqVO) => { | ||||||
|  |   return defHttp.get({ url: '/system/dict-data/page', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询字典数据详情
 | ||||||
|  | export const getDictDataApi = (id: number) => { | ||||||
|  |   return defHttp.get({ url: '/system/dict-data/get?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 新增字典数据
 | ||||||
|  | export const createDictDataApi = (data: DictDataVO) => { | ||||||
|  |   return defHttp.post({ url: '/system/dict-data/create', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 修改字典数据
 | ||||||
|  | export const updateDictDataApi = (data: DictDataVO) => { | ||||||
|  |   return defHttp.put({ url: '/system/dict-data/update', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 删除字典数据
 | ||||||
|  | export const deleteDictDataApi = (id: number) => { | ||||||
|  |   return defHttp.delete({ url: '/system/dict-data/delete?id=' + id }) | ||||||
|  | } | ||||||
|  | // 导出字典类型数据
 | ||||||
|  | export const exportDictDataApi = (params: DictDataExportReqVO) => { | ||||||
|  |   return defHttp.get({ url: '/system/dict-data/export', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,36 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | import type { DictTypeVO, DictTypePageReqVO, DictTypeExportReqVO } from './types' | ||||||
|  | 
 | ||||||
|  | // 查询字典(精简)列表
 | ||||||
|  | export const listSimpleDictTypeApi = () => { | ||||||
|  |   return defHttp.get({ url: '/system/dict-type/list-all-simple' }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询字典列表
 | ||||||
|  | export const getDictTypePageApi = (params: DictTypePageReqVO) => { | ||||||
|  |   return defHttp.get({ url: '/system/dict-type/page', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询字典详情
 | ||||||
|  | export const getDictTypeApi = (id: number) => { | ||||||
|  |   return defHttp.get({ url: '/system/dict-type/get?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 新增字典
 | ||||||
|  | export const createDictTypeApi = (data: DictTypeVO) => { | ||||||
|  |   return defHttp.post({ url: '/system/dict-type/create', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 修改字典
 | ||||||
|  | export const updateDictTypeApi = (data: DictTypeVO) => { | ||||||
|  |   return defHttp.put({ url: '/system/dict-type/update', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 删除字典
 | ||||||
|  | export const deleteDictTypeApi = (id: number) => { | ||||||
|  |   return defHttp.delete({ url: '/system/dict-type/delete?id=' + id }) | ||||||
|  | } | ||||||
|  | // 导出字典类型
 | ||||||
|  | export const exportDictTypeApi = (params: DictTypeExportReqVO) => { | ||||||
|  |   return defHttp.get({ url: '/system/dict-type/export', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,46 @@ | ||||||
|  | export type DictTypeVO = { | ||||||
|  |   id: number | ||||||
|  |   name: string | ||||||
|  |   type: string | ||||||
|  |   status: number | ||||||
|  |   remark: string | ||||||
|  |   createTime: Date | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export type DictTypePageReqVO = { | ||||||
|  |   name: string | ||||||
|  |   type: string | ||||||
|  |   status: number | ||||||
|  |   createTime: Date[] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export type DictTypeExportReqVO = { | ||||||
|  |   name: string | ||||||
|  |   type: string | ||||||
|  |   status: number | ||||||
|  |   createTime: Date[] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export type DictDataVO = { | ||||||
|  |   id: number | ||||||
|  |   sort: number | ||||||
|  |   label: string | ||||||
|  |   value: string | ||||||
|  |   dictType: string | ||||||
|  |   status: number | ||||||
|  |   colorType: string | ||||||
|  |   cssClass: string | ||||||
|  |   remark: string | ||||||
|  |   createTime: Date | ||||||
|  | } | ||||||
|  | export type DictDataPageReqVO = { | ||||||
|  |   label: string | ||||||
|  |   dictType: string | ||||||
|  |   status: number | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export type DictDataExportReqVO = { | ||||||
|  |   label: string | ||||||
|  |   dictType: string | ||||||
|  |   status: number | ||||||
|  | } | ||||||
|  | @ -0,0 +1,48 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | 
 | ||||||
|  | export interface ErrorCodeVO { | ||||||
|  |   id: number | ||||||
|  |   type: number | ||||||
|  |   applicationName: string | ||||||
|  |   code: number | ||||||
|  |   message: string | ||||||
|  |   memo: string | ||||||
|  |   createTime: Date | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface ErrorCodePageReqVO extends PageParam { | ||||||
|  |   type?: number | ||||||
|  |   applicationName?: string | ||||||
|  |   code?: number | ||||||
|  |   message?: string | ||||||
|  |   createTime?: Date[] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询错误码列表
 | ||||||
|  | export const getErrorCodePageApi = (params: ErrorCodePageReqVO) => { | ||||||
|  |   return defHttp.get({ url: '/system/error-code/page', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询错误码详情
 | ||||||
|  | export const getErrorCodeApi = (id: number) => { | ||||||
|  |   return defHttp.get({ url: '/system/error-code/get?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 新增错误码
 | ||||||
|  | export const createErrorCodeApi = (data: ErrorCodeVO) => { | ||||||
|  |   return defHttp.post({ url: '/system/error-code/create', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 修改错误码
 | ||||||
|  | export const updateErrorCodeApi = (data: ErrorCodeVO) => { | ||||||
|  |   return defHttp.put({ url: '/system/error-code/update', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 删除错误码
 | ||||||
|  | export const deleteErrorCodeApi = (id: number) => { | ||||||
|  |   return defHttp.delete({ url: '/system/error-code/delete?id=' + id }) | ||||||
|  | } | ||||||
|  | // 导出错误码
 | ||||||
|  | export const excelErrorCodeApi = (params: ErrorCodePageReqVO) => { | ||||||
|  |   return defHttp.download({ url: '/system/error-code/export-excel', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,30 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | 
 | ||||||
|  | export interface LoginLogVO { | ||||||
|  |   id: number | ||||||
|  |   logType: number | ||||||
|  |   traceId: number | ||||||
|  |   userId: number | ||||||
|  |   userType: number | ||||||
|  |   username: string | ||||||
|  |   status: number | ||||||
|  |   userIp: string | ||||||
|  |   userAgent: string | ||||||
|  |   createTime: Date | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface LoginLogReqVO extends PageParam { | ||||||
|  |   userIp?: string | ||||||
|  |   username?: string | ||||||
|  |   status?: boolean | ||||||
|  |   createTime?: Date[] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询登录日志列表
 | ||||||
|  | export const getLoginLogPageApi = (params: LoginLogReqVO) => { | ||||||
|  |   return defHttp.get({ url: '/system/login-log/page', params }) | ||||||
|  | } | ||||||
|  | // 导出登录日志
 | ||||||
|  | export const exportLoginLogApi = (params: LoginLogReqVO) => { | ||||||
|  |   return defHttp.download({ url: '/system/login-log/export', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,52 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | 
 | ||||||
|  | export interface MenuVO { | ||||||
|  |   id: number | ||||||
|  |   name: string | ||||||
|  |   permission: string | ||||||
|  |   type: number | ||||||
|  |   sort: number | ||||||
|  |   parentId: number | ||||||
|  |   path: string | ||||||
|  |   icon: string | ||||||
|  |   component: string | ||||||
|  |   status: number | ||||||
|  |   visible: boolean | ||||||
|  |   keepAlive: boolean | ||||||
|  |   createTime: Date | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface MenuPageReqVO { | ||||||
|  |   name?: string | ||||||
|  |   status?: number | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询菜单(精简)列表
 | ||||||
|  | export const listSimpleMenusApi = () => { | ||||||
|  |   return defHttp.get({ url: '/system/menu/list-all-simple' }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询菜单列表
 | ||||||
|  | export const getMenuListApi = (params: MenuPageReqVO) => { | ||||||
|  |   return defHttp.get({ url: '/system/menu/list', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 获取菜单详情
 | ||||||
|  | export const getMenuApi = (id: number) => { | ||||||
|  |   return defHttp.get({ url: '/system/menu/get?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 新增菜单
 | ||||||
|  | export const createMenuApi = (data: MenuVO) => { | ||||||
|  |   return defHttp.post({ url: '/system/menu/create', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 修改菜单
 | ||||||
|  | export const updateMenuApi = (data: MenuVO) => { | ||||||
|  |   return defHttp.put({ url: '/system/menu/update', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 删除菜单
 | ||||||
|  | export const deleteMenuApi = (id: number) => { | ||||||
|  |   return defHttp.delete({ url: '/system/menu/delete?id=' + id }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,42 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | 
 | ||||||
|  | export interface NoticeVO { | ||||||
|  |   id: number | ||||||
|  |   title: string | ||||||
|  |   type: number | ||||||
|  |   content: string | ||||||
|  |   status: number | ||||||
|  |   remark: string | ||||||
|  |   creator: string | ||||||
|  |   createTime: Date | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface NoticePageReqVO extends PageParam { | ||||||
|  |   title?: string | ||||||
|  |   status?: number | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询公告列表
 | ||||||
|  | export const getNoticePageApi = (params: NoticePageReqVO) => { | ||||||
|  |   return defHttp.get({ url: '/system/notice/page', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询公告详情
 | ||||||
|  | export const getNoticeApi = (id: number) => { | ||||||
|  |   return defHttp.get({ url: '/system/notice/get?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 新增公告
 | ||||||
|  | export const createNoticeApi = (data: NoticeVO) => { | ||||||
|  |   return defHttp.post({ url: '/system/notice/create', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 修改公告
 | ||||||
|  | export const updateNoticeApi = (data: NoticeVO) => { | ||||||
|  |   return defHttp.put({ url: '/system/notice/update', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 删除公告
 | ||||||
|  | export const deleteNoticeApi = (id: number) => { | ||||||
|  |   return defHttp.delete({ url: '/system/notice/delete?id=' + id }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,51 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | 
 | ||||||
|  | export interface OAuth2ClientVO { | ||||||
|  |   id: number | ||||||
|  |   clientId: string | ||||||
|  |   secret: string | ||||||
|  |   name: string | ||||||
|  |   logo: string | ||||||
|  |   description: string | ||||||
|  |   status: number | ||||||
|  |   accessTokenValiditySeconds: number | ||||||
|  |   refreshTokenValiditySeconds: number | ||||||
|  |   redirectUris: string[] | ||||||
|  |   autoApprove: boolean | ||||||
|  |   authorizedGrantTypes: string[] | ||||||
|  |   scopes: string[] | ||||||
|  |   authorities: string[] | ||||||
|  |   resourceIds: string[] | ||||||
|  |   additionalInformation: string | ||||||
|  |   isAdditionalInformationJson: boolean | ||||||
|  |   createTime: Date | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface OAuth2ClientPageReqVO extends PageParam { | ||||||
|  |   name?: string | ||||||
|  |   status?: number | ||||||
|  | } | ||||||
|  | // 查询 OAuth2列表
 | ||||||
|  | export const getOAuth2ClientPageApi = (params: OAuth2ClientPageReqVO) => { | ||||||
|  |   return defHttp.get({ url: '/system/oauth2-client/page', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询 OAuth2详情
 | ||||||
|  | export const getOAuth2ClientApi = (id: number) => { | ||||||
|  |   return defHttp.get({ url: '/system/oauth2-client/get?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 新增 OAuth2
 | ||||||
|  | export const createOAuth2ClientApi = (data: OAuth2ClientVO) => { | ||||||
|  |   return defHttp.post({ url: '/system/oauth2-client/create', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 修改 OAuth2
 | ||||||
|  | export const updateOAuth2ClientApi = (data: OAuth2ClientVO) => { | ||||||
|  |   return defHttp.put({ url: '/system/oauth2-client/update', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 删除 OAuth2
 | ||||||
|  | export const deleteOAuth2ClientApi = (id: number) => { | ||||||
|  |   return defHttp.delete({ url: '/system/oauth2-client/delete?id=' + id }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,28 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | 
 | ||||||
|  | export interface OAuth2TokenVO { | ||||||
|  |   id: number | ||||||
|  |   accessToken: string | ||||||
|  |   refreshToken: string | ||||||
|  |   userId: number | ||||||
|  |   userType: number | ||||||
|  |   clientId: string | ||||||
|  |   createTime: Date | ||||||
|  |   expiresTime: Date | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface OAuth2TokenPageReqVO extends PageParam { | ||||||
|  |   userId?: number | ||||||
|  |   userType?: number | ||||||
|  |   clientId?: string | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询 token列表
 | ||||||
|  | export const getAccessTokenPageApi = (params: OAuth2TokenPageReqVO) => { | ||||||
|  |   return defHttp.get({ url: '/system/oauth2-token/page', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 删除 token
 | ||||||
|  | export const deleteAccessTokenApi = (accessToken: number) => { | ||||||
|  |   return defHttp.delete({ url: '/system/oauth2-token/delete?accessToken=' + accessToken }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,41 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | 
 | ||||||
|  | export type OperateLogVO = { | ||||||
|  |   id: number | ||||||
|  |   userNickname: string | ||||||
|  |   traceId: string | ||||||
|  |   userId: number | ||||||
|  |   module: string | ||||||
|  |   name: string | ||||||
|  |   type: number | ||||||
|  |   content: string | ||||||
|  |   exts: Map<String, Object> | ||||||
|  |   defHttpMethod: string | ||||||
|  |   defHttpUrl: string | ||||||
|  |   userIp: string | ||||||
|  |   userAgent: string | ||||||
|  |   javaMethod: string | ||||||
|  |   javaMethodArgs: string | ||||||
|  |   startTime: Date | ||||||
|  |   duration: number | ||||||
|  |   resultCode: number | ||||||
|  |   resultMsg: string | ||||||
|  |   resultData: string | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface OperateLogPageReqVO extends PageParam { | ||||||
|  |   module?: string | ||||||
|  |   userNickname?: string | ||||||
|  |   type?: number | ||||||
|  |   success?: boolean | ||||||
|  |   startTime?: Date[] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询操作日志列表
 | ||||||
|  | export const getOperateLogPageApi = (params: OperateLogPageReqVO) => { | ||||||
|  |   return defHttp.get({ url: '/system/operate-log/page', params }) | ||||||
|  | } | ||||||
|  | // 导出操作日志
 | ||||||
|  | export const exportOperateLogApi = (params: OperateLogPageReqVO) => { | ||||||
|  |   return defHttp.download({ url: '/system/operate-log/export', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,42 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | 
 | ||||||
|  | export interface PermissionAssignUserRoleReqVO { | ||||||
|  |   userId: number | ||||||
|  |   roleIds: number[] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface PermissionAssignRoleMenuReqVO { | ||||||
|  |   roleId: number | ||||||
|  |   menuIds: number[] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface PermissionAssignRoleDataScopeReqVO { | ||||||
|  |   roleId: number | ||||||
|  |   dataScope: number | ||||||
|  |   dataScopeDeptIds: number[] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询角色拥有的菜单权限
 | ||||||
|  | export const listRoleMenusApi = (roleId: number) => { | ||||||
|  |   return defHttp.get({ url: '/system/permission/list-role-resources?roleId=' + roleId }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 赋予角色菜单权限
 | ||||||
|  | export const assignRoleMenuApi = (data: PermissionAssignRoleMenuReqVO) => { | ||||||
|  |   return defHttp.post({ url: '/system/permission/assign-role-menu', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 赋予角色数据权限
 | ||||||
|  | export const assignRoleDataScopeApi = (data: PermissionAssignRoleDataScopeReqVO) => { | ||||||
|  |   return defHttp.post({ url: '/system/permission/assign-role-data-scope', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询用户拥有的角色数组
 | ||||||
|  | export const listUserRolesApi = (userId: number) => { | ||||||
|  |   return defHttp.get({ url: '/system/permission/list-user-roles?userId=' + userId }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 赋予用户角色
 | ||||||
|  | export const aassignUserRoleApi = (data: PermissionAssignUserRoleReqVO) => { | ||||||
|  |   return defHttp.post({ url: '/system/permission/assign-user-role', data }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,58 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | 
 | ||||||
|  | export interface PostVO { | ||||||
|  |   id?: number | ||||||
|  |   name: string | ||||||
|  |   code: string | ||||||
|  |   sort: number | ||||||
|  |   status: number | ||||||
|  |   remark: string | ||||||
|  |   createTime?: Date | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface PostPageReqVO extends PageParam { | ||||||
|  |   code?: string | ||||||
|  |   name?: string | ||||||
|  |   status?: number | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface PostExportReqVO { | ||||||
|  |   code?: string | ||||||
|  |   name?: string | ||||||
|  |   status?: number | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询岗位列表
 | ||||||
|  | export const getPostPageApi = (params: PostPageReqVO) => { | ||||||
|  |   return defHttp.get<PageResult<PostVO>>({ url: '/system/post/page', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 获取岗位精简信息列表
 | ||||||
|  | export const listSimplePostsApi = () => { | ||||||
|  |   return defHttp.get({ url: '/system/post/list-all-simple' }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询岗位详情
 | ||||||
|  | export const getPostApi = (id: number) => { | ||||||
|  |   return defHttp.get({ url: '/system/post/get?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 新增岗位
 | ||||||
|  | export const createPostApi = (data: PostVO) => { | ||||||
|  |   return defHttp.post({ url: '/system/post/create', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 修改岗位
 | ||||||
|  | export const updatePostApi = (data: PostVO) => { | ||||||
|  |   return defHttp.put({ url: '/system/post/update', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 删除岗位
 | ||||||
|  | export const deletePostApi = (id: number) => { | ||||||
|  |   return defHttp.delete({ url: '/system/post/delete?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 导出岗位
 | ||||||
|  | export const exportPostApi = (params: PostExportReqVO) => { | ||||||
|  |   return defHttp.download({ url: '/system/post/export', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,58 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | 
 | ||||||
|  | export interface RoleVO { | ||||||
|  |   id: number | ||||||
|  |   name: string | ||||||
|  |   code: string | ||||||
|  |   sort: number | ||||||
|  |   status: number | ||||||
|  |   type: number | ||||||
|  |   createTime: Date | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface RolePageReqVO extends PageParam { | ||||||
|  |   name?: string | ||||||
|  |   code?: string | ||||||
|  |   status?: number | ||||||
|  |   createTime?: Date[] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface UpdateStatusReqVO { | ||||||
|  |   id: number | ||||||
|  |   status: number | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询角色列表
 | ||||||
|  | export const getRolePageApi = (params: RolePageReqVO) => { | ||||||
|  |   return defHttp.get({ url: '/system/role/page', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询角色(精简)列表
 | ||||||
|  | export const listSimpleRolesApi = () => { | ||||||
|  |   return defHttp.get({ url: '/system/role/list-all-simple' }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询角色详情
 | ||||||
|  | export const getRoleApi = (id: number) => { | ||||||
|  |   return defHttp.get({ url: '/system/role/get?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 新增角色
 | ||||||
|  | export const createRoleApi = (data: RoleVO) => { | ||||||
|  |   return defHttp.post({ url: '/system/role/create', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 修改角色
 | ||||||
|  | export const updateRoleApi = (data: RoleVO) => { | ||||||
|  |   return defHttp.put({ url: '/system/role/update', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 修改角色状态
 | ||||||
|  | export const updateRoleStatusApi = (data: UpdateStatusReqVO) => { | ||||||
|  |   return defHttp.put({ url: '/system/role/update-status', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 删除角色
 | ||||||
|  | export const deleteRoleApi = (id: number) => { | ||||||
|  |   return defHttp.delete({ url: '/system/role/delete?id=' + id }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,64 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | 
 | ||||||
|  | export interface SensitiveWordVO { | ||||||
|  |   id: number | ||||||
|  |   name: string | ||||||
|  |   status: number | ||||||
|  |   description: string | ||||||
|  |   tags: string[] | ||||||
|  |   createTime: Date | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface SensitiveWordPageReqVO extends PageParam { | ||||||
|  |   name?: string | ||||||
|  |   tag?: string | ||||||
|  |   status?: number | ||||||
|  |   createTime?: Date[] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface SensitiveWordExportReqVO { | ||||||
|  |   name?: string | ||||||
|  |   tag?: string | ||||||
|  |   status?: number | ||||||
|  |   createTime?: Date[] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询敏感词列表
 | ||||||
|  | export const getSensitiveWordPageApi = (params: SensitiveWordPageReqVO) => { | ||||||
|  |   return defHttp.get({ url: '/system/sensitive-word/page', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询敏感词详情
 | ||||||
|  | export const getSensitiveWordApi = (id: number) => { | ||||||
|  |   return defHttp.get({ url: '/system/sensitive-word/get?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 新增敏感词
 | ||||||
|  | export const createSensitiveWordApi = (data: SensitiveWordVO) => { | ||||||
|  |   return defHttp.post({ url: '/system/sensitive-word/create', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 修改敏感词
 | ||||||
|  | export const updateSensitiveWordApi = (data: SensitiveWordVO) => { | ||||||
|  |   return defHttp.put({ url: '/system/sensitive-word/update', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 删除敏感词
 | ||||||
|  | export const deleteSensitiveWordApi = (id: number) => { | ||||||
|  |   return defHttp.delete({ url: '/system/sensitive-word/delete?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 导出敏感词
 | ||||||
|  | export const exportSensitiveWordApi = (params: SensitiveWordExportReqVO) => { | ||||||
|  |   return defHttp.download({ url: '/system/sensitive-word/export-excel', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 获取所有敏感词的标签数组
 | ||||||
|  | export const getSensitiveWordTagsApi = () => { | ||||||
|  |   return defHttp.get({ url: '/system/sensitive-word/get-tags' }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 获得文本所包含的不合法的敏感词数组
 | ||||||
|  | export const validateTextApi = (id: number) => { | ||||||
|  |   return defHttp.get({ url: '/system/sensitive-word/validate-text?' + id }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,50 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | 
 | ||||||
|  | export interface SmsChannelVO { | ||||||
|  |   id: number | ||||||
|  |   code: string | ||||||
|  |   status: number | ||||||
|  |   signature: string | ||||||
|  |   remark: string | ||||||
|  |   apiKey: string | ||||||
|  |   apiSecret: string | ||||||
|  |   callbackUrl: string | ||||||
|  |   createTime: Date | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface SmsChannelPageReqVO extends PageParam { | ||||||
|  |   signature?: string | ||||||
|  |   code?: string | ||||||
|  |   status?: number | ||||||
|  |   createTime?: Date[] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询短信渠道列表
 | ||||||
|  | export const getSmsChannelPageApi = (params: SmsChannelPageReqVO) => { | ||||||
|  |   return defHttp.get({ url: '/system/sms-channel/page', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 获得短信渠道精简列表
 | ||||||
|  | export function getSimpleSmsChannels() { | ||||||
|  |   return defHttp.get({ url: '/system/sms-channel/list-all-simple' }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询短信渠道详情
 | ||||||
|  | export const getSmsChannelApi = (id: number) => { | ||||||
|  |   return defHttp.get({ url: '/system/sms-channel/get?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 新增短信渠道
 | ||||||
|  | export const createSmsChannelApi = (data: SmsChannelVO) => { | ||||||
|  |   return defHttp.post({ url: '/system/sms-channel/create', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 修改短信渠道
 | ||||||
|  | export const updateSmsChannelApi = (data: SmsChannelVO) => { | ||||||
|  |   return defHttp.put({ url: '/system/sms-channel/update', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 删除短信渠道
 | ||||||
|  | export const deleteSmsChannelApi = (id: number) => { | ||||||
|  |   return defHttp.delete({ url: '/system/sms-channel/delete?id=' + id }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,57 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | 
 | ||||||
|  | export interface SmsLogVO { | ||||||
|  |   id: number | ||||||
|  |   channelId: number | ||||||
|  |   channelCode: string | ||||||
|  |   templateId: number | ||||||
|  |   templateCode: string | ||||||
|  |   templateType: number | ||||||
|  |   templateContent: string | ||||||
|  |   templateParams: Map<string, object> | ||||||
|  |   mobile: string | ||||||
|  |   userId: number | ||||||
|  |   userType: number | ||||||
|  |   sendStatus: number | ||||||
|  |   sendTime: Date | ||||||
|  |   sendCode: number | ||||||
|  |   sendMsg: string | ||||||
|  |   apiSendCode: string | ||||||
|  |   apiSendMsg: string | ||||||
|  |   apidefHttpId: string | ||||||
|  |   apiSerialNo: string | ||||||
|  |   receiveStatus: number | ||||||
|  |   receiveTime: Date | ||||||
|  |   apiReceiveCode: string | ||||||
|  |   apiReceiveMsg: string | ||||||
|  |   createTime: Date | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface SmsLogPageReqVO extends PageParam { | ||||||
|  |   channelId?: number | ||||||
|  |   templateId?: number | ||||||
|  |   mobile?: string | ||||||
|  |   sendStatus?: number | ||||||
|  |   sendTime?: Date[] | ||||||
|  |   receiveStatus?: number | ||||||
|  |   receiveTime?: Date[] | ||||||
|  | } | ||||||
|  | export interface SmsLogExportReqVO { | ||||||
|  |   channelId?: number | ||||||
|  |   templateId?: number | ||||||
|  |   mobile?: string | ||||||
|  |   sendStatus?: number | ||||||
|  |   sendTime?: Date[] | ||||||
|  |   receiveStatus?: number | ||||||
|  |   receiveTime?: Date[] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询短信日志列表
 | ||||||
|  | export const getSmsLogPageApi = (params: SmsLogPageReqVO) => { | ||||||
|  |   return defHttp.get({ url: '/system/sms-log/page', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 导出短信日志
 | ||||||
|  | export const exportSmsLogApi = (params: SmsLogExportReqVO) => { | ||||||
|  |   return defHttp.download({ url: '/system/sms-log/export', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,80 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | 
 | ||||||
|  | export interface SmsTemplateVO { | ||||||
|  |   id: number | ||||||
|  |   type: number | ||||||
|  |   status: number | ||||||
|  |   code: string | ||||||
|  |   name: string | ||||||
|  |   content: string | ||||||
|  |   remark: string | ||||||
|  |   apiTemplateId: string | ||||||
|  |   channelId: number | ||||||
|  |   channelCode: string | ||||||
|  |   params: string[] | ||||||
|  |   createTime: Date | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface SendSmsReqVO { | ||||||
|  |   mobile: string | ||||||
|  |   templateCode: string | ||||||
|  |   templateParams: Map<String, Object> | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface SmsTemplatePageReqVO { | ||||||
|  |   type?: number | ||||||
|  |   status?: number | ||||||
|  |   code?: string | ||||||
|  |   content?: string | ||||||
|  |   apiTemplateId?: string | ||||||
|  |   channelId?: number | ||||||
|  |   createTime?: Date[] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface SmsTemplateExportReqVO { | ||||||
|  |   type?: number | ||||||
|  |   status?: number | ||||||
|  |   code?: string | ||||||
|  |   content?: string | ||||||
|  |   apiTemplateId?: string | ||||||
|  |   channelId?: number | ||||||
|  |   createTime?: Date[] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询短信模板列表
 | ||||||
|  | export const getSmsTemplatePageApi = (params: SmsTemplatePageReqVO) => { | ||||||
|  |   return defHttp.get({ url: '/system/sms-template/page', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询短信模板详情
 | ||||||
|  | export const getSmsTemplateApi = (id: number) => { | ||||||
|  |   return defHttp.get({ url: '/system/sms-template/get?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 新增短信模板
 | ||||||
|  | export const createSmsTemplateApi = (data: SmsTemplateVO) => { | ||||||
|  |   return defHttp.post({ url: '/system/sms-template/create', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 修改短信模板
 | ||||||
|  | export const updateSmsTemplateApi = (data: SmsTemplateVO) => { | ||||||
|  |   return defHttp.put({ url: '/system/sms-template/update', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 删除短信模板
 | ||||||
|  | export const deleteSmsTemplateApi = (id: number) => { | ||||||
|  |   return defHttp.delete({ url: '/system/sms-template/delete?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 发送短信
 | ||||||
|  | export const sendSmsApi = (data: SendSmsReqVO) => { | ||||||
|  |   return defHttp.post({ url: '/system/sms-template/send-sms', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 导出短信模板
 | ||||||
|  | export const exportPostApi = (params: SmsTemplateExportReqVO) => { | ||||||
|  |   return defHttp.download({ | ||||||
|  |     url: '/system/sms-template/export-excel', | ||||||
|  |     params | ||||||
|  |   }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,62 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | 
 | ||||||
|  | export interface TenantVO { | ||||||
|  |   id: number | ||||||
|  |   name: string | ||||||
|  |   contactName: string | ||||||
|  |   contactMobile: string | ||||||
|  |   status: number | ||||||
|  |   domain: string | ||||||
|  |   packageId: number | ||||||
|  |   username: string | ||||||
|  |   password: string | ||||||
|  |   expireTime: Date | ||||||
|  |   accountCount: number | ||||||
|  |   createTime: Date | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface TenantPageReqVO extends PageParam { | ||||||
|  |   name?: string | ||||||
|  |   contactName?: string | ||||||
|  |   contactMobile?: string | ||||||
|  |   status?: number | ||||||
|  |   createTime?: Date[] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface TenantExportReqVO { | ||||||
|  |   name?: string | ||||||
|  |   contactName?: string | ||||||
|  |   contactMobile?: string | ||||||
|  |   status?: number | ||||||
|  |   createTime?: Date[] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询租户列表
 | ||||||
|  | export const getTenantPageApi = (params: TenantPageReqVO) => { | ||||||
|  |   return defHttp.get({ url: '/system/tenant/page', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询租户详情
 | ||||||
|  | export const getTenantApi = (id: number) => { | ||||||
|  |   return defHttp.get({ url: '/system/tenant/get?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 新增租户
 | ||||||
|  | export const createTenantApi = (data: TenantVO) => { | ||||||
|  |   return defHttp.post({ url: '/system/tenant/create', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 修改租户
 | ||||||
|  | export const updateTenantApi = (data: TenantVO) => { | ||||||
|  |   return defHttp.put({ url: '/system/tenant/update', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 删除租户
 | ||||||
|  | export const deleteTenantApi = (id: number) => { | ||||||
|  |   return defHttp.delete({ url: '/system/tenant/delete?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 导出租户
 | ||||||
|  | export const exportTenantApi = (params: TenantExportReqVO) => { | ||||||
|  |   return defHttp.download({ url: '/system/tenant/export-excel', params }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,49 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | 
 | ||||||
|  | export interface TenantPackageVO { | ||||||
|  |   id: number | ||||||
|  |   name: string | ||||||
|  |   status: number | ||||||
|  |   remark: string | ||||||
|  |   creator: string | ||||||
|  |   updater: string | ||||||
|  |   updateTime: string | ||||||
|  |   menuIds: number[] | ||||||
|  |   createTime: Date | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface TenantPackagePageReqVO extends PageParam { | ||||||
|  |   name?: string | ||||||
|  |   status?: number | ||||||
|  |   remark?: string | ||||||
|  |   createTime?: Date[] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询租户套餐列表
 | ||||||
|  | export const getTenantPackageTypePageApi = (params: TenantPackagePageReqVO) => { | ||||||
|  |   return defHttp.get({ url: '/system/tenant-package/page', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 获得租户
 | ||||||
|  | export const getTenantPackageApi = (id: number) => { | ||||||
|  |   return defHttp.get({ url: '/system/tenant-package/get?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 新增租户套餐
 | ||||||
|  | export const createTenantPackageTypeApi = (data: TenantPackageVO) => { | ||||||
|  |   return defHttp.post({ url: '/system/tenant-package/create', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 修改租户套餐
 | ||||||
|  | export const updateTenantPackageTypeApi = (data: TenantPackageVO) => { | ||||||
|  |   return defHttp.put({ url: '/system/tenant-package/update', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 删除租户套餐
 | ||||||
|  | export const deleteTenantPackageTypeApi = (id: number) => { | ||||||
|  |   return defHttp.delete({ url: '/system/tenant-package/delete?id=' + id }) | ||||||
|  | } | ||||||
|  | // 获取租户套餐精简信息列表
 | ||||||
|  | export const getTenantPackageList = () => { | ||||||
|  |   return defHttp.get({ url: '/system/tenant-package/get-simple-list' }) | ||||||
|  | } | ||||||
|  | @ -0,0 +1,91 @@ | ||||||
|  | import { defHttp } from '@/utils/http/axios' | ||||||
|  | 
 | ||||||
|  | export interface UserVO { | ||||||
|  |   id: number | ||||||
|  |   username: string | ||||||
|  |   nickname: string | ||||||
|  |   deptId: number | ||||||
|  |   postIds: string[] | ||||||
|  |   email: string | ||||||
|  |   mobile: string | ||||||
|  |   sex: number | ||||||
|  |   avatar: string | ||||||
|  |   loginIp: string | ||||||
|  |   status: number | ||||||
|  |   remark: string | ||||||
|  |   loginDate: Date | ||||||
|  |   createTime: Date | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface UserPageReqVO extends PageParam { | ||||||
|  |   deptId?: number | ||||||
|  |   username?: string | ||||||
|  |   mobile?: string | ||||||
|  |   status?: number | ||||||
|  |   createTime?: Date[] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface UserExportReqVO { | ||||||
|  |   code?: string | ||||||
|  |   name?: string | ||||||
|  |   status?: number | ||||||
|  |   createTime?: Date[] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询用户管理列表
 | ||||||
|  | export const getUserPageApi = (params: UserPageReqVO) => { | ||||||
|  |   return defHttp.get({ url: '/system/user/page', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 查询用户详情
 | ||||||
|  | export const getUserApi = (id: number) => { | ||||||
|  |   return defHttp.get({ url: '/system/user/get?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 新增用户
 | ||||||
|  | export const createUserApi = (data: UserVO) => { | ||||||
|  |   return defHttp.post({ url: '/system/user/create', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 修改用户
 | ||||||
|  | export const updateUserApi = (data: UserVO) => { | ||||||
|  |   return defHttp.put({ url: '/system/user/update', data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 删除用户
 | ||||||
|  | export const deleteUserApi = (id: number) => { | ||||||
|  |   return defHttp.delete({ url: '/system/user/delete?id=' + id }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 导出用户
 | ||||||
|  | export const exportUserApi = (params: UserExportReqVO) => { | ||||||
|  |   return defHttp.download({ url: '/system/user/export', params }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 下载用户导入模板
 | ||||||
|  | export const importUserTemplateApi = () => { | ||||||
|  |   return defHttp.download({ url: '/system/user/get-import-template' }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 用户密码重置
 | ||||||
|  | export const resetUserPwdApi = (id: number, password: string) => { | ||||||
|  |   const data = { | ||||||
|  |     id, | ||||||
|  |     password | ||||||
|  |   } | ||||||
|  |   return defHttp.put({ url: '/system/user/update-password', data: data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 用户状态修改
 | ||||||
|  | export const updateUserStatusApi = (id: number, status: number) => { | ||||||
|  |   const data = { | ||||||
|  |     id, | ||||||
|  |     status | ||||||
|  |   } | ||||||
|  |   return defHttp.put({ url: '/system/user/update-status', data: data }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // 获取用户精简信息列表
 | ||||||
|  | export const getListSimpleUsersApi = () => { | ||||||
|  |   return defHttp.get({ url: '/system/user/list-all-simple' }) | ||||||
|  | } | ||||||
|  | @ -1,5 +1,9 @@ | ||||||
| // token key
 | // token key
 | ||||||
| export const TOKEN_KEY = 'TOKEN__' | export const ACCESS_TOKEN_KEY = 'ACCESS_TOKEN__' | ||||||
|  | 
 | ||||||
|  | export const REFRESH_TOKEN_KEY = 'REFRESH_TOKEN__' | ||||||
|  | 
 | ||||||
|  | export const TENANT_ID_KEY = 'TENANT_ID__' | ||||||
| 
 | 
 | ||||||
| export const LOCALE_KEY = 'LOCALE__' | export const LOCALE_KEY = 'LOCALE__' | ||||||
| 
 | 
 | ||||||
|  | @ -12,6 +16,9 @@ export const ROLES_KEY = 'ROLES__KEY__' | ||||||
| // project config key
 | // project config key
 | ||||||
| export const PROJ_CFG_KEY = 'PROJ__CFG__KEY__' | export const PROJ_CFG_KEY = 'PROJ__CFG__KEY__' | ||||||
| 
 | 
 | ||||||
|  | // dict info key
 | ||||||
|  | export const DICT_KEY = 'DICT__KEY__' | ||||||
|  | 
 | ||||||
| // lock info
 | // lock info
 | ||||||
| export const LOCK_INFO_KEY = 'LOCK__INFO__KEY__' | export const LOCK_INFO_KEY = 'LOCK__INFO__KEY__' | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -4,7 +4,9 @@ | ||||||
| export enum ResultEnum { | export enum ResultEnum { | ||||||
|   SUCCESS = 0, |   SUCCESS = 0, | ||||||
|   ERROR = -1, |   ERROR = -1, | ||||||
|   TIMEOUT = 401, |   TIMEOUT = 400, | ||||||
|  |   UNAUTHORIZED = 401, | ||||||
|  |   INTERNAL_SERVER_ERROR = 500, | ||||||
|   TYPE = 'success' |   TYPE = 'success' | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1,6 +1,6 @@ | ||||||
| export enum RoleEnum { | export enum RoleEnum { | ||||||
|   // super admin
 |   // super admin
 | ||||||
|   SUPER = 'super', |   SUPER = 'super-admin', | ||||||
| 
 | 
 | ||||||
|   // tester
 |   // tester
 | ||||||
|   TEST = 'test' |   TEST = 'test' | ||||||
|  |  | ||||||
|  | @ -0,0 +1,6 @@ | ||||||
|  | export default { | ||||||
|  |   create: 'Create', | ||||||
|  |   edit: 'Edit', | ||||||
|  |   delete: 'Delete', | ||||||
|  |   detail: 'Detail' | ||||||
|  | } | ||||||
|  | @ -1,14 +1,19 @@ | ||||||
| export default { | export default { | ||||||
|  |   index: 'Index', | ||||||
|  |   action: 'Action', | ||||||
|   okText: 'OK', |   okText: 'OK', | ||||||
|   closeText: 'Close', |   closeText: 'Close', | ||||||
|   cancelText: 'Cancel', |   cancelText: 'Cancel', | ||||||
|   loadingText: 'Loading...', |   loadingText: 'Loading...', | ||||||
|   saveText: 'Save', |   saveText: 'Save', | ||||||
|   delText: 'Delete', |   delText: 'Delete', | ||||||
|  |   delSuccessText: 'Delete success', | ||||||
|  |   exportSuccessText: 'Export success', | ||||||
|   resetText: 'Reset', |   resetText: 'Reset', | ||||||
|   searchText: 'Search', |   searchText: 'Search', | ||||||
|   queryText: 'Search', |   queryText: 'Search', | ||||||
| 
 | 
 | ||||||
|  |   allOptionText: 'All', | ||||||
|   inputText: 'Please enter', |   inputText: 'Please enter', | ||||||
|   chooseText: 'Please choose', |   chooseText: 'Please choose', | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -119,11 +119,11 @@ export default { | ||||||
|     uploadWait: 'Please wait for the file upload to finish', |     uploadWait: 'Please wait for the file upload to finish', | ||||||
|     reUploadFailed: 'Re-upload failed files' |     reUploadFailed: 'Re-upload failed files' | ||||||
|   }, |   }, | ||||||
|   verify: { |   captcha: { | ||||||
|     error: 'verification failed!', |     verification: 'Please complete security verification', | ||||||
|     time: 'The verification is successful and it takes {time} seconds!', |     slide: 'Swipe right to complete verification', | ||||||
|     redoTip: 'Click the picture to refresh', |     point: 'Please click', | ||||||
|     dragText: 'Hold down the slider and drag', |     success: 'Verification succeeded', | ||||||
|     successText: 'Verified' |     fail: 'verification failed' | ||||||
|   } |   } | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -2,8 +2,9 @@ export default { | ||||||
|   footer: { onlinePreview: 'Preview', onlineDocument: 'Document' }, |   footer: { onlinePreview: 'Preview', onlineDocument: 'Document' }, | ||||||
|   header: { |   header: { | ||||||
|     // user dropdown
 |     // user dropdown
 | ||||||
|  |     accountCenter: 'Personal Center', | ||||||
|     dropdownItemDoc: 'Document', |     dropdownItemDoc: 'Document', | ||||||
|     dropdownItemLoginOut: 'Log Out', |     dropdownItemLoginOut: 'Login Out', | ||||||
| 
 | 
 | ||||||
|     tooltipErrorLog: 'Error log', |     tooltipErrorLog: 'Error log', | ||||||
|     tooltipLock: 'Lock screen', |     tooltipLock: 'Lock screen', | ||||||
|  |  | ||||||
|  | @ -0,0 +1,38 @@ | ||||||
|  | export default { | ||||||
|  |   user: { | ||||||
|  |     title: 'Personal Information', | ||||||
|  |     username: 'User Name', | ||||||
|  |     nickname: 'Nick Name', | ||||||
|  |     mobile: 'Phone Number', | ||||||
|  |     email: 'User Mail', | ||||||
|  |     dept: 'Department', | ||||||
|  |     posts: 'Position', | ||||||
|  |     roles: 'Own Role', | ||||||
|  |     sex: 'Sex', | ||||||
|  |     man: 'Man', | ||||||
|  |     woman: 'Woman', | ||||||
|  |     createTime: 'Created Date' | ||||||
|  |   }, | ||||||
|  |   info: { | ||||||
|  |     title: 'Basic Information', | ||||||
|  |     basicInfo: 'Basic Information', | ||||||
|  |     resetPwd: 'Reset Password', | ||||||
|  |     userSocial: 'Social Information' | ||||||
|  |   }, | ||||||
|  |   rules: { | ||||||
|  |     nickname: 'Please Enter User Nickname', | ||||||
|  |     mail: 'Please Input The Email Address', | ||||||
|  |     truemail: 'Please Input The Correct Email Address', | ||||||
|  |     phone: 'Please Enter The Phone Number', | ||||||
|  |     truephone: 'Please Enter The Correct Phone Number' | ||||||
|  |   }, | ||||||
|  |   password: { | ||||||
|  |     oldPassword: 'Old PassWord', | ||||||
|  |     newPassword: 'New Password', | ||||||
|  |     confirmPassword: 'Confirm Password', | ||||||
|  |     oldPwdMsg: 'Please Enter Old Password', | ||||||
|  |     newPwdMsg: 'Please Enter New Password', | ||||||
|  |     cfPwdMsg: 'Please Enter Confirm Password', | ||||||
|  |     diffPwd: 'The Passwords Entered Twice No Match' | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | @ -1,4 +1,5 @@ | ||||||
| export default { | export default { | ||||||
|   login: 'Login', |   login: 'Login', | ||||||
|   errorLogList: 'Error Log' |   errorLogList: 'Error Log', | ||||||
|  |   profile: 'User Center' | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -1,200 +0,0 @@ | ||||||
| export default { |  | ||||||
|   charts: { |  | ||||||
|     baiduMap: 'Baidu map', |  | ||||||
|     aMap: 'A map', |  | ||||||
|     googleMap: 'Google map', |  | ||||||
|     charts: 'Chart', |  | ||||||
|     map: 'Map', |  | ||||||
|     line: 'Line', |  | ||||||
|     pie: 'Pie' |  | ||||||
|   }, |  | ||||||
|   comp: { |  | ||||||
|     comp: 'Component', |  | ||||||
|     basic: 'Basic', |  | ||||||
|     transition: 'Animation', |  | ||||||
|     countTo: 'Count To', |  | ||||||
| 
 |  | ||||||
|     scroll: 'Scroll', |  | ||||||
|     scrollBasic: 'Basic', |  | ||||||
|     scrollAction: 'Scroll Function', |  | ||||||
|     virtualScroll: 'Virtual Scroll', |  | ||||||
| 
 |  | ||||||
|     tree: 'Tree', |  | ||||||
| 
 |  | ||||||
|     treeBasic: 'Basic', |  | ||||||
|     editTree: 'Searchable/toolbar', |  | ||||||
|     actionTree: 'Function operation', |  | ||||||
| 
 |  | ||||||
|     modal: 'Modal', |  | ||||||
|     drawer: 'Drawer', |  | ||||||
|     desc: 'Desc', |  | ||||||
| 
 |  | ||||||
|     lazy: 'Lazy', |  | ||||||
|     lazyBasic: 'Basic', |  | ||||||
|     lazyTransition: 'Animation', |  | ||||||
| 
 |  | ||||||
|     verify: 'Verify', |  | ||||||
|     verifyDrag: 'Drag ', |  | ||||||
|     verifyRotate: 'Picture Restore', |  | ||||||
| 
 |  | ||||||
|     qrcode: 'QR code', |  | ||||||
|     strength: 'Password strength', |  | ||||||
|     upload: 'Upload', |  | ||||||
| 
 |  | ||||||
|     loading: 'Loading', |  | ||||||
| 
 |  | ||||||
|     cropperImage: 'Cropper Image', |  | ||||||
|     cardList: 'Card List' |  | ||||||
|   }, |  | ||||||
|   editor: { |  | ||||||
|     editor: 'Editor', |  | ||||||
|     jsonEditor: 'Json editor', |  | ||||||
|     markdown: 'Markdown editor', |  | ||||||
| 
 |  | ||||||
|     tinymce: 'Rich text', |  | ||||||
|     tinymceBasic: 'Basic', |  | ||||||
|     tinymceForm: 'embedded form' |  | ||||||
|   }, |  | ||||||
|   excel: { |  | ||||||
|     excel: 'Excel', |  | ||||||
|     customExport: 'Select export format', |  | ||||||
|     jsonExport: 'JSON data export', |  | ||||||
|     arrayExport: 'Array data export', |  | ||||||
|     importExcel: 'Import' |  | ||||||
|   }, |  | ||||||
|   feat: { |  | ||||||
|     feat: 'Page Function', |  | ||||||
|     icon: 'Icon', |  | ||||||
|     tabs: 'Tabs', |  | ||||||
|     tabDetail: 'Tab Detail', |  | ||||||
|     sessionTimeout: 'Session Timeout', |  | ||||||
|     print: 'Print', |  | ||||||
|     contextMenu: 'Context Menu', |  | ||||||
|     download: 'Download', |  | ||||||
|     imgPreview: 'Picture Preview', |  | ||||||
|     copy: 'Clipboard', |  | ||||||
|     msg: 'Message prompt', |  | ||||||
|     watermark: 'Watermark', |  | ||||||
|     ripple: 'Ripple', |  | ||||||
|     fullScreen: 'Full Screen', |  | ||||||
|     errorLog: 'Error Log', |  | ||||||
|     tab: 'Tab with parameters', |  | ||||||
|     tab1: 'Tab with parameter 1', |  | ||||||
|     tab2: 'Tab with parameter 2', |  | ||||||
|     menu: 'Menu with parameters', |  | ||||||
|     menu1: 'Menu with parameters 1', |  | ||||||
|     menu2: 'Menu with parameters 2', |  | ||||||
| 
 |  | ||||||
|     ws: 'Websocket test', |  | ||||||
| 
 |  | ||||||
|     breadcrumb: 'Breadcrumbs', |  | ||||||
|     breadcrumbFlat: 'Flat Mode', |  | ||||||
|     breadcrumbFlatDetail: 'Flat mode details', |  | ||||||
|     requestDemo: 'Retry request demo', |  | ||||||
| 
 |  | ||||||
|     breadcrumbChildren: 'Level mode', |  | ||||||
|     breadcrumbChildrenDetail: 'Level mode detail' |  | ||||||
|   }, |  | ||||||
|   flow: { |  | ||||||
|     name: 'Graphics editor', |  | ||||||
|     flowChart: 'FlowChart' |  | ||||||
|   }, |  | ||||||
|   form: { |  | ||||||
|     form: 'Form', |  | ||||||
|     basic: 'Basic', |  | ||||||
|     useForm: 'useForm', |  | ||||||
|     refForm: 'RefForm', |  | ||||||
|     advancedForm: 'Shrinkable', |  | ||||||
|     ruleForm: 'Form validation', |  | ||||||
|     dynamicForm: 'Dynamic', |  | ||||||
|     customerForm: 'Custom', |  | ||||||
|     appendForm: 'Append', |  | ||||||
|     tabsForm: 'TabsForm' |  | ||||||
|   }, |  | ||||||
|   iframe: { |  | ||||||
|     frame: 'External', |  | ||||||
|     antv: 'antVue doc (embedded)', |  | ||||||
|     doc: 'Project doc (embedded)', |  | ||||||
|     docExternal: 'Project doc (external)' |  | ||||||
|   }, |  | ||||||
|   level: { level: 'MultiMenu' }, |  | ||||||
|   page: { |  | ||||||
|     page: 'Page', |  | ||||||
| 
 |  | ||||||
|     form: 'Form', |  | ||||||
|     formBasic: 'Basic Form', |  | ||||||
|     formStep: 'Step Form', |  | ||||||
|     formHigh: 'Advanced Form', |  | ||||||
| 
 |  | ||||||
|     desc: 'Details', |  | ||||||
|     descBasic: 'Basic Details', |  | ||||||
|     descHigh: 'Advanced Details', |  | ||||||
| 
 |  | ||||||
|     result: 'Result', |  | ||||||
|     resultSuccess: 'Success', |  | ||||||
|     resultFail: 'Failed', |  | ||||||
| 
 |  | ||||||
|     account: 'Personal', |  | ||||||
|     accountCenter: 'Personal Center', |  | ||||||
|     accountSetting: 'Personal Settings', |  | ||||||
| 
 |  | ||||||
|     exception: 'Exception', |  | ||||||
|     netWorkError: 'Network Error', |  | ||||||
|     notData: 'No data', |  | ||||||
| 
 |  | ||||||
|     list: 'List page', |  | ||||||
|     listCard: 'Card list', |  | ||||||
|     basic: 'Basic list', |  | ||||||
|     listBasic: 'Basic list', |  | ||||||
|     listSearch: 'Search list' |  | ||||||
|   }, |  | ||||||
|   permission: { |  | ||||||
|     permission: 'Permission', |  | ||||||
| 
 |  | ||||||
|     front: 'front-end', |  | ||||||
|     frontPage: 'Page', |  | ||||||
|     frontBtn: 'Button', |  | ||||||
|     frontTestA: 'Test page A', |  | ||||||
|     frontTestB: 'Test page B', |  | ||||||
| 
 |  | ||||||
|     back: 'background', |  | ||||||
|     backPage: 'Page', |  | ||||||
|     backBtn: 'Button' |  | ||||||
|   }, |  | ||||||
|   setup: { |  | ||||||
|     page: 'Intro page' |  | ||||||
|   }, |  | ||||||
|   system: { |  | ||||||
|     moduleName: 'System management', |  | ||||||
| 
 |  | ||||||
|     account: 'Account management', |  | ||||||
|     account_detail: 'Account detail', |  | ||||||
|     password: 'Change password', |  | ||||||
| 
 |  | ||||||
|     dept: 'Department management', |  | ||||||
| 
 |  | ||||||
|     menu: 'Menu management', |  | ||||||
|     role: 'Role management' |  | ||||||
|   }, |  | ||||||
|   table: { |  | ||||||
|     table: 'Table', |  | ||||||
| 
 |  | ||||||
|     basic: 'Basic', |  | ||||||
|     treeTable: 'Tree', |  | ||||||
|     fetchTable: 'Remote loading', |  | ||||||
|     fixedColumn: 'Fixed column', |  | ||||||
|     customerCell: 'Custom column', |  | ||||||
|     formTable: 'Open search', |  | ||||||
|     useTable: 'UseTable', |  | ||||||
|     refTable: 'RefTable', |  | ||||||
|     multipleHeader: 'MultiLevel header', |  | ||||||
|     mergeHeader: 'Merge cells', |  | ||||||
|     expandTable: 'Expandable table', |  | ||||||
|     fixedHeight: 'Fixed height', |  | ||||||
|     footerTable: 'Footer', |  | ||||||
|     editCellTable: 'Editable cell', |  | ||||||
|     editRowTable: 'Editable row', |  | ||||||
|     authColumn: 'Auth column', |  | ||||||
|     resizeParentHeightTable: 'resizeParentHeightTable' |  | ||||||
|   } |  | ||||||
| } |  | ||||||
|  | @ -1,7 +1,7 @@ | ||||||
| export default { | export default { | ||||||
|   api: { |   api: { | ||||||
|     operationSuccess: 'Operation Success', |  | ||||||
|     operationFailed: 'Operation failed', |     operationFailed: 'Operation failed', | ||||||
|  |     operationSuccess: 'Operation success', | ||||||
|     errorTip: 'Error Tip', |     errorTip: 'Error Tip', | ||||||
|     successTip: 'Success Tip', |     successTip: 'Success Tip', | ||||||
|     errorMessage: 'The operation failed, the system is abnormal!', |     errorMessage: 'The operation failed, the system is abnormal!', | ||||||
|  | @ -94,6 +94,7 @@ export default { | ||||||
|     policyPlaceholder: 'Register after checking', |     policyPlaceholder: 'Register after checking', | ||||||
|     diffPwd: 'The two passwords are inconsistent', |     diffPwd: 'The two passwords are inconsistent', | ||||||
| 
 | 
 | ||||||
|  |     tenantName: 'TenantName', | ||||||
|     userName: 'Username', |     userName: 'Username', | ||||||
|     password: 'Password', |     password: 'Password', | ||||||
|     confirmPassword: 'Confirm Password', |     confirmPassword: 'Confirm Password', | ||||||
|  |  | ||||||
|  | @ -0,0 +1,6 @@ | ||||||
|  | export default { | ||||||
|  |   create: '新增', | ||||||
|  |   edit: '修改', | ||||||
|  |   delete: '删除', | ||||||
|  |   detail: '详情' | ||||||
|  | } | ||||||
|  | @ -1,14 +1,19 @@ | ||||||
| export default { | export default { | ||||||
|  |   index: '序号', | ||||||
|  |   action: '操作', | ||||||
|   okText: '确认', |   okText: '确认', | ||||||
|   closeText: '关闭', |   closeText: '关闭', | ||||||
|   cancelText: '取消', |   cancelText: '取消', | ||||||
|   loadingText: '加载中...', |   loadingText: '加载中...', | ||||||
|   saveText: '保存', |   saveText: '保存', | ||||||
|   delText: '删除', |   delText: '删除', | ||||||
|  |   delSuccessText: '删除成功', | ||||||
|  |   exportSuccessText: '导出成功', | ||||||
|   resetText: '重置', |   resetText: '重置', | ||||||
|   searchText: '搜索', |   searchText: '搜索', | ||||||
|   queryText: '查询', |   queryText: '查询', | ||||||
| 
 | 
 | ||||||
|  |   allOptionText: '全部', | ||||||
|   inputText: '请输入', |   inputText: '请输入', | ||||||
|   chooseText: '请选择', |   chooseText: '请选择', | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -122,13 +122,11 @@ export default { | ||||||
|     uploadWait: '请等待文件上传结束后操作', |     uploadWait: '请等待文件上传结束后操作', | ||||||
|     reUploadFailed: '重新上传失败文件' |     reUploadFailed: '重新上传失败文件' | ||||||
|   }, |   }, | ||||||
|   verify: { |   captcha: { | ||||||
|     error: '验证失败!', |     verification: '请完成安全验证', | ||||||
|     time: '验证校验成功,耗时{time}秒!', |     slide: '向右滑动完成验证', | ||||||
| 
 |     point: '请依次点击', | ||||||
|     redoTip: '点击图片可刷新', |     success: '验证成功', | ||||||
| 
 |     fail: '验证失败' | ||||||
|     dragText: '请按住滑块拖动', |  | ||||||
|     successText: '验证通过' |  | ||||||
|   } |   } | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -2,6 +2,7 @@ export default { | ||||||
|   footer: { onlinePreview: '在线预览', onlineDocument: '在线文档' }, |   footer: { onlinePreview: '在线预览', onlineDocument: '在线文档' }, | ||||||
|   header: { |   header: { | ||||||
|     // user dropdown
 |     // user dropdown
 | ||||||
|  |     accountCenter: '个人中心', | ||||||
|     dropdownItemDoc: '文档', |     dropdownItemDoc: '文档', | ||||||
|     dropdownItemLoginOut: '退出系统', |     dropdownItemLoginOut: '退出系统', | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -0,0 +1,39 @@ | ||||||
|  | export default { | ||||||
|  |   user: { | ||||||
|  |     title: '个人信息', | ||||||
|  |     username: '用户名称', | ||||||
|  |     nickname: '用户昵称', | ||||||
|  |     mobile: '手机号码', | ||||||
|  |     email: '用户邮箱', | ||||||
|  |     dept: '所属部门', | ||||||
|  |     posts: '所属岗位', | ||||||
|  |     roles: '所属角色', | ||||||
|  |     sex: '性别', | ||||||
|  |     man: '男', | ||||||
|  |     woman: '女', | ||||||
|  |     createTime: '创建日期' | ||||||
|  |   }, | ||||||
|  |   info: { | ||||||
|  |     title: '基本信息', | ||||||
|  |     basicInfo: '基本资料', | ||||||
|  |     resetPwd: '修改密码', | ||||||
|  |     userSocial: '社交信息' | ||||||
|  |   }, | ||||||
|  |   rules: { | ||||||
|  |     nickname: '请输入用户昵称', | ||||||
|  |     mail: '请输入邮箱地址', | ||||||
|  |     truemail: '请输入正确的邮箱地址', | ||||||
|  |     phone: '请输入正确的手机号码', | ||||||
|  |     truephone: '请输入正确的手机号码' | ||||||
|  |   }, | ||||||
|  |   password: { | ||||||
|  |     oldPassword: '旧密码', | ||||||
|  |     newPassword: '新密码', | ||||||
|  |     confirmPassword: '确认密码', | ||||||
|  |     oldPwdMsg: '请输入旧密码', | ||||||
|  |     newPwdMsg: '请输入新密码', | ||||||
|  |     cfPwdMsg: '请输入确认密码', | ||||||
|  |     pwdRules: '长度在 6 到 20 个字符', | ||||||
|  |     diffPwd: '两次输入密码不一致' | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | @ -1,4 +1,5 @@ | ||||||
| export default { | export default { | ||||||
|   login: '登录', |   login: '登录', | ||||||
|   errorLogList: '错误日志列表' |   errorLogList: '错误日志列表', | ||||||
|  |   profile: '个人中心' | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -1,191 +0,0 @@ | ||||||
| export default { |  | ||||||
|   charts: { |  | ||||||
|     baiduMap: '百度地图', |  | ||||||
|     aMap: '高德地图', |  | ||||||
|     googleMap: '谷歌地图', |  | ||||||
|     charts: '图表', |  | ||||||
|     map: '地图', |  | ||||||
|     line: '折线图', |  | ||||||
|     pie: '饼图' |  | ||||||
|   }, |  | ||||||
|   comp: { |  | ||||||
|     comp: '组件', |  | ||||||
|     basic: '基础组件', |  | ||||||
|     transition: '动画组件', |  | ||||||
|     countTo: '数字动画', |  | ||||||
| 
 |  | ||||||
|     scroll: '滚动组件', |  | ||||||
|     scrollBasic: '基础滚动', |  | ||||||
|     scrollAction: '滚动函数', |  | ||||||
|     virtualScroll: '虚拟滚动', |  | ||||||
| 
 |  | ||||||
|     tree: 'Tree', |  | ||||||
|     treeBasic: '基础树', |  | ||||||
|     editTree: '可搜索/工具栏', |  | ||||||
|     actionTree: '函数操作示例', |  | ||||||
| 
 |  | ||||||
|     modal: '弹窗扩展', |  | ||||||
|     drawer: '抽屉扩展', |  | ||||||
|     desc: '详情组件', |  | ||||||
| 
 |  | ||||||
|     lazy: '懒加载组件', |  | ||||||
|     lazyBasic: '基础示例', |  | ||||||
|     lazyTransition: '动画效果', |  | ||||||
| 
 |  | ||||||
|     verify: '验证组件', |  | ||||||
|     verifyDrag: '拖拽校验', |  | ||||||
|     verifyRotate: '图片还原', |  | ||||||
| 
 |  | ||||||
|     qrcode: '二维码组件', |  | ||||||
|     strength: '密码强度组件', |  | ||||||
|     upload: '上传组件', |  | ||||||
| 
 |  | ||||||
|     loading: 'Loading', |  | ||||||
| 
 |  | ||||||
|     cropperImage: '图片裁剪', |  | ||||||
|     cardList: '卡片列表' |  | ||||||
|   }, |  | ||||||
|   editor: { |  | ||||||
|     editor: '编辑器', |  | ||||||
|     jsonEditor: 'Json编辑器', |  | ||||||
|     markdown: 'markdown编辑器', |  | ||||||
| 
 |  | ||||||
|     tinymce: '富文本', |  | ||||||
|     tinymceBasic: '基础使用', |  | ||||||
|     tinymceForm: '嵌入form' |  | ||||||
|   }, |  | ||||||
|   excel: { |  | ||||||
|     excel: 'Excel', |  | ||||||
|     customExport: '选择导出格式', |  | ||||||
|     jsonExport: 'JSON数据导出', |  | ||||||
|     arrayExport: 'Array数据导出', |  | ||||||
|     importExcel: '导入' |  | ||||||
|   }, |  | ||||||
|   feat: { |  | ||||||
|     feat: '功能', |  | ||||||
|     icon: '图标', |  | ||||||
|     sessionTimeout: '登录过期', |  | ||||||
|     tabs: '标签页操作', |  | ||||||
|     tabDetail: '标签详情页', |  | ||||||
|     print: '打印', |  | ||||||
|     contextMenu: '右键菜单', |  | ||||||
|     download: '文件下载', |  | ||||||
|     imgPreview: '图片预览', |  | ||||||
|     copy: '剪切板', |  | ||||||
|     msg: '消息提示', |  | ||||||
|     watermark: '水印', |  | ||||||
|     ripple: '水波纹', |  | ||||||
|     fullScreen: '全屏', |  | ||||||
|     errorLog: '错误日志', |  | ||||||
|     tab: 'Tab带参', |  | ||||||
|     tab1: 'Tab带参1', |  | ||||||
|     tab2: 'Tab带参2', |  | ||||||
|     menu: 'Menu带参', |  | ||||||
|     menu1: 'Menu带参1', |  | ||||||
|     menu2: 'Menu带参2', |  | ||||||
|     ws: 'websocket测试', |  | ||||||
|     breadcrumb: '面包屑导航', |  | ||||||
|     breadcrumbFlat: '平级模式', |  | ||||||
|     requestDemo: '测试请求重试', |  | ||||||
|     breadcrumbFlatDetail: '平级详情', |  | ||||||
|     breadcrumbChildren: '层级模式', |  | ||||||
|     breadcrumbChildrenDetail: '层级详情' |  | ||||||
|   }, |  | ||||||
|   flow: { |  | ||||||
|     name: '图形编辑器', |  | ||||||
|     flowChart: '流程图' |  | ||||||
|   }, |  | ||||||
|   form: { |  | ||||||
|     form: 'Form', |  | ||||||
|     basic: '基础表单', |  | ||||||
|     useForm: 'useForm', |  | ||||||
|     refForm: 'RefForm', |  | ||||||
|     advancedForm: '可收缩表单', |  | ||||||
|     ruleForm: '表单验证', |  | ||||||
|     dynamicForm: '动态表单', |  | ||||||
|     customerForm: '自定义组件', |  | ||||||
|     appendForm: '表单增删示例', |  | ||||||
|     tabsForm: '标签页+多级field' |  | ||||||
|   }, |  | ||||||
|   iframe: { |  | ||||||
|     frame: '外部页面', |  | ||||||
|     antv: 'antVue文档(内嵌)', |  | ||||||
|     doc: '项目文档(内嵌)', |  | ||||||
|     docExternal: '项目文档(外链)' |  | ||||||
|   }, |  | ||||||
|   level: { level: '多级菜单' }, |  | ||||||
|   page: { |  | ||||||
|     page: '页面', |  | ||||||
| 
 |  | ||||||
|     form: '表单页', |  | ||||||
|     formBasic: '基础表单', |  | ||||||
|     formStep: '分步表单', |  | ||||||
|     formHigh: '高级表单', |  | ||||||
| 
 |  | ||||||
|     desc: '详情页', |  | ||||||
|     descBasic: '基础详情页', |  | ||||||
|     descHigh: '高级详情页', |  | ||||||
| 
 |  | ||||||
|     result: '结果页', |  | ||||||
|     resultSuccess: '成功页', |  | ||||||
|     resultFail: '失败页', |  | ||||||
| 
 |  | ||||||
|     account: '个人页', |  | ||||||
|     accountCenter: '个人中心', |  | ||||||
|     accountSetting: '个人设置', |  | ||||||
| 
 |  | ||||||
|     exception: '异常页', |  | ||||||
|     netWorkError: '网络错误', |  | ||||||
|     notData: '无数据', |  | ||||||
| 
 |  | ||||||
|     list: '列表页', |  | ||||||
|     listCard: '卡片列表', |  | ||||||
|     listBasic: '标准列表', |  | ||||||
|     listSearch: '搜索列表' |  | ||||||
|   }, |  | ||||||
|   permission: { |  | ||||||
|     permission: '权限管理', |  | ||||||
| 
 |  | ||||||
|     front: '基于前端权限', |  | ||||||
|     frontPage: '页面权限', |  | ||||||
|     frontBtn: '按钮权限', |  | ||||||
|     frontTestA: '权限测试页A', |  | ||||||
|     frontTestB: '权限测试页B', |  | ||||||
| 
 |  | ||||||
|     back: '基于后台权限', |  | ||||||
|     backPage: '页面权限', |  | ||||||
|     backBtn: '按钮权限' |  | ||||||
|   }, |  | ||||||
|   setup: { |  | ||||||
|     page: '引导页' |  | ||||||
|   }, |  | ||||||
|   system: { |  | ||||||
|     moduleName: '系统管理', |  | ||||||
|     account: '账号管理', |  | ||||||
|     account_detail: '账号详情', |  | ||||||
|     password: '修改密码', |  | ||||||
|     dept: '部门管理', |  | ||||||
|     menu: '菜单管理', |  | ||||||
|     role: '角色管理' |  | ||||||
|   }, |  | ||||||
|   table: { |  | ||||||
|     table: 'Table', |  | ||||||
|     basic: '基础表格', |  | ||||||
|     treeTable: '树形表格', |  | ||||||
|     fetchTable: '远程加载示例', |  | ||||||
|     fixedColumn: '固定列', |  | ||||||
|     customerCell: '自定义列', |  | ||||||
|     formTable: '开启搜索区域', |  | ||||||
|     useTable: 'UseTable', |  | ||||||
|     refTable: 'RefTable', |  | ||||||
|     multipleHeader: '多级表头', |  | ||||||
|     mergeHeader: '合并单元格', |  | ||||||
|     expandTable: '可展开表格', |  | ||||||
|     fixedHeight: '定高/头部自定义', |  | ||||||
|     footerTable: '表尾行合计', |  | ||||||
|     editCellTable: '可编辑单元格', |  | ||||||
|     editRowTable: '可编辑行', |  | ||||||
|     authColumn: '权限列', |  | ||||||
|     resizeParentHeightTable: '继承父元素高度' |  | ||||||
|   } |  | ||||||
| } |  | ||||||
|  | @ -1,7 +1,7 @@ | ||||||
| export default { | export default { | ||||||
|   api: { |   api: { | ||||||
|     operationSuccess: '操作成功', |  | ||||||
|     operationFailed: '操作失败', |     operationFailed: '操作失败', | ||||||
|  |     operationSuccess: '操作成功', | ||||||
|     errorTip: '错误提示', |     errorTip: '错误提示', | ||||||
|     successTip: '成功提示', |     successTip: '成功提示', | ||||||
|     errorMessage: '操作失败,系统异常!', |     errorMessage: '操作失败,系统异常!', | ||||||
|  | @ -90,6 +90,7 @@ export default { | ||||||
|     policyPlaceholder: '勾选后才能注册', |     policyPlaceholder: '勾选后才能注册', | ||||||
|     diffPwd: '两次输入密码不一致', |     diffPwd: '两次输入密码不一致', | ||||||
| 
 | 
 | ||||||
|  |     tenantName: '租户', | ||||||
|     userName: '账号', |     userName: '账号', | ||||||
|     password: '密码', |     password: '密码', | ||||||
|     confirmPassword: '确认密码', |     confirmPassword: '确认密码', | ||||||
|  |  | ||||||
|  | @ -4,7 +4,7 @@ export const PARENT_LAYOUT_NAME = 'ParentLayout' | ||||||
| 
 | 
 | ||||||
| export const PAGE_NOT_FOUND_NAME = 'PageNotFound' | export const PAGE_NOT_FOUND_NAME = 'PageNotFound' | ||||||
| 
 | 
 | ||||||
| export const EXCEPTION_COMPONENT = () => import('@/views/sys/exception/Exception.vue') | export const EXCEPTION_COMPONENT = () => import('@/views/base/exception/Exception.vue') | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * @description: default layout |  * @description: default layout | ||||||
|  |  | ||||||
|  | @ -7,7 +7,7 @@ import { warn } from '@/utils/log' | ||||||
| import { createRouter, createWebHashHistory } from 'vue-router' | import { createRouter, createWebHashHistory } from 'vue-router' | ||||||
| 
 | 
 | ||||||
| export type LayoutMapKey = 'LAYOUT' | export type LayoutMapKey = 'LAYOUT' | ||||||
| const IFRAME = () => import('@/views/sys/iframe/FrameBlank.vue') | const IFRAME = () => import('@/views/base/iframe/FrameBlank.vue') | ||||||
| 
 | 
 | ||||||
| const LayoutMap = new Map<string, () => Promise<typeof import('*.vue')>>() | const LayoutMap = new Map<string, () => Promise<typeof import('*.vue')>>() | ||||||
| 
 | 
 | ||||||
|  | @ -36,6 +36,10 @@ function asyncImportRoute(routes: AppRouteRecordRaw[] | undefined) { | ||||||
|     } else if (name) { |     } else if (name) { | ||||||
|       item.component = getParentLayout() |       item.component = getParentLayout() | ||||||
|     } |     } | ||||||
|  |     const meta = item.meta || {} | ||||||
|  |     meta.title = item.name | ||||||
|  |     meta.icon = item.icon | ||||||
|  |     item.meta = meta | ||||||
|     children && asyncImportRoute(children) |     children && asyncImportRoute(children) | ||||||
|   }) |   }) | ||||||
| } | } | ||||||
|  | @ -69,18 +73,29 @@ function dynamicImport(dynamicViewsModules: Record<string, () => Promise<Recorda | ||||||
| // 将背景对象变成路由对象
 | // 将背景对象变成路由对象
 | ||||||
| export function transformObjToRoute<T = AppRouteModule>(routeList: AppRouteModule[]): T[] { | export function transformObjToRoute<T = AppRouteModule>(routeList: AppRouteModule[]): T[] { | ||||||
|   routeList.forEach((route) => { |   routeList.forEach((route) => { | ||||||
|  |     if (route.children && route.parentId == 0) { | ||||||
|  |       route.component = 'LAYOUT' | ||||||
|  |     } else if (!route.children) { | ||||||
|  |       route.component = route.component as string | ||||||
|  |     } | ||||||
|     const component = route.component as string |     const component = route.component as string | ||||||
|     if (component) { |     if (component) { | ||||||
|       if (component.toUpperCase() === 'LAYOUT') { |       if (component.toUpperCase() === 'LAYOUT') { | ||||||
|         route.component = LayoutMap.get(component.toUpperCase()) |         route.component = LayoutMap.get('LAYOUT'.toUpperCase()) | ||||||
|  |         const meta = route.meta || {} | ||||||
|  |         meta.title = route.name | ||||||
|  |         meta.icon = route.icon | ||||||
|  |         route.meta = meta | ||||||
|       } else { |       } else { | ||||||
|  |         //处理顶级非目录路由
 | ||||||
|  |         const meta = route.meta || {} | ||||||
|  |         meta.title = route.name | ||||||
|  |         meta.icon = route.icon | ||||||
|  |         meta.single = true | ||||||
|         route.children = [cloneDeep(route)] |         route.children = [cloneDeep(route)] | ||||||
|         route.component = LAYOUT |         route.component = LAYOUT | ||||||
|         route.name = `${route.name}Parent` |         route.name = `${route.name}Parent` | ||||||
|         route.path = '' |         route.path = '' | ||||||
|         const meta = route.meta || {} |  | ||||||
|         meta.single = true |  | ||||||
|         meta.affix = false |  | ||||||
|         route.meta = meta |         route.meta = meta | ||||||
|       } |       } | ||||||
|     } else { |     } else { | ||||||
|  |  | ||||||
|  | @ -10,7 +10,7 @@ import { router } from '@/router' | ||||||
| import { PermissionModeEnum } from '@/enums/appEnum' | import { PermissionModeEnum } from '@/enums/appEnum' | ||||||
| import { pathToRegexp } from 'path-to-regexp' | import { pathToRegexp } from 'path-to-regexp' | ||||||
| 
 | 
 | ||||||
| const modules = import.meta.globEager('./modules/**/*.ts') | const modules = import.meta.glob('./modules/**/*.ts', { eager: true }) | ||||||
| 
 | 
 | ||||||
| const menuModules: MenuModule[] = [] | const menuModules: MenuModule[] = [] | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1,5 +1,4 @@ | ||||||
| import type { AppRouteRecordRaw } from '@/router/types' | import type { AppRouteRecordRaw } from '@/router/types' | ||||||
| import { t } from '@/hooks/web/useI18n' |  | ||||||
| import { REDIRECT_NAME, LAYOUT, EXCEPTION_COMPONENT, PAGE_NOT_FOUND_NAME } from '@/router/constant' | import { REDIRECT_NAME, LAYOUT, EXCEPTION_COMPONENT, PAGE_NOT_FOUND_NAME } from '@/router/constant' | ||||||
| 
 | 
 | ||||||
| // 404 on a page
 | // 404 on a page
 | ||||||
|  | @ -39,7 +38,7 @@ export const REDIRECT_ROUTE: AppRouteRecordRaw = { | ||||||
|     { |     { | ||||||
|       path: '/redirect/:path(.*)', |       path: '/redirect/:path(.*)', | ||||||
|       name: REDIRECT_NAME, |       name: REDIRECT_NAME, | ||||||
|       component: () => import('@/views/sys/redirect/index.vue'), |       component: () => import('@/views/base/redirect/index.vue'), | ||||||
|       meta: { |       meta: { | ||||||
|         title: REDIRECT_NAME, |         title: REDIRECT_NAME, | ||||||
|         hideBreadcrumb: true |         hideBreadcrumb: true | ||||||
|  | @ -47,27 +46,3 @@ export const REDIRECT_ROUTE: AppRouteRecordRaw = { | ||||||
|     } |     } | ||||||
|   ] |   ] | ||||||
| } | } | ||||||
| 
 |  | ||||||
| export const ERROR_LOG_ROUTE: AppRouteRecordRaw = { |  | ||||||
|   path: '/error-log', |  | ||||||
|   name: 'ErrorLog', |  | ||||||
|   component: LAYOUT, |  | ||||||
|   redirect: '/error-log/list', |  | ||||||
|   meta: { |  | ||||||
|     title: 'ErrorLog', |  | ||||||
|     hideBreadcrumb: true, |  | ||||||
|     hideChildrenInMenu: true |  | ||||||
|   }, |  | ||||||
|   children: [ |  | ||||||
|     { |  | ||||||
|       path: 'list', |  | ||||||
|       name: 'ErrorLogList', |  | ||||||
|       component: () => import('@/views/sys/error-log/index.vue'), |  | ||||||
|       meta: { |  | ||||||
|         title: t('routes.basic.errorLogList'), |  | ||||||
|         hideBreadcrumb: true, |  | ||||||
|         currentActiveMenu: '/error-log' |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|   ] |  | ||||||
| } |  | ||||||
|  |  | ||||||
|  | @ -2,12 +2,12 @@ import type { AppRouteRecordRaw, AppRouteModule } from '@/router/types' | ||||||
| 
 | 
 | ||||||
| import { PAGE_NOT_FOUND_ROUTE, REDIRECT_ROUTE } from '@/router/routes/basic' | import { PAGE_NOT_FOUND_ROUTE, REDIRECT_ROUTE } from '@/router/routes/basic' | ||||||
| 
 | 
 | ||||||
| import { mainOutRoutes } from './mainOut' |  | ||||||
| import { PageEnum } from '@/enums/pageEnum' | import { PageEnum } from '@/enums/pageEnum' | ||||||
| import { t } from '@/hooks/web/useI18n' | import { t } from '@/hooks/web/useI18n' | ||||||
|  | import { LAYOUT } from '@/router/constant' | ||||||
| 
 | 
 | ||||||
| // import.meta.globEager() 直接引入所有的模块 Vite 独有的功能
 | // import.meta.glob() 直接引入所有的模块 Vite 独有的功能
 | ||||||
| const modules = import.meta.globEager('./modules/**/*.ts') | const modules = import.meta.glob('./modules/**/*.ts', { eager: true }) | ||||||
| const routeModuleList: AppRouteModule[] = [] | const routeModuleList: AppRouteModule[] = [] | ||||||
| 
 | 
 | ||||||
| // 加入到路由集合中
 | // 加入到路由集合中
 | ||||||
|  | @ -32,12 +32,36 @@ export const RootRoute: AppRouteRecordRaw = { | ||||||
| export const LoginRoute: AppRouteRecordRaw = { | export const LoginRoute: AppRouteRecordRaw = { | ||||||
|   path: '/login', |   path: '/login', | ||||||
|   name: 'Login', |   name: 'Login', | ||||||
|   component: () => import('@/views/sys/login/Login.vue'), |   component: () => import('@/views/base/login/Login.vue'), | ||||||
|   meta: { |   meta: { | ||||||
|     title: t('routes.basic.login') |     title: t('routes.basic.login') | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | export const ProfileRoute: AppRouteRecordRaw = { | ||||||
|  |   path: '/profile', | ||||||
|  |   component: LAYOUT, | ||||||
|  |   name: 'Profile', | ||||||
|  |   meta: { | ||||||
|  |     title: t('routes.basic.profile'), | ||||||
|  |     hidden: true | ||||||
|  |   }, | ||||||
|  |   children: [ | ||||||
|  |     { | ||||||
|  |       path: 'index', | ||||||
|  |       component: () => import('@/views/base/profile/index.vue'), | ||||||
|  |       name: 'UserProfile', | ||||||
|  |       meta: { | ||||||
|  |         canTo: true, | ||||||
|  |         hidden: true, | ||||||
|  |         noTagsView: false, | ||||||
|  |         icon: 'ep:user', | ||||||
|  |         title: t('routes.basic.profile') | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   ] | ||||||
|  | } | ||||||
|  | 
 | ||||||
| // Basic routing without permission
 | // Basic routing without permission
 | ||||||
| // 未经许可的基本路由
 | // 未经许可的基本路由
 | ||||||
| export const basicRoutes = [LoginRoute, RootRoute, ...mainOutRoutes, REDIRECT_ROUTE, PAGE_NOT_FOUND_ROUTE] | export const basicRoutes = [LoginRoute, RootRoute, ProfileRoute, REDIRECT_ROUTE, PAGE_NOT_FOUND_ROUTE] | ||||||
|  |  | ||||||
|  | @ -1,22 +0,0 @@ | ||||||
| /** |  | ||||||
| The routing of this file will not show the layout. |  | ||||||
| It is an independent new page. |  | ||||||
| the contents of the file still need to log in to access |  | ||||||
|  */ |  | ||||||
| import type { AppRouteModule } from '@/router/types' |  | ||||||
| 
 |  | ||||||
| // test
 |  | ||||||
| // http:ip:port/main-out
 |  | ||||||
| export const mainOutRoutes: AppRouteModule[] = [ |  | ||||||
|   { |  | ||||||
|     path: '/main-out', |  | ||||||
|     name: 'MainOut', |  | ||||||
|     component: () => import('@/views/demo/main-out/index.vue'), |  | ||||||
|     meta: { |  | ||||||
|       title: 'MainOut', |  | ||||||
|       ignoreAuth: true |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| ] |  | ||||||
| 
 |  | ||||||
| export const mainOutRouteNames = mainOutRoutes.map((item) => item.name) |  | ||||||
|  | @ -18,7 +18,7 @@ const about: AppRouteModule = { | ||||||
|     { |     { | ||||||
|       path: 'index', |       path: 'index', | ||||||
|       name: 'AboutPage', |       name: 'AboutPage', | ||||||
|       component: () => import('@/views/sys/about/index.vue'), |       component: () => import('@/views/base/about/index.vue'), | ||||||
|       meta: { |       meta: { | ||||||
|         title: t('routes.dashboard.about'), |         title: t('routes.dashboard.about'), | ||||||
|         icon: 'simple-icons:about-dot-me', |         icon: 'simple-icons:about-dot-me', | ||||||
|  |  | ||||||
Some files were not shown because too many files have changed in this diff Show More
		Loading…
	
		Reference in New Issue
	
	 xingyuv
						xingyuv