26
README.md
@ -208,14 +208,10 @@ ps:核心功能已经实现,正在对接微信小程序中...
|
|||||||
## 🐨 技术栈
|
## 🐨 技术栈
|
||||||
|
|
||||||
| 项目 | 说明 |
|
| 项目 | 说明 |
|
||||||
|-------------------------|--------------------|
|
|--------------------------------------------------------------------------|--------------------|
|
||||||
| `yudao-dependencies` | Maven 依赖版本管理 |
|
| `yudao-dependencies` | Maven 依赖版本管理 |
|
||||||
| `yudao-framework` | Java 框架拓展 |
|
| `yudao-framework` | Java 框架拓展 |
|
||||||
| `yudao-server` | 管理后台 + 用户 APP 的服务端 |
|
| `yudao-server` | 管理后台 + 用户 APP 的服务端 |
|
||||||
| `yudao-ui-admin` | 管理后台的 Vue2 前端项目 |
|
|
||||||
| `yudao-ui-admin-vue3` | 管理后台的 Vue3 前端项目 |
|
|
||||||
| `yudao-ui-admin-uniapp` | 管理后台的 uni-app 多端项目 |
|
|
||||||
| `yudao-ui-app` | 用户 APP 的 UI 界面 |
|
|
||||||
| `yudao-module-system` | 系统功能的 Module 模块 |
|
| `yudao-module-system` | 系统功能的 Module 模块 |
|
||||||
| `yudao-module-member` | 会员中心的 Module 模块 |
|
| `yudao-module-member` | 会员中心的 Module 模块 |
|
||||||
| `yudao-module-infra` | 基础设施的 Module 模块 |
|
| `yudao-module-infra` | 基础设施的 Module 模块 |
|
||||||
@ -225,6 +221,14 @@ ps:核心功能已经实现,正在对接微信小程序中...
|
|||||||
| `yudao-module-mp` | 微信公众号的 Module 模块 |
|
| `yudao-module-mp` | 微信公众号的 Module 模块 |
|
||||||
| `yudao-module-report` | 大屏报表 Module 模块 |
|
| `yudao-module-report` | 大屏报表 Module 模块 |
|
||||||
|
|
||||||
|
> 前端项目的地址:
|
||||||
|
>
|
||||||
|
> * [`yudao-ui-admin-vue3`](https://gitee.com/yudaocode/yudao-ui-admin-vue3):基于 Vue3 + element-plus 实现的管理后台
|
||||||
|
> * `yudao-ui-admin`:基于 Vue2 + element-ui 实现的管理后台
|
||||||
|
> * [`yudao-ui-go-view`](https://gitee.com/yudaocode/yudao-ui-go-view):基于 Vue3 + naive-ui 实现的大屏报表
|
||||||
|
> * `yudao-ui-admin-uniapp`:基于 uni-app + uni-ui 实现的管理后台的小程序
|
||||||
|
> * `yudao-ui-app`:基于 uni-app + uview 实现的用户 App
|
||||||
|
|
||||||
### 后端
|
### 后端
|
||||||
|
|
||||||
| 框架 | 说明 | 版本 | 学习指南 |
|
| 框架 | 说明 | 版本 | 学习指南 |
|
||||||
@ -258,18 +262,6 @@ ps:核心功能已经实现,正在对接微信小程序中...
|
|||||||
| [Vue](https://cn.vuejs.org/index.html) | JavaScript 框架 | 2.7.14 |
|
| [Vue](https://cn.vuejs.org/index.html) | JavaScript 框架 | 2.7.14 |
|
||||||
| [Vue Element Admin](https://panjiachen.github.io/vue-element-admin-site/zh/) | 后台前端解决方案 | - |
|
| [Vue Element Admin](https://panjiachen.github.io/vue-element-admin-site/zh/) | 后台前端解决方案 | - |
|
||||||
|
|
||||||
### [管理后台 Vue3 前端](./yudao-ui-admin-vue3)
|
|
||||||
|
|
||||||
| 框架 | 说明 | 版本 |
|
|
||||||
|----------------------------------------------------------------------|:------------:|:------:|
|
|
||||||
| [Vue](https://staging-cn.vuejs.org/) | Vue 框架 | 3.2.47 |
|
|
||||||
| [Vite](https://cn.vitejs.dev//) | 开发与构建工具 | 4.1.1 |
|
|
||||||
| [Element Plus](https://element-plus.org/zh-CN/) | Element Plus | 2.2.29 |
|
|
||||||
| [TypeScript](https://www.typescriptlang.org/docs/) | TypeScript | 4.9.5 |
|
|
||||||
| [pinia](https://pinia.vuejs.org/) | vuex5 | 2.0.30 |
|
|
||||||
| [vue-i18n](https://kazupon.github.io/vue-i18n/zh/introduction.html/) | 国际化 | 9.2.2 |
|
|
||||||
| [vxe-table](https://vxetable.cn/) | vue最强表单 | 4.3.9 |
|
|
||||||
|
|
||||||
### [管理后台 uni-app 跨端](./yudao-ui-admin-uniapp)
|
### [管理后台 uni-app 跨端](./yudao-ui-admin-uniapp)
|
||||||
|
|
||||||
| 框架 | 说明 | 版本 |
|
| 框架 | 说明 | 版本 |
|
||||||
|
@ -1,12 +0,0 @@
|
|||||||
root = true
|
|
||||||
[*.{js,ts,vue}]
|
|
||||||
charset = utf-8 # 设置文件字符集为 utf-8
|
|
||||||
end_of_line = lf # 控制换行类型(lf | cr | crlf)
|
|
||||||
insert_final_newline = true # 始终在文件末尾插入一个新行
|
|
||||||
indent_style = space # 缩进风格(tab | space)
|
|
||||||
indent_size = 2 # 缩进大小
|
|
||||||
max_line_length = 100 # 最大行长度
|
|
||||||
|
|
||||||
[*.md] # 仅 md 文件适用以下规则
|
|
||||||
max_line_length = off # 关闭最大行长度限制
|
|
||||||
trim_trailing_whitespace = false # 关闭末尾空格修剪
|
|
@ -1,15 +0,0 @@
|
|||||||
# 标题
|
|
||||||
VITE_APP_TITLE=芋道管理系统
|
|
||||||
|
|
||||||
# 项目本地运行端口号
|
|
||||||
VITE_PORT=80
|
|
||||||
|
|
||||||
# open 运行 npm run dev 时自动打开浏览器
|
|
||||||
VITE_OPEN=true
|
|
||||||
|
|
||||||
# 租户开关
|
|
||||||
VITE_APP_TENANT_ENABLE=true
|
|
||||||
|
|
||||||
# 验证码的开关
|
|
||||||
VITE_APP_CAPTCHA_ENABLE=true
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
|||||||
# 本地开发环境
|
|
||||||
NODE_ENV=development
|
|
||||||
|
|
||||||
VITE_DEV=true
|
|
||||||
|
|
||||||
# 请求路径
|
|
||||||
VITE_BASE_URL='http://localhost:48080'
|
|
||||||
|
|
||||||
# 上传路径
|
|
||||||
VITE_UPLOAD_URL='http://localhost:48080/admin-api/infra/file/upload'
|
|
||||||
|
|
||||||
# 接口前缀
|
|
||||||
VITE_API_BASEPATH=/dev-api
|
|
||||||
|
|
||||||
# 接口地址
|
|
||||||
VITE_API_URL=/admin-api
|
|
||||||
|
|
||||||
# 打包路径
|
|
||||||
VITE_BASE_PATH=/
|
|
@ -1,31 +0,0 @@
|
|||||||
# 开发环境
|
|
||||||
NODE_ENV=production
|
|
||||||
|
|
||||||
VITE_DEV=false
|
|
||||||
|
|
||||||
# 请求路径
|
|
||||||
VITE_BASE_URL='http://localhost:48080'
|
|
||||||
|
|
||||||
# 上传路径
|
|
||||||
VITE_UPLOAD_URL='http://localhost:48080/admin-api/infra/file/upload'
|
|
||||||
|
|
||||||
# 接口前缀
|
|
||||||
VITE_API_BASEPATH=/dev-api
|
|
||||||
|
|
||||||
# 接口地址
|
|
||||||
VITE_API_URL=/admin-api
|
|
||||||
|
|
||||||
# 打包路径
|
|
||||||
VITE_BASE_PATH=/dist-dev/
|
|
||||||
|
|
||||||
# 是否删除debugger
|
|
||||||
VITE_DROP_DEBUGGER=false
|
|
||||||
|
|
||||||
# 是否删除console.log
|
|
||||||
VITE_DROP_CONSOLE=false
|
|
||||||
|
|
||||||
# 是否sourcemap
|
|
||||||
VITE_SOURCEMAP=true
|
|
||||||
|
|
||||||
# 输出路径
|
|
||||||
VITE_OUT_DIR=dist-dev
|
|
@ -1,31 +0,0 @@
|
|||||||
# 生产环境
|
|
||||||
NODE_ENV=production
|
|
||||||
|
|
||||||
VITE_DEV=false
|
|
||||||
|
|
||||||
# 请求路径
|
|
||||||
VITE_BASE_URL='http://localhost:48080'
|
|
||||||
|
|
||||||
# 上传路径
|
|
||||||
VITE_UPLOAD_URL='http://localhost:48080/admin-api/infra/file/upload'
|
|
||||||
|
|
||||||
# 接口前缀
|
|
||||||
VITE_API_BASEPATH=
|
|
||||||
|
|
||||||
# 接口地址
|
|
||||||
VITE_API_URL=/admin-api
|
|
||||||
|
|
||||||
# 是否删除debugger
|
|
||||||
VITE_DROP_DEBUGGER=true
|
|
||||||
|
|
||||||
# 是否删除console.log
|
|
||||||
VITE_DROP_CONSOLE=true
|
|
||||||
|
|
||||||
# 是否sourcemap
|
|
||||||
VITE_SOURCEMAP=false
|
|
||||||
|
|
||||||
# 打包路径
|
|
||||||
VITE_BASE_PATH=/
|
|
||||||
|
|
||||||
# 输出路径
|
|
||||||
VITE_OUT_DIR=dist-pro
|
|
@ -1,31 +0,0 @@
|
|||||||
# 测试环境
|
|
||||||
NODE_ENV=production
|
|
||||||
|
|
||||||
VITE_DEV=false
|
|
||||||
|
|
||||||
# 请求路径
|
|
||||||
VITE_BASE_URL='http://localhost:48080'
|
|
||||||
|
|
||||||
# 上传路径
|
|
||||||
VITE_UPLOAD_URL='http://localhost:48080/admin-api/infra/file/upload'
|
|
||||||
|
|
||||||
# 接口前缀
|
|
||||||
VITE_API_BASEPATH=
|
|
||||||
|
|
||||||
# 接口地址
|
|
||||||
VITE_API_URL=/admin-api
|
|
||||||
|
|
||||||
# 是否删除debugger
|
|
||||||
VITE_DROP_DEBUGGER=false
|
|
||||||
|
|
||||||
# 是否删除console.log
|
|
||||||
VITE_DROP_CONSOLE=false
|
|
||||||
|
|
||||||
# 是否sourcemap
|
|
||||||
VITE_SOURCEMAP=true
|
|
||||||
|
|
||||||
# 打包路径
|
|
||||||
VITE_BASE_PATH=/dist-test/
|
|
||||||
|
|
||||||
# 输出路径
|
|
||||||
VITE_OUT_DIR=dist-test
|
|
@ -1,8 +0,0 @@
|
|||||||
/build/
|
|
||||||
/config/
|
|
||||||
/dist/
|
|
||||||
/*.js
|
|
||||||
/test/unit/coverage/
|
|
||||||
/node_modules/*
|
|
||||||
/dist*
|
|
||||||
/src/main.ts
|
|
@ -1,259 +0,0 @@
|
|||||||
{
|
|
||||||
"globals": {
|
|
||||||
"EffectScope": true,
|
|
||||||
"ElMessage": true,
|
|
||||||
"ElMessageBox": true,
|
|
||||||
"ElTag": true,
|
|
||||||
"asyncComputed": true,
|
|
||||||
"autoResetRef": true,
|
|
||||||
"computed": true,
|
|
||||||
"computedAsync": true,
|
|
||||||
"computedEager": true,
|
|
||||||
"computedInject": true,
|
|
||||||
"computedWithControl": true,
|
|
||||||
"controlledComputed": true,
|
|
||||||
"controlledRef": true,
|
|
||||||
"createApp": true,
|
|
||||||
"createEventHook": true,
|
|
||||||
"createGlobalState": true,
|
|
||||||
"createInjectionState": true,
|
|
||||||
"createReactiveFn": true,
|
|
||||||
"createSharedComposable": true,
|
|
||||||
"createUnrefFn": true,
|
|
||||||
"customRef": true,
|
|
||||||
"debouncedRef": true,
|
|
||||||
"debouncedWatch": true,
|
|
||||||
"defineAsyncComponent": true,
|
|
||||||
"defineComponent": true,
|
|
||||||
"eagerComputed": true,
|
|
||||||
"effectScope": true,
|
|
||||||
"extendRef": true,
|
|
||||||
"getCurrentInstance": true,
|
|
||||||
"getCurrentScope": true,
|
|
||||||
"h": true,
|
|
||||||
"ignorableWatch": true,
|
|
||||||
"inject": true,
|
|
||||||
"isDefined": true,
|
|
||||||
"isProxy": true,
|
|
||||||
"isReactive": true,
|
|
||||||
"isReadonly": true,
|
|
||||||
"isRef": true,
|
|
||||||
"makeDestructurable": true,
|
|
||||||
"markRaw": true,
|
|
||||||
"nextTick": true,
|
|
||||||
"onActivated": true,
|
|
||||||
"onBeforeMount": true,
|
|
||||||
"onBeforeUnmount": true,
|
|
||||||
"onBeforeUpdate": true,
|
|
||||||
"onClickOutside": true,
|
|
||||||
"onDeactivated": true,
|
|
||||||
"onErrorCaptured": true,
|
|
||||||
"onKeyStroke": true,
|
|
||||||
"onLongPress": true,
|
|
||||||
"onMounted": true,
|
|
||||||
"onRenderTracked": true,
|
|
||||||
"onRenderTriggered": true,
|
|
||||||
"onScopeDispose": true,
|
|
||||||
"onServerPrefetch": true,
|
|
||||||
"onStartTyping": true,
|
|
||||||
"onUnmounted": true,
|
|
||||||
"onUpdated": true,
|
|
||||||
"pausableWatch": true,
|
|
||||||
"provide": true,
|
|
||||||
"reactify": true,
|
|
||||||
"reactifyObject": true,
|
|
||||||
"reactive": true,
|
|
||||||
"reactiveComputed": true,
|
|
||||||
"reactiveOmit": true,
|
|
||||||
"reactivePick": true,
|
|
||||||
"readonly": true,
|
|
||||||
"ref": true,
|
|
||||||
"refAutoReset": true,
|
|
||||||
"refDebounced": true,
|
|
||||||
"refDefault": true,
|
|
||||||
"refThrottled": true,
|
|
||||||
"refWithControl": true,
|
|
||||||
"resolveComponent": true,
|
|
||||||
"resolveRef": true,
|
|
||||||
"resolveUnref": true,
|
|
||||||
"shallowReactive": true,
|
|
||||||
"shallowReadonly": true,
|
|
||||||
"shallowRef": true,
|
|
||||||
"syncRef": true,
|
|
||||||
"syncRefs": true,
|
|
||||||
"templateRef": true,
|
|
||||||
"throttledRef": true,
|
|
||||||
"throttledWatch": true,
|
|
||||||
"toRaw": true,
|
|
||||||
"toReactive": true,
|
|
||||||
"toRef": true,
|
|
||||||
"toRefs": true,
|
|
||||||
"triggerRef": true,
|
|
||||||
"tryOnBeforeMount": true,
|
|
||||||
"tryOnBeforeUnmount": true,
|
|
||||||
"tryOnMounted": true,
|
|
||||||
"tryOnScopeDispose": true,
|
|
||||||
"tryOnUnmounted": true,
|
|
||||||
"unref": true,
|
|
||||||
"unrefElement": true,
|
|
||||||
"until": true,
|
|
||||||
"useActiveElement": true,
|
|
||||||
"useArrayEvery": true,
|
|
||||||
"useArrayFilter": true,
|
|
||||||
"useArrayFind": true,
|
|
||||||
"useArrayFindIndex": true,
|
|
||||||
"useArrayJoin": true,
|
|
||||||
"useArrayMap": true,
|
|
||||||
"useArrayReduce": true,
|
|
||||||
"useArraySome": true,
|
|
||||||
"useAsyncQueue": true,
|
|
||||||
"useAsyncState": true,
|
|
||||||
"useAttrs": true,
|
|
||||||
"useBase64": true,
|
|
||||||
"useBattery": true,
|
|
||||||
"useBluetooth": true,
|
|
||||||
"useBreakpoints": true,
|
|
||||||
"useBroadcastChannel": true,
|
|
||||||
"useBrowserLocation": true,
|
|
||||||
"useCached": true,
|
|
||||||
"useClipboard": true,
|
|
||||||
"useColorMode": true,
|
|
||||||
"useConfirmDialog": true,
|
|
||||||
"useCounter": true,
|
|
||||||
"useCssModule": true,
|
|
||||||
"useCssVar": true,
|
|
||||||
"useCssVars": true,
|
|
||||||
"useCurrentElement": true,
|
|
||||||
"useCycleList": true,
|
|
||||||
"useDark": true,
|
|
||||||
"useDateFormat": true,
|
|
||||||
"useDebounce": true,
|
|
||||||
"useDebounceFn": true,
|
|
||||||
"useDebouncedRefHistory": true,
|
|
||||||
"useDeviceMotion": true,
|
|
||||||
"useDeviceOrientation": true,
|
|
||||||
"useDevicePixelRatio": true,
|
|
||||||
"useDevicesList": true,
|
|
||||||
"useDisplayMedia": true,
|
|
||||||
"useDocumentVisibility": true,
|
|
||||||
"useDraggable": true,
|
|
||||||
"useDropZone": true,
|
|
||||||
"useElementBounding": true,
|
|
||||||
"useElementByPoint": true,
|
|
||||||
"useElementHover": true,
|
|
||||||
"useElementSize": true,
|
|
||||||
"useElementVisibility": true,
|
|
||||||
"useEventBus": true,
|
|
||||||
"useEventListener": true,
|
|
||||||
"useEventSource": true,
|
|
||||||
"useEyeDropper": true,
|
|
||||||
"useFavicon": true,
|
|
||||||
"useFetch": true,
|
|
||||||
"useFileDialog": true,
|
|
||||||
"useFileSystemAccess": true,
|
|
||||||
"useFocus": true,
|
|
||||||
"useFocusWithin": true,
|
|
||||||
"useFps": true,
|
|
||||||
"useFullscreen": true,
|
|
||||||
"useGamepad": true,
|
|
||||||
"useGeolocation": true,
|
|
||||||
"useIdle": true,
|
|
||||||
"useImage": true,
|
|
||||||
"useInfiniteScroll": true,
|
|
||||||
"useIntersectionObserver": true,
|
|
||||||
"useInterval": true,
|
|
||||||
"useIntervalFn": true,
|
|
||||||
"useKeyModifier": true,
|
|
||||||
"useLastChanged": true,
|
|
||||||
"useLocalStorage": true,
|
|
||||||
"useMagicKeys": true,
|
|
||||||
"useManualRefHistory": true,
|
|
||||||
"useMediaControls": true,
|
|
||||||
"useMediaQuery": true,
|
|
||||||
"useMemoize": true,
|
|
||||||
"useMemory": true,
|
|
||||||
"useMounted": true,
|
|
||||||
"useMouse": true,
|
|
||||||
"useMouseInElement": true,
|
|
||||||
"useMousePressed": true,
|
|
||||||
"useMutationObserver": true,
|
|
||||||
"useNavigatorLanguage": true,
|
|
||||||
"useNetwork": true,
|
|
||||||
"useNow": true,
|
|
||||||
"useObjectUrl": true,
|
|
||||||
"useOffsetPagination": true,
|
|
||||||
"useOnline": true,
|
|
||||||
"usePageLeave": true,
|
|
||||||
"useParallax": true,
|
|
||||||
"usePermission": true,
|
|
||||||
"usePointer": true,
|
|
||||||
"usePointerSwipe": true,
|
|
||||||
"usePreferredColorScheme": true,
|
|
||||||
"usePreferredDark": true,
|
|
||||||
"usePreferredLanguages": true,
|
|
||||||
"useRafFn": true,
|
|
||||||
"useRefHistory": true,
|
|
||||||
"useResizeObserver": true,
|
|
||||||
"useRoute": true,
|
|
||||||
"useRouter": true,
|
|
||||||
"useScreenOrientation": true,
|
|
||||||
"useScreenSafeArea": true,
|
|
||||||
"useScriptTag": true,
|
|
||||||
"useScroll": true,
|
|
||||||
"useScrollLock": true,
|
|
||||||
"useSessionStorage": true,
|
|
||||||
"useShare": true,
|
|
||||||
"useSlots": true,
|
|
||||||
"useSpeechRecognition": true,
|
|
||||||
"useSpeechSynthesis": true,
|
|
||||||
"useStepper": true,
|
|
||||||
"useStorage": true,
|
|
||||||
"useStorageAsync": true,
|
|
||||||
"useStyleTag": true,
|
|
||||||
"useSupported": true,
|
|
||||||
"useSwipe": true,
|
|
||||||
"useTemplateRefsList": true,
|
|
||||||
"useTextDirection": true,
|
|
||||||
"useTextSelection": true,
|
|
||||||
"useTextareaAutosize": true,
|
|
||||||
"useThrottle": true,
|
|
||||||
"useThrottleFn": true,
|
|
||||||
"useThrottledRefHistory": true,
|
|
||||||
"useTimeAgo": true,
|
|
||||||
"useTimeout": true,
|
|
||||||
"useTimeoutFn": true,
|
|
||||||
"useTimeoutPoll": true,
|
|
||||||
"useTimestamp": true,
|
|
||||||
"useTitle": true,
|
|
||||||
"useToggle": true,
|
|
||||||
"useTransition": true,
|
|
||||||
"useUrlSearchParams": true,
|
|
||||||
"useUserMedia": true,
|
|
||||||
"useVModel": true,
|
|
||||||
"useVModels": true,
|
|
||||||
"useVibrate": true,
|
|
||||||
"useVirtualList": true,
|
|
||||||
"useWakeLock": true,
|
|
||||||
"useWebNotification": true,
|
|
||||||
"useWebSocket": true,
|
|
||||||
"useWebWorker": true,
|
|
||||||
"useWebWorkerFn": true,
|
|
||||||
"useWindowFocus": true,
|
|
||||||
"useWindowScroll": true,
|
|
||||||
"useWindowSize": true,
|
|
||||||
"watch": true,
|
|
||||||
"watchArray": true,
|
|
||||||
"watchAtMost": true,
|
|
||||||
"watchDebounced": true,
|
|
||||||
"watchEffect": true,
|
|
||||||
"watchIgnorable": true,
|
|
||||||
"watchOnce": true,
|
|
||||||
"watchPausable": true,
|
|
||||||
"watchPostEffect": true,
|
|
||||||
"watchSyncEffect": true,
|
|
||||||
"watchThrottled": true,
|
|
||||||
"watchTriggerable": true,
|
|
||||||
"watchWithFilter": true,
|
|
||||||
"whenever": true
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,69 +0,0 @@
|
|||||||
// @ts-check
|
|
||||||
const { defineConfig } = require('eslint-define-config')
|
|
||||||
module.exports = defineConfig({
|
|
||||||
root: true,
|
|
||||||
env: {
|
|
||||||
browser: true,
|
|
||||||
node: true,
|
|
||||||
es6: true
|
|
||||||
},
|
|
||||||
parser: 'vue-eslint-parser',
|
|
||||||
parserOptions: {
|
|
||||||
parser: '@typescript-eslint/parser',
|
|
||||||
ecmaVersion: 2020,
|
|
||||||
sourceType: 'module',
|
|
||||||
jsxPragma: 'React',
|
|
||||||
ecmaFeatures: {
|
|
||||||
jsx: true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
extends: [
|
|
||||||
'plugin:vue/vue3-recommended',
|
|
||||||
'plugin:@typescript-eslint/recommended',
|
|
||||||
'prettier',
|
|
||||||
'plugin:prettier/recommended',
|
|
||||||
'./.eslintrc-auto-import.json'
|
|
||||||
],
|
|
||||||
rules: {
|
|
||||||
'vue/script-setup-uses-vars': 'error',
|
|
||||||
'vue/no-reserved-component-names': 'off',
|
|
||||||
'@typescript-eslint/ban-ts-ignore': 'off',
|
|
||||||
'@typescript-eslint/explicit-function-return-type': 'off',
|
|
||||||
'@typescript-eslint/no-explicit-any': 'off',
|
|
||||||
'@typescript-eslint/no-var-requires': 'off',
|
|
||||||
'@typescript-eslint/no-empty-function': 'off',
|
|
||||||
'vue/custom-event-name-casing': 'off',
|
|
||||||
'no-use-before-define': 'off',
|
|
||||||
'@typescript-eslint/no-use-before-define': 'off',
|
|
||||||
'@typescript-eslint/ban-ts-comment': 'off',
|
|
||||||
'@typescript-eslint/ban-types': 'off',
|
|
||||||
'@typescript-eslint/no-non-null-assertion': 'off',
|
|
||||||
'@typescript-eslint/explicit-module-boundary-types': 'off',
|
|
||||||
'@typescript-eslint/no-unused-vars': 'error',
|
|
||||||
'no-unused-vars': 'error',
|
|
||||||
'space-before-function-paren': 'off',
|
|
||||||
|
|
||||||
'vue/attributes-order': 'off',
|
|
||||||
'vue/one-component-per-file': 'off',
|
|
||||||
'vue/html-closing-bracket-newline': 'off',
|
|
||||||
'vue/max-attributes-per-line': 'off',
|
|
||||||
'vue/multiline-html-element-content-newline': 'off',
|
|
||||||
'vue/singleline-html-element-content-newline': 'off',
|
|
||||||
'vue/attribute-hyphenation': 'off',
|
|
||||||
'vue/require-default-prop': 'off',
|
|
||||||
'vue/require-explicit-emits': 'off',
|
|
||||||
'vue/html-self-closing': [
|
|
||||||
'error',
|
|
||||||
{
|
|
||||||
html: {
|
|
||||||
void: 'always',
|
|
||||||
normal: 'never',
|
|
||||||
component: 'always'
|
|
||||||
},
|
|
||||||
svg: 'always',
|
|
||||||
math: 'always'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
'vue/multi-word-component-names': 'off'
|
|
||||||
}
|
|
||||||
})
|
|
8
yudao-ui-admin-vue3/.gitignore
vendored
@ -1,8 +0,0 @@
|
|||||||
node_modules
|
|
||||||
.DS_Store
|
|
||||||
dist
|
|
||||||
dist-ssr
|
|
||||||
*.local
|
|
||||||
/dist*
|
|
||||||
*-lock.*
|
|
||||||
pnpm-debug
|
|
@ -1,9 +0,0 @@
|
|||||||
/node_modules/**
|
|
||||||
/dist/
|
|
||||||
/dist*
|
|
||||||
/public/*
|
|
||||||
/docs/*
|
|
||||||
/vite.config.ts
|
|
||||||
/src/types/env.d.ts
|
|
||||||
/docs/**/*
|
|
||||||
CHANGELOG
|
|
@ -1,6 +0,0 @@
|
|||||||
/dist/*
|
|
||||||
/public/*
|
|
||||||
public/*
|
|
||||||
/dist*
|
|
||||||
/src/types/env.d.ts
|
|
||||||
/docs/**/*
|
|
15
yudao-ui-admin-vue3/.vscode/extensions.json
vendored
@ -1,15 +0,0 @@
|
|||||||
{
|
|
||||||
"recommendations": [
|
|
||||||
"voorjaar.windicss-intellisense",
|
|
||||||
"vscode-icons-team.vscode-icons",
|
|
||||||
"davidanson.vscode-markdownlint",
|
|
||||||
"stylelint.vscode-stylelint",
|
|
||||||
"dbaeumer.vscode-eslint",
|
|
||||||
"esbenp.prettier-vscode",
|
|
||||||
"vue.volar",
|
|
||||||
"lokalise.i18n-ally",
|
|
||||||
"mikestead.dotenv",
|
|
||||||
"eamodio.gitlens",
|
|
||||||
"antfu.iconify"
|
|
||||||
]
|
|
||||||
}
|
|
44
yudao-ui-admin-vue3/.vscode/settings.json
vendored
@ -1,44 +0,0 @@
|
|||||||
{
|
|
||||||
"typescript.tsdk": "node_modules/typescript/lib",
|
|
||||||
"prettier.enable": true,
|
|
||||||
"editor.formatOnType": true,
|
|
||||||
"editor.formatOnSave": true,
|
|
||||||
"editor.formatOnPaste": true,
|
|
||||||
"editor.codeActionsOnSave": {
|
|
||||||
"source.fixAll.eslint": true
|
|
||||||
},
|
|
||||||
"[vue]": {
|
|
||||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
|
||||||
},
|
|
||||||
"[javascript]": {
|
|
||||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
|
||||||
},
|
|
||||||
"[typescript]": {
|
|
||||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
|
||||||
},
|
|
||||||
"[json]": {
|
|
||||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
|
||||||
},
|
|
||||||
"[jsonc]": {
|
|
||||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
|
||||||
},
|
|
||||||
"[html]": {
|
|
||||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
|
||||||
},
|
|
||||||
"[css]": {
|
|
||||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
|
||||||
},
|
|
||||||
"[scss]": {
|
|
||||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
|
||||||
},
|
|
||||||
"i18n-ally.localesPaths": ["src/locales"],
|
|
||||||
"i18n-ally.keystyle": "nested",
|
|
||||||
"i18n-ally.sortKeys": true,
|
|
||||||
"i18n-ally.namespace": true,
|
|
||||||
"i18n-ally.enabledParsers": ["ts"],
|
|
||||||
"i18n-ally.sourceLanguage": "en",
|
|
||||||
"i18n-ally.displayLanguage": "zh-CN",
|
|
||||||
"i18n-ally.enabledFrameworks": ["vue", "react"],
|
|
||||||
"god.tsconfig": "./tsconfig.json",
|
|
||||||
"vue-i18n.i18nPaths": "src/locales"
|
|
||||||
}
|
|
@ -1,21 +0,0 @@
|
|||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2021-present Archer
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
@ -1,124 +0,0 @@
|
|||||||
# 🌈 yudao-ui-admin-vue3 #
|
|
||||||
|
|
||||||
<p style="text-align: center">
|
|
||||||
<img src="https://img.shields.io/badge/-Vue3.2-34495e?logo=vue.j" alt="vue" />
|
|
||||||
<img src="https://img.shields.io/badge/-Vite4-646cff?logo=vite&logoColor=white" alt="vite" />
|
|
||||||
<img src="https://img.shields.io/badge/-TypeScript4.9-blue?logo=typescript&logoColor=white" alt="typescript" />
|
|
||||||
<img src="https://img.shields.io/badge/-Pinia2-yellow?logo=picpay&logoColor=white" alt="Pinia2" />
|
|
||||||
<img src="https://img.shields.io/badge/-ESLint-4b32c3?logo=eslint&logoColor=white" alt="eslint" />
|
|
||||||
<img src="https://img.shields.io/badge/-pnpm7-F69220?logo=pnpm&logoColor=white" alt="pnpm" />
|
|
||||||
<img src="https://img.shields.io/badge/-Prettier-ef9421?logo=Prettier&logoColor=white" alt="Prettier">
|
|
||||||
<img src="https://img.shields.io/badge/-Sass-1D365D?logo=Sass&logoColor=white" alt="Sass">
|
|
||||||
<img src="https://img.shields.io/badge/-Wind%20CSS-06B6D4?logo=Tailwind%20CSS&logoColor=white" alt="WindCSS">
|
|
||||||
</p>
|
|
||||||
|
|
||||||
## 介绍
|
|
||||||
|
|
||||||
- 基于 vue3.2+ ,TypeScript ,Element Plus 2.2.0+ ,Vite4 ,Pinia ,Vxe-table , Windicss 等开发的后台管理系统
|
|
||||||
|
|
||||||
## 注意事项
|
|
||||||
|
|
||||||
- 项目路径请不要使用中文命名!!!会造成解析乱码!!!请使用全英文路径!!!
|
|
||||||
- node >=16 ,pnpm >=7.1
|
|
||||||
- 开发建议使用 [谷歌浏览器-开发者版](https://www.google.cn/intl/zh-CN/chrome/dev/) 不支持 IE\QQ 等浏览器
|
|
||||||
|
|
||||||
### 点击查看[使用说明](./use.md)
|
|
||||||
|
|
||||||
### 前端依赖
|
|
||||||
|
|
||||||
| 框架 | 说明 | 版本 |
|
|
||||||
| --- | --- |--------|
|
|
||||||
| [Vue](https://staging-cn.vuejs.org/) | vue 框架 | 3.2.47 |
|
|
||||||
| [Vite](https://cn.vitejs.dev//) | 开发与构建工具 | 4.1.1 |
|
|
||||||
| [Element Plus](https://element-plus.org/zh-CN/) | Element Plus | 2.2.29 |
|
|
||||||
| [TypeScript](https://www.typescriptlang.org/docs/) | JavaScript 的超集 | 4.9.5 |
|
|
||||||
| [pinia](https://pinia.vuejs.org/) | Vue 存储库 替代 vuex5 | 2.0.30 |
|
|
||||||
| [vueuse](https://vueuse.org/) | 常用工具集 | 9.12.0 |
|
|
||||||
| [vxe-table](https://vxetable.cn/) | vue 最强表单 | 4.3.9 |
|
|
||||||
| [vue-i18n](https://kazupon.github.io/vue-i18n/zh/introduction.html/) | 国际化 | 9.2.2 |
|
|
||||||
| [vue-router](https://router.vuejs.org/) | vue 路由 | 4.1.6 |
|
|
||||||
| [windicss](https://cn.windicss.org/) | 下一代工具优先的 CSS 框架 | 3.5.6 |
|
|
||||||
| [iconify](https://icon-sets.iconify.design/) | 在线图标库 | 3.0.1 |
|
|
||||||
| [wangeditor](https://www.wangeditor.com/) | 富文本编辑器 | 5.1.23 |
|
|
||||||
|
|
||||||
### 推荐 VScode 开发,插件如下
|
|
||||||
|
|
||||||
- WindiCSS IntelliSense WindiCSS --- 自动完成、语法突出显示、代码折叠和构建等高级功能
|
|
||||||
- TypeScript Vue Plugin (Volar) --- 用于 TypeScript 的 Vue 插件
|
|
||||||
- Vue Language Features (Volar) --- Vue3.0 语法支持
|
|
||||||
- Iconify IntelliSense --- Iconify 预览和搜索
|
|
||||||
- i18n Ally --- 国际化智能提示
|
|
||||||
- Stylelint --- css 格式化
|
|
||||||
- DotENV --- .env 文件高亮
|
|
||||||
- Prettier --- 代码格式化
|
|
||||||
- ESLint --- 脚本代码检查
|
|
||||||
|
|
||||||
### 安装 pnpm 并启动项目
|
|
||||||
|
|
||||||
- 查看当前 npm 源
|
|
||||||
|
|
||||||
```bash
|
|
||||||
npm config ls
|
|
||||||
```
|
|
||||||
|
|
||||||
- 如果执行上面命令您并未看到 registry = "https://registry.npmjs.org/",说明使用的非npm官方源,请执行下面命令
|
|
||||||
|
|
||||||
```bash
|
|
||||||
npm config set registry https://registry.npmjs.org
|
|
||||||
```
|
|
||||||
|
|
||||||
- 如果您还没安装 pnpm,请执行下面命令
|
|
||||||
|
|
||||||
```bash
|
|
||||||
npm install -g pnpm
|
|
||||||
```
|
|
||||||
|
|
||||||
- mac 用户遇到安装报错请在命令前加上 sudo
|
|
||||||
|
|
||||||
- 安装依赖
|
|
||||||
|
|
||||||
```bash
|
|
||||||
pnpm install
|
|
||||||
```
|
|
||||||
|
|
||||||
- 运行项目
|
|
||||||
|
|
||||||
```bash
|
|
||||||
pnpm dev
|
|
||||||
```
|
|
||||||
|
|
||||||
- 打包
|
|
||||||
|
|
||||||
```bash
|
|
||||||
pnpm run build:pro
|
|
||||||
```
|
|
||||||
|
|
||||||
- 安装一个包
|
|
||||||
|
|
||||||
```bash
|
|
||||||
pnpm add 包名
|
|
||||||
```
|
|
||||||
|
|
||||||
- 卸载一个包
|
|
||||||
|
|
||||||
```bash
|
|
||||||
pnpm remove 包名
|
|
||||||
```
|
|
||||||
|
|
||||||
- 设置镜像源
|
|
||||||
|
|
||||||
```bash
|
|
||||||
pnpm config set registry https://registry.npm.taobao.org/
|
|
||||||
```
|
|
||||||
|
|
||||||
- 其他命令请看 package.json scripts
|
|
||||||
|
|
||||||
## 浏览器支持
|
|
||||||
|
|
||||||
本地开发推荐使用 `Chrome 80+` 浏览器
|
|
||||||
|
|
||||||
支持现代浏览器, 不支持 IE ,QQ 等
|
|
||||||
|
|
||||||
| [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/archive/internet-explorer_9-11/internet-explorer_9-11_48x48.png" alt=" Edge" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>IE | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png" alt=" Edge" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Edge | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png" alt="Firefox" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Firefox | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png" alt="Chrome" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Chrome | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png" alt="Safari" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Safari |
|
|
||||||
| :-: | :-: | :-: | :-: | :-: |
|
|
||||||
| not support | last 2 versions | last 2 versions | last 2 versions | last 2 versions |
|
|
@ -1,98 +0,0 @@
|
|||||||
import { resolve } from 'path'
|
|
||||||
import Vue from '@vitejs/plugin-vue'
|
|
||||||
import VueJsx from '@vitejs/plugin-vue-jsx'
|
|
||||||
import WindiCSS from 'vite-plugin-windicss'
|
|
||||||
import progress from 'vite-plugin-progress'
|
|
||||||
import EslintPlugin from 'vite-plugin-eslint'
|
|
||||||
import PurgeIcons from 'vite-plugin-purge-icons'
|
|
||||||
import { ViteEjsPlugin } from 'vite-plugin-ejs'
|
|
||||||
import ElementPlus from 'unplugin-element-plus/vite'
|
|
||||||
import AutoImport from 'unplugin-auto-import/vite'
|
|
||||||
import Components from 'unplugin-vue-components/vite'
|
|
||||||
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
|
|
||||||
import viteCompression from 'vite-plugin-compression'
|
|
||||||
import vueSetupExtend from 'vite-plugin-vue-setup-extend'
|
|
||||||
import VueI18nPlugin from '@intlify/unplugin-vue-i18n/vite'
|
|
||||||
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'
|
|
||||||
export function createVitePlugins(VITE_APP_TITLE: string) {
|
|
||||||
const root = process.cwd()
|
|
||||||
// 路径查找
|
|
||||||
function pathResolve(dir: string) {
|
|
||||||
return resolve(root, '.', dir)
|
|
||||||
}
|
|
||||||
return [
|
|
||||||
Vue(),
|
|
||||||
VueJsx(),
|
|
||||||
WindiCSS(),
|
|
||||||
progress(),
|
|
||||||
PurgeIcons(),
|
|
||||||
vueSetupExtend(),
|
|
||||||
ElementPlus(),
|
|
||||||
AutoImport({
|
|
||||||
include: [
|
|
||||||
/\.[tj]sx?$/, // .ts, .tsx, .js, .jsx
|
|
||||||
/\.vue$/,
|
|
||||||
/\.vue\?vue/, // .vue
|
|
||||||
/\.md$/ // .md
|
|
||||||
],
|
|
||||||
imports: [
|
|
||||||
'vue',
|
|
||||||
'vue-router',
|
|
||||||
{
|
|
||||||
'@/hooks/web/useI18n': ['useI18n'],
|
|
||||||
'@/hooks/web/useXTable': ['useXTable'],
|
|
||||||
'@/hooks/web/useMessage': ['useMessage'],
|
|
||||||
'@/hooks/web/useVxeCrudSchemas': ['useVxeCrudSchemas'],
|
|
||||||
'@/utils/formRules': ['required'],
|
|
||||||
'@/utils/dict': ['DICT_TYPE']
|
|
||||||
}
|
|
||||||
],
|
|
||||||
dts: 'src/types/auto-imports.d.ts',
|
|
||||||
resolvers: [ElementPlusResolver()],
|
|
||||||
eslintrc: {
|
|
||||||
enabled: false, // Default `false`
|
|
||||||
filepath: './.eslintrc-auto-import.json', // Default `./.eslintrc-auto-import.json`
|
|
||||||
globalsPropValue: true // Default `true`, (true | false | 'readonly' | 'readable' | 'writable' | 'writeable')
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
Components({
|
|
||||||
// 要搜索组件的目录的相对路径
|
|
||||||
dirs: ['src/components'],
|
|
||||||
// 组件的有效文件扩展名
|
|
||||||
extensions: ['vue', 'md'],
|
|
||||||
// 搜索子目录
|
|
||||||
deep: true,
|
|
||||||
include: [/\.vue$/, /\.vue\?vue/],
|
|
||||||
// 生成自定义 `auto-components.d.ts` 全局声明
|
|
||||||
dts: 'src/types/auto-components.d.ts',
|
|
||||||
// 自定义组件的解析器
|
|
||||||
resolvers: [ElementPlusResolver()],
|
|
||||||
exclude: [/[\\/]node_modules[\\/]/]
|
|
||||||
}),
|
|
||||||
EslintPlugin({
|
|
||||||
cache: false,
|
|
||||||
include: ['src/**/*.vue', 'src/**/*.ts', 'src/**/*.tsx'] // 检查的文件
|
|
||||||
}),
|
|
||||||
VueI18nPlugin({
|
|
||||||
runtimeOnly: true,
|
|
||||||
compositionOnly: true,
|
|
||||||
include: [resolve(__dirname, 'src/locales/**')]
|
|
||||||
}),
|
|
||||||
createSvgIconsPlugin({
|
|
||||||
iconDirs: [pathResolve('src/assets/svgs')],
|
|
||||||
symbolId: 'icon-[dir]-[name]',
|
|
||||||
svgoOptions: true
|
|
||||||
}),
|
|
||||||
viteCompression({
|
|
||||||
verbose: true, // 是否在控制台输出压缩结果
|
|
||||||
disable: false, // 是否禁用
|
|
||||||
threshold: 10240, // 体积大于 threshold 才会被压缩,单位 b
|
|
||||||
algorithm: 'gzip', // 压缩算法,可选 [ 'gzip' , 'brotliCompress' ,'deflate' , 'deflateRaw']
|
|
||||||
ext: '.gz', // 生成的压缩包后缀
|
|
||||||
deleteOriginFile: false //压缩后是否删除源文件
|
|
||||||
}),
|
|
||||||
ViteEjsPlugin({
|
|
||||||
title: VITE_APP_TITLE
|
|
||||||
})
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,68 +0,0 @@
|
|||||||
const include = [
|
|
||||||
'qs',
|
|
||||||
'url',
|
|
||||||
'vue',
|
|
||||||
'sass',
|
|
||||||
'mitt',
|
|
||||||
'axios',
|
|
||||||
'pinia',
|
|
||||||
'dayjs',
|
|
||||||
'qrcode',
|
|
||||||
'windicss',
|
|
||||||
'vue-router',
|
|
||||||
'vue-types',
|
|
||||||
'vue-i18n',
|
|
||||||
'xe-utils',
|
|
||||||
'crypto-js',
|
|
||||||
'cropperjs',
|
|
||||||
'lodash-es',
|
|
||||||
'vxe-table',
|
|
||||||
'nprogress',
|
|
||||||
'animate.css',
|
|
||||||
'vxe-table/es/style',
|
|
||||||
'web-storage-cache',
|
|
||||||
'@iconify/iconify',
|
|
||||||
'@vueuse/core',
|
|
||||||
'@zxcvbn-ts/core',
|
|
||||||
'echarts/core',
|
|
||||||
'echarts/charts',
|
|
||||||
'echarts/components',
|
|
||||||
'echarts/renderers',
|
|
||||||
'echarts-wordcloud',
|
|
||||||
'@wangeditor/editor',
|
|
||||||
'@wangeditor/editor-for-vue',
|
|
||||||
'element-plus',
|
|
||||||
'element-plus/es',
|
|
||||||
'element-plus/es/locale/lang/zh-cn',
|
|
||||||
'element-plus/es/locale/lang/en',
|
|
||||||
'element-plus/es/components/form/style/index',
|
|
||||||
'element-plus/es/components/radio-group/style/index',
|
|
||||||
'element-plus/es/components/radio/style/index',
|
|
||||||
'element-plus/es/components/checkbox/style/index',
|
|
||||||
'element-plus/es/components/checkbox-group/style/index',
|
|
||||||
'element-plus/es/components/switch/style/index',
|
|
||||||
'element-plus/es/components/time-picker/style/index',
|
|
||||||
'element-plus/es/components/date-picker/style/index',
|
|
||||||
'element-plus/es/components/col/style/index',
|
|
||||||
'element-plus/es/components/form-item/style/index',
|
|
||||||
'element-plus/es/components/alert/style/index',
|
|
||||||
'element-plus/es/components/breadcrumb/style/index',
|
|
||||||
'element-plus/es/components/select/style/index',
|
|
||||||
'element-plus/es/components/input/style/index',
|
|
||||||
'element-plus/es/components/breadcrumb-item/style/index',
|
|
||||||
'element-plus/es/components/tag/style/index',
|
|
||||||
'element-plus/es/components/pagination/style/index',
|
|
||||||
'element-plus/es/components/table/style/index',
|
|
||||||
'element-plus/es/components/table-column/style/index',
|
|
||||||
'element-plus/es/components/card/style/index',
|
|
||||||
'element-plus/es/components/row/style/index',
|
|
||||||
'element-plus/es/components/button/style/index',
|
|
||||||
'element-plus/es/components/menu/style/index',
|
|
||||||
'element-plus/es/components/sub-menu/style/index',
|
|
||||||
'element-plus/es/components/menu-item/style/index',
|
|
||||||
'element-plus/es/components/option/style/index'
|
|
||||||
]
|
|
||||||
|
|
||||||
const exclude = ['@iconify/json']
|
|
||||||
|
|
||||||
export { include, exclude }
|
|
@ -1,151 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8" />
|
|
||||||
<link rel="icon" href="/favicon.ico" />
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
||||||
<meta
|
|
||||||
name="keywords"
|
|
||||||
content="芋道管理系统 基于 vue3 + CompositionAPI + typescript + vite3 + element plus 的后台开源免费管理系统!"
|
|
||||||
/>
|
|
||||||
<meta
|
|
||||||
name="description"
|
|
||||||
content="芋道管理系统 基于 vue3 + CompositionAPI + typescript + vite3 + element plus 的后台开源免费管理系统!"
|
|
||||||
/>
|
|
||||||
<title><%= title %></title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="app">
|
|
||||||
<style>
|
|
||||||
.app-loading {
|
|
||||||
display: flex;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
flex-direction: column;
|
|
||||||
background: #f0f2f5;
|
|
||||||
}
|
|
||||||
|
|
||||||
.app-loading .app-loading-wrap {
|
|
||||||
position: absolute;
|
|
||||||
top: 50%;
|
|
||||||
left: 50%;
|
|
||||||
display: flex;
|
|
||||||
-webkit-transform: translate3d(-50%, -50%, 0);
|
|
||||||
transform: translate3d(-50%, -50%, 0);
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
flex-direction: column;
|
|
||||||
}
|
|
||||||
|
|
||||||
.app-loading .app-loading-title {
|
|
||||||
margin-bottom: 30px;
|
|
||||||
font-size: 20px;
|
|
||||||
font-weight: bold;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.app-loading .app-loading-logo {
|
|
||||||
width: 100px;
|
|
||||||
margin: 0 auto 15px auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.app-loading .app-loading-item {
|
|
||||||
position: relative;
|
|
||||||
display: inline-block;
|
|
||||||
width: 60px;
|
|
||||||
height: 60px;
|
|
||||||
vertical-align: middle;
|
|
||||||
border-radius: 50%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.app-loading .app-loading-outter {
|
|
||||||
position: absolute;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
border: 4px solid #2d8cf0;
|
|
||||||
border-bottom: 0;
|
|
||||||
border-left-color: transparent;
|
|
||||||
border-radius: 50%;
|
|
||||||
animation: loader-outter 1s cubic-bezier(0.42, 0.61, 0.58, 0.41) infinite;
|
|
||||||
}
|
|
||||||
|
|
||||||
.app-loading .app-loading-inner {
|
|
||||||
position: absolute;
|
|
||||||
top: calc(50% - 20px);
|
|
||||||
left: calc(50% - 20px);
|
|
||||||
width: 40px;
|
|
||||||
height: 40px;
|
|
||||||
border: 4px solid #87bdff;
|
|
||||||
border-right: 0;
|
|
||||||
border-top-color: transparent;
|
|
||||||
border-radius: 50%;
|
|
||||||
animation: loader-inner 1s cubic-bezier(0.42, 0.61, 0.58, 0.41) infinite;
|
|
||||||
}
|
|
||||||
|
|
||||||
@-webkit-keyframes loader-outter {
|
|
||||||
0% {
|
|
||||||
-webkit-transform: rotate(0deg);
|
|
||||||
transform: rotate(0deg);
|
|
||||||
}
|
|
||||||
|
|
||||||
100% {
|
|
||||||
-webkit-transform: rotate(360deg);
|
|
||||||
transform: rotate(360deg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes loader-outter {
|
|
||||||
0% {
|
|
||||||
-webkit-transform: rotate(0deg);
|
|
||||||
transform: rotate(0deg);
|
|
||||||
}
|
|
||||||
|
|
||||||
100% {
|
|
||||||
-webkit-transform: rotate(360deg);
|
|
||||||
transform: rotate(360deg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@-webkit-keyframes loader-inner {
|
|
||||||
0% {
|
|
||||||
-webkit-transform: rotate(0deg);
|
|
||||||
transform: rotate(0deg);
|
|
||||||
}
|
|
||||||
|
|
||||||
100% {
|
|
||||||
-webkit-transform: rotate(-360deg);
|
|
||||||
transform: rotate(-360deg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes loader-inner {
|
|
||||||
0% {
|
|
||||||
-webkit-transform: rotate(0deg);
|
|
||||||
transform: rotate(0deg);
|
|
||||||
}
|
|
||||||
|
|
||||||
100% {
|
|
||||||
-webkit-transform: rotate(-360deg);
|
|
||||||
transform: rotate(-360deg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
<div class="app-loading">
|
|
||||||
<div class="app-loading-wrap">
|
|
||||||
<div class="app-loading-title">
|
|
||||||
<img src="/logo.gif" class="app-loading-logo" alt="Logo" />
|
|
||||||
<div class="app-loading-title"><%= title %></div>
|
|
||||||
</div>
|
|
||||||
<div class="app-loading-item">
|
|
||||||
<div class="app-loading-outter"></div>
|
|
||||||
<div class="app-loading-inner"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script type="module" src="/src/main.ts"></script>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,137 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "yudao-ui-admin-vue3",
|
|
||||||
"version": "1.7.0-snapshot.1922",
|
|
||||||
"description": "基于vue3、vite4、element-plus、typesScript",
|
|
||||||
"author": "xingyu",
|
|
||||||
"private": false,
|
|
||||||
"scripts": {
|
|
||||||
"i": "pnpm install",
|
|
||||||
"dev": "vite --mode base",
|
|
||||||
"ts:check": "vue-tsc --noEmit",
|
|
||||||
"build:pro": "vite build --mode pro",
|
|
||||||
"build:dev": "vite build --mode dev",
|
|
||||||
"build:test": "npm run ts:check && vite build --mode test",
|
|
||||||
"serve:pro": "vite preview --mode pro",
|
|
||||||
"serve:dev": "vite preview --mode dev",
|
|
||||||
"serve:test": "vite preview --mode test",
|
|
||||||
"npm:check": "npx npm-check-updates",
|
|
||||||
"clean": "npx rimraf node_modules",
|
|
||||||
"clean:cache": "npx rimraf node_modules/.cache",
|
|
||||||
"lint:eslint": "eslint --fix --ext .js,.ts,.vue ./src",
|
|
||||||
"lint:format": "prettier --write --loglevel warn \"src/**/*.{js,ts,json,tsx,css,less,scss,vue,html,md}\"",
|
|
||||||
"lint:style": "stylelint --fix \"**/*.{vue,less,postcss,css,scss}\" --cache --cache-location node_modules/.cache/stylelint/",
|
|
||||||
"lint:lint-staged": "lint-staged -c ",
|
|
||||||
"lint:pretty": "pretty-quick --staged"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"@form-create/designer": "^3.1.0",
|
|
||||||
"@form-create/element-ui": "^3.1.17",
|
|
||||||
"@iconify/iconify": "^3.1.0",
|
|
||||||
"@vueuse/core": "^9.12.0",
|
|
||||||
"@wangeditor/editor": "^5.1.23",
|
|
||||||
"@wangeditor/editor-for-vue": "^5.1.10",
|
|
||||||
"@zxcvbn-ts/core": "^2.2.1",
|
|
||||||
"animate.css": "^4.1.1",
|
|
||||||
"axios": "^1.3.2",
|
|
||||||
"bpmn-js-token-simulation": "^0.10.0",
|
|
||||||
"camunda-bpmn-moddle": "^7.0.1",
|
|
||||||
"cropperjs": "^1.5.13",
|
|
||||||
"crypto-js": "^4.1.1",
|
|
||||||
"dayjs": "^1.11.7",
|
|
||||||
"diagram-js": "^11.6.0",
|
|
||||||
"echarts": "^5.4.1",
|
|
||||||
"echarts-wordcloud": "^2.1.0",
|
|
||||||
"element-plus": "2.2.29",
|
|
||||||
"fast-xml-parser": "^4.0.13",
|
|
||||||
"highlight.js": "^11.7.0",
|
|
||||||
"intro.js": "^6.0.0",
|
|
||||||
"jsencrypt": "^3.3.1",
|
|
||||||
"lodash-es": "^4.17.21",
|
|
||||||
"min-dash": "^4.0.0",
|
|
||||||
"mitt": "^3.0.0",
|
|
||||||
"nprogress": "^0.2.0",
|
|
||||||
"pinia": "^2.0.30",
|
|
||||||
"qrcode": "^1.5.1",
|
|
||||||
"qs": "^6.11.0",
|
|
||||||
"steady-xml": "^0.1.0",
|
|
||||||
"url": "^0.11.0",
|
|
||||||
"vue": "3.2.47",
|
|
||||||
"vue-i18n": "9.2.2",
|
|
||||||
"vue-router": "^4.1.6",
|
|
||||||
"vue-types": "^5.0.2",
|
|
||||||
"vuedraggable": "^4.1.0",
|
|
||||||
"vxe-table": "^4.3.9",
|
|
||||||
"web-storage-cache": "^1.1.1",
|
|
||||||
"xe-utils": "^3.5.7",
|
|
||||||
"xml-js": "^1.6.11"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
|
||||||
"@commitlint/cli": "^17.4.2",
|
|
||||||
"@commitlint/config-conventional": "^17.4.2",
|
|
||||||
"@iconify/json": "^2.2.19",
|
|
||||||
"@intlify/unplugin-vue-i18n": "^0.8.2",
|
|
||||||
"@purge-icons/generated": "^0.9.0",
|
|
||||||
"@types/intro.js": "^5.1.0",
|
|
||||||
"@types/lodash-es": "^4.17.6",
|
|
||||||
"@types/node": "^18.13.0",
|
|
||||||
"@types/nprogress": "^0.2.0",
|
|
||||||
"@types/qrcode": "^1.5.0",
|
|
||||||
"@types/qs": "^6.9.7",
|
|
||||||
"@typescript-eslint/eslint-plugin": "^5.51.0",
|
|
||||||
"@typescript-eslint/parser": "^5.51.0",
|
|
||||||
"@vitejs/plugin-legacy": "^4.0.1",
|
|
||||||
"@vitejs/plugin-vue": "^4.0.0",
|
|
||||||
"@vitejs/plugin-vue-jsx": "^3.0.0",
|
|
||||||
"autoprefixer": "^10.4.13",
|
|
||||||
"bpmn-js": "^8.9.0",
|
|
||||||
"bpmn-js-properties-panel": "^0.46.0",
|
|
||||||
"consola": "^2.15.3",
|
|
||||||
"eslint": "^8.33.0",
|
|
||||||
"eslint-config-prettier": "^8.6.0",
|
|
||||||
"eslint-define-config": "^1.15.0",
|
|
||||||
"eslint-plugin-prettier": "^4.2.1",
|
|
||||||
"eslint-plugin-vue": "^9.9.0",
|
|
||||||
"lint-staged": "^13.1.1",
|
|
||||||
"postcss": "^8.4.21",
|
|
||||||
"postcss-html": "^1.5.0",
|
|
||||||
"postcss-scss": "^4.0.6",
|
|
||||||
"prettier": "^2.8.4",
|
|
||||||
"rimraf": "^4.1.2",
|
|
||||||
"rollup": "^3.14.0",
|
|
||||||
"sass": "^1.58.0",
|
|
||||||
"stylelint": "^14.16.1",
|
|
||||||
"stylelint-config-html": "^1.1.0",
|
|
||||||
"stylelint-config-prettier": "^9.0.4",
|
|
||||||
"stylelint-config-recommended": "^9.0.0",
|
|
||||||
"stylelint-config-standard": "^29.0.0",
|
|
||||||
"stylelint-order": "^6.0.1",
|
|
||||||
"terser": "^5.16.3",
|
|
||||||
"typescript": "4.9.5",
|
|
||||||
"unplugin-auto-import": "^0.14.2",
|
|
||||||
"unplugin-element-plus": "^0.6.0",
|
|
||||||
"unplugin-vue-components": "^0.23.0",
|
|
||||||
"vite": "4.1.1",
|
|
||||||
"vite-plugin-compression": "^0.5.1",
|
|
||||||
"vite-plugin-ejs": "^1.6.4",
|
|
||||||
"vite-plugin-eslint": "^1.8.1",
|
|
||||||
"vite-plugin-progress": "^0.0.6",
|
|
||||||
"vite-plugin-purge-icons": "^0.9.2",
|
|
||||||
"vite-plugin-svg-icons": "^2.0.1",
|
|
||||||
"vite-plugin-vue-setup-extend": "^0.4.0",
|
|
||||||
"vite-plugin-windicss": "^1.8.10",
|
|
||||||
"vue-tsc": "^1.0.24",
|
|
||||||
"windicss": "^3.5.6"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=16.0.0"
|
|
||||||
},
|
|
||||||
"license": "MIT",
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "git+https://gitee.com/zhijiantianya/ruoyi-vue-pro"
|
|
||||||
},
|
|
||||||
"bugs": {
|
|
||||||
"url": "https://gitee.com/zhijiantianya/ruoyi-vue-pro/issues"
|
|
||||||
},
|
|
||||||
"homepage": "https://gitee.com/zhijiantianya/ruoyi-vue-pro"
|
|
||||||
}
|
|
@ -1,5 +0,0 @@
|
|||||||
module.exports = {
|
|
||||||
plugins: {
|
|
||||||
autoprefixer: {}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,22 +0,0 @@
|
|||||||
module.exports = {
|
|
||||||
printWidth: 100, // 每行代码长度(默认80)
|
|
||||||
tabWidth: 2, // 每个tab相当于多少个空格(默认2)ab进行缩进(默认false)
|
|
||||||
useTabs: false, // 是否使用tab
|
|
||||||
semi: false, // 声明结尾使用分号(默认true)
|
|
||||||
vueIndentScriptAndStyle: false,
|
|
||||||
singleQuote: true, // 使用单引号(默认false)
|
|
||||||
quoteProps: 'as-needed',
|
|
||||||
bracketSpacing: true, // 对象字面量的大括号间使用空格(默认true)
|
|
||||||
trailingComma: 'none', // 多行使用拖尾逗号(默认none)
|
|
||||||
jsxSingleQuote: false,
|
|
||||||
// 箭头函数参数括号 默认avoid 可选 avoid| always
|
|
||||||
// avoid 能省略括号的时候就省略 例如x => x
|
|
||||||
// always 总是有括号
|
|
||||||
arrowParens: 'always',
|
|
||||||
insertPragma: false,
|
|
||||||
requirePragma: false,
|
|
||||||
proseWrap: 'never',
|
|
||||||
htmlWhitespaceSensitivity: 'strict',
|
|
||||||
endOfLine: 'auto',
|
|
||||||
rangeStart: 0
|
|
||||||
}
|
|
Before Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 6.2 KiB |
@ -1,49 +0,0 @@
|
|||||||
<script setup lang="ts">
|
|
||||||
import { isDark } from '@/utils/is'
|
|
||||||
import { useAppStore } from '@/store/modules/app'
|
|
||||||
import { useDesign } from '@/hooks/web/useDesign'
|
|
||||||
import { CACHE_KEY, useCache } from '@/hooks/web/useCache'
|
|
||||||
|
|
||||||
const { getPrefixCls } = useDesign()
|
|
||||||
const prefixCls = getPrefixCls('app')
|
|
||||||
const appStore = useAppStore()
|
|
||||||
const currentSize = computed(() => appStore.getCurrentSize)
|
|
||||||
const greyMode = computed(() => appStore.getGreyMode)
|
|
||||||
const { wsCache } = useCache()
|
|
||||||
|
|
||||||
// 根据浏览器当前主题设置系统主题色
|
|
||||||
const setDefaultTheme = () => {
|
|
||||||
let isDarkTheme = wsCache.get(CACHE_KEY.IS_DARK)
|
|
||||||
if (isDarkTheme === null) {
|
|
||||||
isDarkTheme = isDark()
|
|
||||||
}
|
|
||||||
appStore.setIsDark(isDarkTheme)
|
|
||||||
}
|
|
||||||
setDefaultTheme()
|
|
||||||
</script>
|
|
||||||
<template>
|
|
||||||
<ConfigGlobal :size="currentSize">
|
|
||||||
<RouterView :class="greyMode ? `${prefixCls}-grey-mode` : ''" />
|
|
||||||
</ConfigGlobal>
|
|
||||||
</template>
|
|
||||||
<style lang="scss">
|
|
||||||
$prefix-cls: #{$namespace}-app;
|
|
||||||
.size {
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
html,
|
|
||||||
body {
|
|
||||||
padding: 0 !important;
|
|
||||||
margin: 0;
|
|
||||||
overflow: hidden;
|
|
||||||
@extend .size;
|
|
||||||
|
|
||||||
#app {
|
|
||||||
@extend .size;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.#{$prefix-cls}-grey-mode {
|
|
||||||
filter: grayscale(100%);
|
|
||||||
}
|
|
||||||
</style>
|
|
@ -1,8 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export const getActivityList = async (params) => {
|
|
||||||
return await request.get({
|
|
||||||
url: '/bpm/activity/list',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
}
|
|
@ -1,21 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export const getProcessDefinitionBpmnXMLApi = async (id: number) => {
|
|
||||||
return await request.get({
|
|
||||||
url: '/bpm/process-definition/get-bpmn-xml?id=' + id
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
export const getProcessDefinitionPageApi = async (params) => {
|
|
||||||
return await request.get({
|
|
||||||
url: '/bpm/process-definition/page',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
export const getProcessDefinitionListApi = async (params) => {
|
|
||||||
return await request.get({
|
|
||||||
url: '/bpm/process-definition/list',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
}
|
|
@ -1,56 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export type FormVO = {
|
|
||||||
id: number
|
|
||||||
name: string
|
|
||||||
conf: string
|
|
||||||
fields: string[]
|
|
||||||
status: number
|
|
||||||
remark: string
|
|
||||||
createTime: string
|
|
||||||
}
|
|
||||||
|
|
||||||
// 创建工作流的表单定义
|
|
||||||
export const createFormApi = async (data: FormVO) => {
|
|
||||||
return await request.post({
|
|
||||||
url: '/bpm/form/create',
|
|
||||||
data: data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 更新工作流的表单定义
|
|
||||||
export const updateFormApi = async (data: FormVO) => {
|
|
||||||
return await request.put({
|
|
||||||
url: '/bpm/form/update',
|
|
||||||
data: data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除工作流的表单定义
|
|
||||||
export const deleteFormApi = async (id: number) => {
|
|
||||||
return await request.delete({
|
|
||||||
url: '/bpm/form/delete?id=' + id
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得工作流的表单定义
|
|
||||||
export const getFormApi = async (id: number) => {
|
|
||||||
return await request.get({
|
|
||||||
url: '/bpm/form/get?id=' + id
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得工作流的表单定义分页
|
|
||||||
export const getFormPageApi = async (params) => {
|
|
||||||
return await request.get({
|
|
||||||
url: '/bpm/form/page',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得动态表单的精简列表
|
|
||||||
export const getSimpleFormsApi = async () => {
|
|
||||||
return await request.get({
|
|
||||||
url: '/bpm/form/list-all-simple'
|
|
||||||
})
|
|
||||||
}
|
|
@ -1,27 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export type LeaveVO = {
|
|
||||||
id: number
|
|
||||||
result: number
|
|
||||||
type: number
|
|
||||||
reason: string
|
|
||||||
processInstanceId: string
|
|
||||||
startTime: string
|
|
||||||
endTime: string
|
|
||||||
createTime: string
|
|
||||||
}
|
|
||||||
|
|
||||||
// 创建请假申请
|
|
||||||
export const createLeaveApi = async (data: LeaveVO) => {
|
|
||||||
return await request.post({ url: '/bpm/oa/leave/create', data: data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得请假申请
|
|
||||||
export const getLeaveApi = async (id: number) => {
|
|
||||||
return await request.get({ url: '/bpm/oa/leave/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得请假申请分页
|
|
||||||
export const getLeavePageApi = async (params) => {
|
|
||||||
return await request.get({ url: '/bpm/oa/leave/page', params })
|
|
||||||
}
|
|
@ -1,59 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
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
|
|
||||||
bpmnXml: string
|
|
||||||
}
|
|
||||||
|
|
||||||
export const getModelPageApi = async (params) => {
|
|
||||||
return await request.get({ url: '/bpm/model/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const getModelApi = async (id: number) => {
|
|
||||||
return await request.get({ url: '/bpm/model/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const updateModelApi = async (data: ModelVO) => {
|
|
||||||
return await request.put({ url: '/bpm/model/update', data: data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 任务状态修改
|
|
||||||
export const updateModelStateApi = async (id: number, state: number) => {
|
|
||||||
const data = {
|
|
||||||
id: id,
|
|
||||||
state: state
|
|
||||||
}
|
|
||||||
return await request.put({ url: '/bpm/model/update-state', data: data })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const createModelApi = async (data: ModelVO) => {
|
|
||||||
return await request.post({ url: '/bpm/model/create', data: data })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const deleteModelApi = async (id: number) => {
|
|
||||||
return await request.delete({ url: '/bpm/model/delete?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const deployModelApi = async (id: number) => {
|
|
||||||
return await request.post({ url: '/bpm/model/deploy?id=' + id })
|
|
||||||
}
|
|
@ -1,40 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
export const getMyProcessInstancePageApi = async (params) => {
|
|
||||||
return await request.get({ url: '/bpm/process-instance/my-page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const createProcessInstanceApi = async (data) => {
|
|
||||||
return await request.post({ url: '/bpm/process-instance/create', data: data })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const cancelProcessInstanceApi = async (id: number, reason: string) => {
|
|
||||||
const data = {
|
|
||||||
id: id,
|
|
||||||
reason: reason
|
|
||||||
}
|
|
||||||
return await request.delete({ url: '/bpm/process-instance/cancel', data: data })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const getProcessInstanceApi = async (id: number) => {
|
|
||||||
return await request.get({ url: '/bpm/process-instance/get?id=' + id })
|
|
||||||
}
|
|
@ -1,34 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export const getTodoTaskPage = async (params) => {
|
|
||||||
return await request.get({ url: '/bpm/task/todo-page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const getDoneTaskPage = async (params) => {
|
|
||||||
return await request.get({ url: '/bpm/task/done-page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const completeTask = async (data) => {
|
|
||||||
return await request.put({ url: '/bpm/task/complete', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const approveTask = async (data) => {
|
|
||||||
return await request.put({ url: '/bpm/task/approve', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const rejectTask = async (data) => {
|
|
||||||
return await request.put({ url: '/bpm/task/reject', data })
|
|
||||||
}
|
|
||||||
export const backTask = async (data) => {
|
|
||||||
return await request.put({ url: '/bpm/task/back', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const updateTaskAssignee = async (data) => {
|
|
||||||
return await request.put({ url: '/bpm/task/update-assignee', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const getTaskListByProcessInstanceId = async (processInstanceId) => {
|
|
||||||
return await request.get({
|
|
||||||
url: '/bpm/task/list-by-process-instance-id?processInstanceId=' + processInstanceId
|
|
||||||
})
|
|
||||||
}
|
|
@ -1,29 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export type TaskAssignVO = {
|
|
||||||
id: number
|
|
||||||
modelId: string
|
|
||||||
processDefinitionId: string
|
|
||||||
taskDefinitionKey: string
|
|
||||||
taskDefinitionName: string
|
|
||||||
options: string[]
|
|
||||||
type: number
|
|
||||||
}
|
|
||||||
|
|
||||||
export const getTaskAssignRuleList = async (params) => {
|
|
||||||
return await request.get({ url: '/bpm/task-assign-rule/list', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const createTaskAssignRule = async (data: TaskAssignVO) => {
|
|
||||||
return await request.post({
|
|
||||||
url: '/bpm/task-assign-rule/create',
|
|
||||||
data: data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
export const updateTaskAssignRule = async (data: TaskAssignVO) => {
|
|
||||||
return await request.put({
|
|
||||||
url: '/bpm/task-assign-rule/update',
|
|
||||||
data: data
|
|
||||||
})
|
|
||||||
}
|
|
@ -1,47 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export type UserGroupVO = {
|
|
||||||
id: number
|
|
||||||
name: string
|
|
||||||
description: string
|
|
||||||
memberUserIds: number[]
|
|
||||||
status: number
|
|
||||||
remark: string
|
|
||||||
createTime: string
|
|
||||||
}
|
|
||||||
|
|
||||||
// 创建用户组
|
|
||||||
export const createUserGroupApi = async (data: UserGroupVO) => {
|
|
||||||
return await request.post({
|
|
||||||
url: '/bpm/user-group/create',
|
|
||||||
data: data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 更新用户组
|
|
||||||
export const updateUserGroupApi = async (data: UserGroupVO) => {
|
|
||||||
return await request.put({
|
|
||||||
url: '/bpm/user-group/update',
|
|
||||||
data: data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除用户组
|
|
||||||
export const deleteUserGroupApi = async (id: number) => {
|
|
||||||
return await request.delete({ url: '/bpm/user-group/delete?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得用户组
|
|
||||||
export const getUserGroupApi = async (id: number) => {
|
|
||||||
return await request.get({ url: '/bpm/user-group/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得用户组分页
|
|
||||||
export const getUserGroupPageApi = async (params) => {
|
|
||||||
return await request.get({ url: '/bpm/user-group/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取用户组精简信息列表
|
|
||||||
export const listSimpleUserGroupsApi = async () => {
|
|
||||||
return await request.get({ url: '/bpm/user-group/list-all-simple' })
|
|
||||||
}
|
|
@ -1,50 +0,0 @@
|
|||||||
import request from '@/config/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 request.get({ url: '/infra/api-access-log/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 导出API 访问日志
|
|
||||||
export const exportApiAccessLogApi = (params: ApiAccessLogExportReqVO) => {
|
|
||||||
return request.download({ url: '/infra/api-access-log/export-excel', params })
|
|
||||||
}
|
|
@ -1,66 +0,0 @@
|
|||||||
import request from '@/config/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 request.get({ url: '/infra/api-error-log/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 更新 API 错误日志的处理状态
|
|
||||||
export const updateApiErrorLogPageApi = (id: number, processStatus: number) => {
|
|
||||||
return request.put({
|
|
||||||
url: '/infra/api-error-log/update-status?id=' + id + '&processStatus=' + processStatus
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 导出API 访问日志
|
|
||||||
export const exportApiErrorLogApi = (params: ApiErrorLogExportReqVO) => {
|
|
||||||
return request.download({
|
|
||||||
url: '/infra/api-error-log/export-excel',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
}
|
|
@ -1,57 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
import type { CodegenUpdateReqVO, CodegenCreateListReqVO } from './types'
|
|
||||||
|
|
||||||
// 查询列表代码生成表定义
|
|
||||||
export const getCodegenTablePageApi = (params) => {
|
|
||||||
return request.get({ url: '/infra/codegen/table/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询详情代码生成表定义
|
|
||||||
export const getCodegenTableApi = (id: number) => {
|
|
||||||
return request.get({ url: '/infra/codegen/detail?tableId=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增代码生成表定义
|
|
||||||
export const createCodegenTableApi = (data: CodegenCreateListReqVO) => {
|
|
||||||
return request.post({ url: '/infra/codegen/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改代码生成表定义
|
|
||||||
export const updateCodegenTableApi = (data: CodegenUpdateReqVO) => {
|
|
||||||
return request.put({ url: '/infra/codegen/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 基于数据库的表结构,同步数据库的表和字段定义
|
|
||||||
export const syncCodegenFromDBApi = (id: number) => {
|
|
||||||
return request.put({ url: '/infra/codegen/sync-from-db?tableId=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 基于 SQL 建表语句,同步数据库的表和字段定义
|
|
||||||
export const syncCodegenFromSQLApi = (id: number, sql: string) => {
|
|
||||||
return request.put({ url: '/infra/codegen/sync-from-sql?tableId=' + id + '&sql=' + sql })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 预览生成代码
|
|
||||||
export const previewCodegenApi = (id: number) => {
|
|
||||||
return request.get({ url: '/infra/codegen/preview?tableId=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 下载生成代码
|
|
||||||
export const downloadCodegenApi = (id: number) => {
|
|
||||||
return request.download({ url: '/infra/codegen/download?tableId=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得表定义
|
|
||||||
export const getSchemaTableListApi = (params) => {
|
|
||||||
return request.get({ url: '/infra/codegen/db/table/list', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 基于数据库的表结构,创建代码生成器的表定义
|
|
||||||
export const createCodegenListApi = (data) => {
|
|
||||||
return request.post({ url: '/infra/codegen/create-list', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除代码生成表定义
|
|
||||||
export const deleteCodegenTableApi = (id: number) => {
|
|
||||||
return request.delete({ url: '/infra/codegen/delete?tableId=' + id })
|
|
||||||
}
|
|
@ -1,61 +0,0 @@
|
|||||||
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[]
|
|
||||||
}
|
|
@ -1,62 +0,0 @@
|
|||||||
import request from '@/config/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 request.get({ url: '/infra/config/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询参数详情
|
|
||||||
export const getConfigApi = (id: number) => {
|
|
||||||
return request.get({ url: '/infra/config/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 根据参数键名查询参数值
|
|
||||||
export const getConfigKeyApi = (configKey: string) => {
|
|
||||||
return request.get({ url: '/infra/config/get-value-by-key?key=' + configKey })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增参数
|
|
||||||
export const createConfigApi = (data: ConfigVO) => {
|
|
||||||
return request.post({ url: '/infra/config/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改参数
|
|
||||||
export const updateConfigApi = (data: ConfigVO) => {
|
|
||||||
return request.put({ url: '/infra/config/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除参数
|
|
||||||
export const deleteConfigApi = (id: number) => {
|
|
||||||
return request.delete({ url: '/infra/config/delete?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 导出参数
|
|
||||||
export const exportConfigApi = (params: ConfigExportReqVO) => {
|
|
||||||
return request.download({ url: '/infra/config/export', params })
|
|
||||||
}
|
|
@ -1,35 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface DataSourceConfigVO {
|
|
||||||
id: number
|
|
||||||
name: string
|
|
||||||
url: string
|
|
||||||
username: string
|
|
||||||
password: string
|
|
||||||
createTime: Date
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询数据源配置列表
|
|
||||||
export const getDataSourceConfigListApi = () => {
|
|
||||||
return request.get({ url: '/infra/data-source-config/list' })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询数据源配置详情
|
|
||||||
export const getDataSourceConfigApi = (id: number) => {
|
|
||||||
return request.get({ url: '/infra/data-source-config/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增数据源配置
|
|
||||||
export const createDataSourceConfigApi = (data: DataSourceConfigVO) => {
|
|
||||||
return request.post({ url: '/infra/data-source-config/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改数据源配置
|
|
||||||
export const updateDataSourceConfigApi = (data: DataSourceConfigVO) => {
|
|
||||||
return request.put({ url: '/infra/data-source-config/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除数据源配置
|
|
||||||
export const deleteDataSourceConfigApi = (id: number) => {
|
|
||||||
return request.delete({ url: '/infra/data-source-config/delete?id=' + id })
|
|
||||||
}
|
|
@ -1,16 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
// 导出Html
|
|
||||||
export const exportHtmlApi = () => {
|
|
||||||
return request.download({ url: '/infra/db-doc/export-html' })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 导出Word
|
|
||||||
export const exportWordApi = () => {
|
|
||||||
return request.download({ url: '/infra/db-doc/export-word' })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 导出Markdown
|
|
||||||
export const exportMarkdownApi = () => {
|
|
||||||
return request.download({ url: '/infra/db-doc/export-markdown' })
|
|
||||||
}
|
|
@ -1,66 +0,0 @@
|
|||||||
import request from '@/config/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 request.get({ url: '/infra/file-config/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询文件配置详情
|
|
||||||
export const getFileConfigApi = (id: number) => {
|
|
||||||
return request.get({ url: '/infra/file-config/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 更新文件配置为主配置
|
|
||||||
export const updateFileConfigMasterApi = (id: number) => {
|
|
||||||
return request.put({ url: '/infra/file-config/update-master?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增文件配置
|
|
||||||
export const createFileConfigApi = (data: FileConfigVO) => {
|
|
||||||
return request.post({ url: '/infra/file-config/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改文件配置
|
|
||||||
export const updateFileConfigApi = (data: FileConfigVO) => {
|
|
||||||
return request.put({ url: '/infra/file-config/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除文件配置
|
|
||||||
export const deleteFileConfigApi = (id: number) => {
|
|
||||||
return request.delete({ url: '/infra/file-config/delete?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 测试文件配置
|
|
||||||
export const testFileConfigApi = (id: number) => {
|
|
||||||
return request.get({ url: '/infra/file-config/test?id=' + id })
|
|
||||||
}
|
|
@ -1,28 +0,0 @@
|
|||||||
import request from '@/config/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 request.get({ url: '/infra/file/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除文件
|
|
||||||
export const deleteFileApi = (id: number) => {
|
|
||||||
return request.delete({ url: '/infra/file/delete?id=' + id })
|
|
||||||
}
|
|
@ -1,75 +0,0 @@
|
|||||||
import request from '@/config/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 request.get({ url: '/infra/job/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 任务详情
|
|
||||||
export const getJobApi = (id: number) => {
|
|
||||||
return request.get({ url: '/infra/job/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增任务
|
|
||||||
export const createJobApi = (data: JobVO) => {
|
|
||||||
return request.post({ url: '/infra/job/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改定时任务调度
|
|
||||||
export const updateJobApi = (data: JobVO) => {
|
|
||||||
return request.put({ url: '/infra/job/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除定时任务调度
|
|
||||||
export const deleteJobApi = (id: number) => {
|
|
||||||
return request.delete({ url: '/infra/job/delete?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 导出定时任务调度
|
|
||||||
export const exportJobApi = (params: JobExportReqVO) => {
|
|
||||||
return request.download({ url: '/infra/job/export-excel', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 任务状态修改
|
|
||||||
export const updateJobStatusApi = (id: number, status: number) => {
|
|
||||||
const params = {
|
|
||||||
id,
|
|
||||||
status
|
|
||||||
}
|
|
||||||
return request.put({ url: '/infra/job/update-status', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 定时任务立即执行一次
|
|
||||||
export const runJobApi = (id: number) => {
|
|
||||||
return request.put({ url: '/infra/job/trigger?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得定时任务的下 n 次执行时间
|
|
||||||
export const getJobNextTimesApi = (id: number) => {
|
|
||||||
return request.get({ url: '/infra/job/get_next_times?id=' + id })
|
|
||||||
}
|
|
@ -1,49 +0,0 @@
|
|||||||
import request from '@/config/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 request.get({ url: '/infra/job-log/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 任务日志详情
|
|
||||||
export const getJobLogApi = (id: number) => {
|
|
||||||
return request.get({ url: '/infra/job-log/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 导出定时任务日志
|
|
||||||
export const exportJobLogApi = (params: JobLogExportReqVO) => {
|
|
||||||
return request.download({
|
|
||||||
url: '/infra/job-log/export-excel',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
}
|
|
@ -1,41 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取redis 监控信息
|
|
||||||
*/
|
|
||||||
export const getCacheApi = () => {
|
|
||||||
return request.get({ url: '/infra/redis/get-monitor-info' })
|
|
||||||
}
|
|
||||||
// 获取模块
|
|
||||||
export const getKeyDefineListApi = () => {
|
|
||||||
return request.get({ url: '/infra/redis/get-key-define-list' })
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* 获取redis key列表
|
|
||||||
*/
|
|
||||||
export const getKeyListApi = (keyTemplate: string) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/infra/redis/get-key-list',
|
|
||||||
params: {
|
|
||||||
keyTemplate
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
// 获取缓存内容
|
|
||||||
export const getKeyValueApi = (key: string) => {
|
|
||||||
return request.get({ url: '/infra/redis/get-key-value?key=' + key })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 根据键名删除缓存
|
|
||||||
export const deleteKeyApi = (key: string) => {
|
|
||||||
return request.delete({ url: '/infra/redis/delete-key?key=' + key })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const deleteKeysApi = (keyTemplate: string) => {
|
|
||||||
return request.delete({
|
|
||||||
url: '/infra/redis/delete-keys?',
|
|
||||||
params: {
|
|
||||||
keyTemplate
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
@ -1,185 +0,0 @@
|
|||||||
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
|
|
||||||
}
|
|
@ -1,73 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
import { getRefreshToken } from '@/utils/auth'
|
|
||||||
import type { UserLoginVO } from './types'
|
|
||||||
|
|
||||||
export interface CodeImgResult {
|
|
||||||
captchaOnOff: boolean
|
|
||||||
img: string
|
|
||||||
uuid: string
|
|
||||||
}
|
|
||||||
export interface SmsCodeVO {
|
|
||||||
mobile: string
|
|
||||||
scene: number
|
|
||||||
}
|
|
||||||
export interface SmsLoginVO {
|
|
||||||
mobile: string
|
|
||||||
code: string
|
|
||||||
}
|
|
||||||
|
|
||||||
// 登录
|
|
||||||
export const loginApi = (data: UserLoginVO) => {
|
|
||||||
return request.post({ url: '/system/auth/login', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 刷新访问令牌
|
|
||||||
export const refreshToken = () => {
|
|
||||||
return request.post({ url: '/system/auth/refresh-token?refreshToken=' + getRefreshToken() })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 使用租户名,获得租户编号
|
|
||||||
export const getTenantIdByNameApi = (name: string) => {
|
|
||||||
return request.get({ url: '/system/tenant/get-id-by-name?name=' + name })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 登出
|
|
||||||
export const loginOutApi = () => {
|
|
||||||
return request.post({ url: '/system/auth/logout' })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取用户权限信息
|
|
||||||
export const getInfoApi = () => {
|
|
||||||
return request.get({ url: '/system/auth/get-permission-info' })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 路由
|
|
||||||
export const getAsyncRoutesApi = () => {
|
|
||||||
return request.get({ url: '/system/auth/list-menus' })
|
|
||||||
}
|
|
||||||
|
|
||||||
//获取登录验证码
|
|
||||||
export const sendSmsCodeApi = (data: SmsCodeVO) => {
|
|
||||||
return request.post({ url: '/system/auth/send-sms-code', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 短信验证码登录
|
|
||||||
export const smsLoginApi = (data: SmsLoginVO) => {
|
|
||||||
return request.post({ url: '/system/auth/sms-login', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 社交授权的跳转
|
|
||||||
export const socialAuthRedirectApi = (type: number, redirectUri: string) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/system/auth/social-auth-redirect?type=' + type + '&redirectUri=' + redirectUri
|
|
||||||
})
|
|
||||||
}
|
|
||||||
// 获取验证图片 以及token
|
|
||||||
export const getCodeApi = (data) => {
|
|
||||||
return request.postOriginal({ url: 'system/captcha/get', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 滑动或者点选验证
|
|
||||||
export const reqCheckApi = (data) => {
|
|
||||||
return request.postOriginal({ url: 'system/captcha/check', data })
|
|
||||||
}
|
|
@ -1,42 +0,0 @@
|
|||||||
export type UserLoginVO = {
|
|
||||||
username: string
|
|
||||||
password: string
|
|
||||||
captchaVerification: string
|
|
||||||
}
|
|
||||||
|
|
||||||
export type TokenType = {
|
|
||||||
id: number // 编号
|
|
||||||
accessToken: string // 访问令牌
|
|
||||||
refreshToken: string // 刷新令牌
|
|
||||||
userId: number // 用户编号
|
|
||||||
userType: number //用户类型
|
|
||||||
clientId: string //客户端编号
|
|
||||||
expiresTime: number //过期时间
|
|
||||||
}
|
|
||||||
|
|
||||||
export type UserVO = {
|
|
||||||
id: number
|
|
||||||
username: string
|
|
||||||
nickname: string
|
|
||||||
deptId: number
|
|
||||||
email: string
|
|
||||||
mobile: string
|
|
||||||
sex: number
|
|
||||||
avatar: string
|
|
||||||
loginIp: string
|
|
||||||
loginDate: string
|
|
||||||
}
|
|
||||||
|
|
||||||
export type UserInfoVO = {
|
|
||||||
permissions: []
|
|
||||||
roles: []
|
|
||||||
user: {
|
|
||||||
avatar: string
|
|
||||||
id: number
|
|
||||||
nickname: string
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export type TentantNameVO = {
|
|
||||||
name: string
|
|
||||||
}
|
|
@ -1,41 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
// 创建公众号账号
|
|
||||||
export const createAccount = async (data) => {
|
|
||||||
return await request.post({ url: '/mp/account/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 更新公众号账号
|
|
||||||
export const updateAccount = async (data) => {
|
|
||||||
return request.put({ url: '/mp/account/update', data: data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除公众号账号
|
|
||||||
export const deleteAccount = async (id) => {
|
|
||||||
return request.delete({ url: '/mp/account/delete?id=' + id, method: 'delete' })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得公众号账号
|
|
||||||
export const getAccount = async (id) => {
|
|
||||||
return request.get({ url: '/mp/account/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得公众号账号分页
|
|
||||||
export const getAccountPage = async (query) => {
|
|
||||||
return request.get({ url: '/mp/account/page', params: query })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取公众号账号精简信息列表
|
|
||||||
export const getSimpleAccounts = async () => {
|
|
||||||
return request.get({ url: '/mp/account/list-all-simple' })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 生成公众号二维码
|
|
||||||
export const generateAccountQrCode = async (id) => {
|
|
||||||
return request.put({ url: '/mp/account/generate-qr-code?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 清空公众号 API 配额
|
|
||||||
export const clearAccountQuota = async (id) => {
|
|
||||||
return request.put({ url: '/mp/account/clear-quota?id=' + id })
|
|
||||||
}
|
|
@ -1,39 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
// 创建公众号的自动回复
|
|
||||||
export const createAutoReply = (data) => {
|
|
||||||
return request.post({
|
|
||||||
url: '/mp/auto-reply/create',
|
|
||||||
data: data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 更新公众号的自动回复
|
|
||||||
export const updateAutoReply = (data) => {
|
|
||||||
return request.put({
|
|
||||||
url: '/mp/auto-reply/update',
|
|
||||||
data: data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除公众号的自动回复
|
|
||||||
export const deleteAutoReply = (id) => {
|
|
||||||
return request.delete({
|
|
||||||
url: '/mp/auto-reply/delete?id=' + id
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得公众号的自动回复
|
|
||||||
export const getAutoReply = (id) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/mp/auto-reply/get?id=' + id
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得公众号的自动回复分页
|
|
||||||
export const getAutoReplyPage = (query) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/mp/auto-reply/page',
|
|
||||||
params: query
|
|
||||||
})
|
|
||||||
}
|
|
@ -1,35 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
// 获得公众号草稿分页
|
|
||||||
export const getDraftPage = (query) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/mp/draft/page',
|
|
||||||
params: query
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 创建公众号草稿
|
|
||||||
export const createDraft = (accountId, articles) => {
|
|
||||||
return request.post({
|
|
||||||
url: '/mp/draft/create?accountId=' + accountId,
|
|
||||||
data: {
|
|
||||||
articles
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 更新公众号草稿
|
|
||||||
export const updateDraft = (accountId, mediaId, articles) => {
|
|
||||||
return request.put({
|
|
||||||
url: '/mp/draft/update?accountId=' + accountId + '&mediaId=' + mediaId,
|
|
||||||
method: 'put',
|
|
||||||
data: articles
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除公众号草稿
|
|
||||||
export const deleteDraft = (accountId, mediaId) => {
|
|
||||||
return request.delete({
|
|
||||||
url: '/mp/draft/delete?accountId=' + accountId + '&mediaId=' + mediaId
|
|
||||||
})
|
|
||||||
}
|
|
@ -1,23 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
// 获得公众号素材分页
|
|
||||||
export const getFreePublishPage = (query) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/mp/free-publish/page',
|
|
||||||
params: query
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除公众号素材
|
|
||||||
export const deleteFreePublish = (accountId, articleId) => {
|
|
||||||
return request.delete({
|
|
||||||
url: '/mp/free-publish/delete?accountId=' + accountId + '&articleId=' + articleId
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 发布公众号素材
|
|
||||||
export const submitFreePublish = (accountId, mediaId) => {
|
|
||||||
return request.post({
|
|
||||||
url: '/mp/free-publish/submit?accountId=' + accountId + '&mediaId=' + mediaId
|
|
||||||
})
|
|
||||||
}
|
|
@ -1,16 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
// 获得公众号素材分页
|
|
||||||
export const getMaterialPage = (query) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/mp/material/page',
|
|
||||||
params: query
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除公众号永久素材
|
|
||||||
export const deletePermanentMaterial = (id) => {
|
|
||||||
return request.delete({
|
|
||||||
url: '/mp/material/delete-permanent?id=' + id
|
|
||||||
})
|
|
||||||
}
|
|
@ -1,26 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
// 获得公众号菜单列表
|
|
||||||
export const getMenuList = (accountId) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/mp/menu/list?accountId=' + accountId
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 保存公众号菜单
|
|
||||||
export const saveMenu = (accountId, menus) => {
|
|
||||||
return request.post({
|
|
||||||
url: '/mp/menu/save',
|
|
||||||
data: {
|
|
||||||
accountId,
|
|
||||||
menus
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除公众号菜单
|
|
||||||
export const deleteMenu = (accountId) => {
|
|
||||||
return request.delete({
|
|
||||||
url: '/mp/menu/delete?accountId=' + accountId
|
|
||||||
})
|
|
||||||
}
|
|
@ -1,17 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
// 获得公众号消息分页
|
|
||||||
export const getMessagePage = (query) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/mp/message/page',
|
|
||||||
params: query
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 给粉丝发送消息
|
|
||||||
export const sendMessage = (data) => {
|
|
||||||
return request.post({
|
|
||||||
url: '/mp/message/send',
|
|
||||||
data: data
|
|
||||||
})
|
|
||||||
}
|
|
@ -1,31 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
// 更新公众号粉丝
|
|
||||||
export const updateUser = (data) => {
|
|
||||||
return request.put({
|
|
||||||
url: '/mp/user/update',
|
|
||||||
data: data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得公众号粉丝
|
|
||||||
export const getUser = (id) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/mp/user/get?id=' + id
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得公众号粉丝分页
|
|
||||||
export const getUserPage = (query) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/mp/user/page',
|
|
||||||
params: query
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 同步公众号粉丝
|
|
||||||
export const syncUser = (accountId) => {
|
|
||||||
return request.post({
|
|
||||||
url: '/mp/tag/sync?accountId=' + accountId
|
|
||||||
})
|
|
||||||
}
|
|
@ -1,33 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
// 获取消息发送概况数据
|
|
||||||
export const getUpstreamMessage = (query) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/mp/statistics/upstream-message',
|
|
||||||
params: query
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 用户增减数据
|
|
||||||
export const getUserSummary = (query) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/mp/statistics/user-summary',
|
|
||||||
params: query
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得用户累计数据
|
|
||||||
export const getUserCumulate = (query) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/mp/statistics/user-cumulate',
|
|
||||||
params: query
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得接口分析数据
|
|
||||||
export const getInterfaceSummary = (query) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/mp/statistics/interface-summary',
|
|
||||||
params: query
|
|
||||||
})
|
|
||||||
}
|
|
@ -1,53 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
// 创建公众号标签
|
|
||||||
export const createTag = (data) => {
|
|
||||||
return request.post({
|
|
||||||
url: '/mp/tag/create',
|
|
||||||
data: data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 更新公众号标签
|
|
||||||
export const updateTag = (data) => {
|
|
||||||
return request.put({
|
|
||||||
url: '/mp/tag/update',
|
|
||||||
data: data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除公众号标签
|
|
||||||
export const deleteTag = (id) => {
|
|
||||||
return request.delete({
|
|
||||||
url: '/mp/tag/delete?id=' + id
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得公众号标签
|
|
||||||
export const getTag = (id) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/mp/tag/get?id=' + id
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得公众号标签分页
|
|
||||||
export const getTagPage = (query) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/mp/tag/page',
|
|
||||||
params: query
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取公众号标签精简信息列表
|
|
||||||
export const getSimpleTags = () => {
|
|
||||||
return request.get({
|
|
||||||
url: '/mp/tag/list-all-simple'
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 同步公众号标签
|
|
||||||
export const syncTag = (accountId) => {
|
|
||||||
return request.post({
|
|
||||||
url: '/mp/tag/sync?accountId=' + accountId
|
|
||||||
})
|
|
||||||
}
|
|
@ -1,78 +0,0 @@
|
|||||||
import request from '@/config/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 request.get({ url: '/pay/app/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询详情支付应用
|
|
||||||
export const getAppApi = (id: number) => {
|
|
||||||
return request.get({ url: '/pay/app/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增支付应用
|
|
||||||
export const createAppApi = (data: AppVO) => {
|
|
||||||
return request.post({ url: '/pay/app/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改支付应用
|
|
||||||
export const updateAppApi = (data: AppVO) => {
|
|
||||||
return request.put({ url: '/pay/app/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 支付应用信息状态修改
|
|
||||||
export const changeAppStatusApi = (data: AppUpdateStatusReqVO) => {
|
|
||||||
return request.put({ url: '/pay/app/update-status', data: data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除支付应用
|
|
||||||
export const deleteAppApi = (id: number) => {
|
|
||||||
return request.delete({ url: '/pay/app/delete?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 导出支付应用
|
|
||||||
export const exportAppApi = (params: AppExportReqVO) => {
|
|
||||||
return request.download({ url: '/pay/app/export-excel', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 根据商ID称搜索应用列表
|
|
||||||
export const getAppListByMerchantIdApi = (merchantId: number) => {
|
|
||||||
return request.get({ url: '/pay/app/list-merchant-id', params: { merchantId: merchantId } })
|
|
||||||
}
|
|
@ -1,70 +0,0 @@
|
|||||||
import request from '@/config/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 request.get({ url: '/pay/channel/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询详情支付渠道
|
|
||||||
export const getChannelApi = (merchantId: number, appId: string, code: string) => {
|
|
||||||
const params = {
|
|
||||||
merchantId: merchantId,
|
|
||||||
appId: appId,
|
|
||||||
code: code
|
|
||||||
}
|
|
||||||
return request.get({ url: '/pay/channel/get-channel', params: params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增支付渠道
|
|
||||||
export const createChannelApi = (data: ChannelVO) => {
|
|
||||||
return request.post({ url: '/pay/channel/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改支付渠道
|
|
||||||
export const updateChannelApi = (data: ChannelVO) => {
|
|
||||||
return request.put({ url: '/pay/channel/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除支付渠道
|
|
||||||
export const deleteChannelApi = (id: number) => {
|
|
||||||
return request.delete({ url: '/pay/channel/delete?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 导出支付渠道
|
|
||||||
export const exportChannelApi = (params: ChannelExportReqVO) => {
|
|
||||||
return request.download({ url: '/pay/channel/export-excel', params })
|
|
||||||
}
|
|
@ -1,77 +0,0 @@
|
|||||||
import request from '@/config/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 request.get({ url: '/pay/merchant/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询详情支付商户
|
|
||||||
export const getMerchantApi = (id: number) => {
|
|
||||||
return request.get({ url: '/pay/merchant/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 根据商户名称搜索商户列表
|
|
||||||
export const getMerchantListByNameApi = (name: string) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/pay/merchant/list-by-name?id=',
|
|
||||||
params: {
|
|
||||||
name: name
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增支付商户
|
|
||||||
export const createMerchantApi = (data: MerchantVO) => {
|
|
||||||
return request.post({ url: '/pay/merchant/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改支付商户
|
|
||||||
export const updateMerchantApi = (data: MerchantVO) => {
|
|
||||||
return request.put({ url: '/pay/merchant/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除支付商户
|
|
||||||
export const deleteMerchantApi = (id: number) => {
|
|
||||||
return request.delete({ url: '/pay/merchant/delete?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 导出支付商户
|
|
||||||
export const exportMerchantApi = (params: MerchantExportReqVO) => {
|
|
||||||
return request.download({ url: '/pay/merchant/export-excel', params })
|
|
||||||
}
|
|
||||||
// 支付商户状态修改
|
|
||||||
export const changeMerchantStatusApi = (id: number, status: number) => {
|
|
||||||
const data = {
|
|
||||||
id,
|
|
||||||
status
|
|
||||||
}
|
|
||||||
return request.put({ url: '/pay/merchant/update-status', data: data })
|
|
||||||
}
|
|
@ -1,109 +0,0 @@
|
|||||||
import request from '@/config/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 await request.get({ url: '/pay/order/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询详情支付订单
|
|
||||||
export const getOrderApi = async (id: number) => {
|
|
||||||
return await request.get({ url: '/pay/order/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增支付订单
|
|
||||||
export const createOrderApi = async (data: OrderVO) => {
|
|
||||||
return await request.post({ url: '/pay/order/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改支付订单
|
|
||||||
export const updateOrderApi = async (data: OrderVO) => {
|
|
||||||
return await request.put({ url: '/pay/order/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除支付订单
|
|
||||||
export const deleteOrderApi = async (id: number) => {
|
|
||||||
return await request.delete({ url: '/pay/order/delete?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 导出支付订单
|
|
||||||
export const exportOrderApi = async (params: OrderExportReqVO) => {
|
|
||||||
return await request.download({ url: '/pay/order/export-excel', params })
|
|
||||||
}
|
|
@ -1,116 +0,0 @@
|
|||||||
import request from '@/config/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 request.get({ url: '/pay/refund/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询详情退款订单
|
|
||||||
export const getRefundApi = (id: number) => {
|
|
||||||
return request.get({ url: '/pay/refund/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增退款订单
|
|
||||||
export const createRefundApi = (data: RefundVO) => {
|
|
||||||
return request.post({ url: '/pay/refund/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改退款订单
|
|
||||||
export const updateRefundApi = (data: RefundVO) => {
|
|
||||||
return request.put({ url: '/pay/refund/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除退款订单
|
|
||||||
export const deleteRefundApi = (id: number) => {
|
|
||||||
return request.delete({ url: '/pay/refund/delete?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 导出退款订单
|
|
||||||
export const exportRefundApi = (params: PayRefundExportReqVO) => {
|
|
||||||
return request.download({ url: '/pay/refund/export-excel', params })
|
|
||||||
}
|
|
@ -1,48 +0,0 @@
|
|||||||
import request from '@/config/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 await request.get({ url: '/system/dept/list-all-simple' })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询部门列表
|
|
||||||
export const getDeptPageApi = async (params: DeptPageReqVO) => {
|
|
||||||
return await request.get({ url: '/system/dept/list', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询部门详情
|
|
||||||
export const getDeptApi = async (id: number) => {
|
|
||||||
return await request.get({ url: '/system/dept/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增部门
|
|
||||||
export const createDeptApi = async (data: DeptVO) => {
|
|
||||||
return await request.post({ url: '/system/dept/create', data: data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改部门
|
|
||||||
export const updateDeptApi = async (params: DeptVO) => {
|
|
||||||
return await request.put({ url: '/system/dept/update', data: params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除部门
|
|
||||||
export const deleteDeptApi = async (id: number) => {
|
|
||||||
return await request.delete({ url: '/system/dept/delete?id=' + id })
|
|
||||||
}
|
|
@ -1,36 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
import type { DictDataVO, DictDataPageReqVO, DictDataExportReqVO } from './types'
|
|
||||||
|
|
||||||
// 查询字典数据(精简)列表
|
|
||||||
export const listSimpleDictDataApi = () => {
|
|
||||||
return request.get({ url: '/system/dict-data/list-all-simple' })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询字典数据列表
|
|
||||||
export const getDictDataPageApi = (params: DictDataPageReqVO) => {
|
|
||||||
return request.get({ url: '/system/dict-data/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询字典数据详情
|
|
||||||
export const getDictDataApi = (id: number) => {
|
|
||||||
return request.get({ url: '/system/dict-data/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增字典数据
|
|
||||||
export const createDictDataApi = (data: DictDataVO) => {
|
|
||||||
return request.post({ url: '/system/dict-data/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改字典数据
|
|
||||||
export const updateDictDataApi = (data: DictDataVO) => {
|
|
||||||
return request.put({ url: '/system/dict-data/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除字典数据
|
|
||||||
export const deleteDictDataApi = (id: number) => {
|
|
||||||
return request.delete({ url: '/system/dict-data/delete?id=' + id })
|
|
||||||
}
|
|
||||||
// 导出字典类型数据
|
|
||||||
export const exportDictDataApi = (params: DictDataExportReqVO) => {
|
|
||||||
return request.get({ url: '/system/dict-data/export', params })
|
|
||||||
}
|
|
@ -1,36 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
import type { DictTypeVO, DictTypePageReqVO, DictTypeExportReqVO } from './types'
|
|
||||||
|
|
||||||
// 查询字典(精简)列表
|
|
||||||
export const listSimpleDictTypeApi = () => {
|
|
||||||
return request.get({ url: '/system/dict-type/list-all-simple' })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询字典列表
|
|
||||||
export const getDictTypePageApi = (params: DictTypePageReqVO) => {
|
|
||||||
return request.get({ url: '/system/dict-type/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询字典详情
|
|
||||||
export const getDictTypeApi = (id: number) => {
|
|
||||||
return request.get({ url: '/system/dict-type/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增字典
|
|
||||||
export const createDictTypeApi = (data: DictTypeVO) => {
|
|
||||||
return request.post({ url: '/system/dict-type/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改字典
|
|
||||||
export const updateDictTypeApi = (data: DictTypeVO) => {
|
|
||||||
return request.put({ url: '/system/dict-type/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除字典
|
|
||||||
export const deleteDictTypeApi = (id: number) => {
|
|
||||||
return request.delete({ url: '/system/dict-type/delete?id=' + id })
|
|
||||||
}
|
|
||||||
// 导出字典类型
|
|
||||||
export const exportDictTypeApi = (params: DictTypeExportReqVO) => {
|
|
||||||
return request.get({ url: '/system/dict-type/export', params })
|
|
||||||
}
|
|
@ -1,46 +0,0 @@
|
|||||||
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
|
|
||||||
}
|
|
@ -1,48 +0,0 @@
|
|||||||
import request from '@/config/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 request.get({ url: '/system/error-code/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询错误码详情
|
|
||||||
export const getErrorCodeApi = (id: number) => {
|
|
||||||
return request.get({ url: '/system/error-code/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增错误码
|
|
||||||
export const createErrorCodeApi = (data: ErrorCodeVO) => {
|
|
||||||
return request.post({ url: '/system/error-code/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改错误码
|
|
||||||
export const updateErrorCodeApi = (data: ErrorCodeVO) => {
|
|
||||||
return request.put({ url: '/system/error-code/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除错误码
|
|
||||||
export const deleteErrorCodeApi = (id: number) => {
|
|
||||||
return request.delete({ url: '/system/error-code/delete?id=' + id })
|
|
||||||
}
|
|
||||||
// 导出错误码
|
|
||||||
export const excelErrorCodeApi = (params: ErrorCodePageReqVO) => {
|
|
||||||
return request.download({ url: '/system/error-code/export-excel', params })
|
|
||||||
}
|
|
@ -1,30 +0,0 @@
|
|||||||
import request from '@/config/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 request.get({ url: '/system/login-log/page', params })
|
|
||||||
}
|
|
||||||
// 导出登录日志
|
|
||||||
export const exportLoginLogApi = (params: LoginLogReqVO) => {
|
|
||||||
return request.download({ url: '/system/login-log/export', params })
|
|
||||||
}
|
|
@ -1,46 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface MailAccountVO {
|
|
||||||
id: number
|
|
||||||
mail: string
|
|
||||||
username: string
|
|
||||||
password: string
|
|
||||||
host: string
|
|
||||||
port: number
|
|
||||||
sslEnable: boolean
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface MailAccountPageReqVO extends PageParam {
|
|
||||||
mail?: string
|
|
||||||
username?: string
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询邮箱账号列表
|
|
||||||
export const getMailAccountPageApi = async (params: MailAccountPageReqVO) => {
|
|
||||||
return await request.get({ url: '/system/mail-account/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询邮箱账号详情
|
|
||||||
export const getMailAccountApi = async (id: number) => {
|
|
||||||
return await request.get({ url: '/system/mail-account/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增邮箱账号
|
|
||||||
export const createMailAccountApi = async (data: MailAccountVO) => {
|
|
||||||
return await request.post({ url: '/system/mail-account/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改邮箱账号
|
|
||||||
export const updateMailAccountApi = async (data: MailAccountVO) => {
|
|
||||||
return await request.put({ url: '/system/mail-account/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除邮箱账号
|
|
||||||
export const deleteMailAccountApi = async (id: number) => {
|
|
||||||
return await request.delete({ url: '/system/mail-account/delete?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得邮箱账号精简列表
|
|
||||||
export const getSimpleMailAccounts = async () => {
|
|
||||||
return request.get({ url: '/system/mail-account/list-all-simple' })
|
|
||||||
}
|
|
@ -1,40 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface MailLogVO {
|
|
||||||
id: number
|
|
||||||
userId: number
|
|
||||||
userType: number
|
|
||||||
toMail: string
|
|
||||||
accountId: number
|
|
||||||
fromMail: string
|
|
||||||
templateId: number
|
|
||||||
templateCode: string
|
|
||||||
templateNickname: string
|
|
||||||
templateTitle: string
|
|
||||||
templateContent: string
|
|
||||||
templateParams: string
|
|
||||||
sendStatus: number
|
|
||||||
sendTime: Date
|
|
||||||
sendMessageId: string
|
|
||||||
sendException: string
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface MailLogPageReqVO extends PageParam {
|
|
||||||
userId?: number
|
|
||||||
userType?: number
|
|
||||||
toMail?: string
|
|
||||||
accountId?: number
|
|
||||||
templateId?: number
|
|
||||||
sendStatus?: number
|
|
||||||
sendTime?: Date[]
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询邮件日志列表
|
|
||||||
export const getMailLogPageApi = async (params: MailLogPageReqVO) => {
|
|
||||||
return await request.get({ url: '/system/mail-log/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询邮件日志详情
|
|
||||||
export const getMailLogApi = async (id: number) => {
|
|
||||||
return await request.get({ url: '/system/mail-log/get?id=' + id })
|
|
||||||
}
|
|
@ -1,58 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface MailTemplateVO {
|
|
||||||
id: number
|
|
||||||
name: string
|
|
||||||
code: string
|
|
||||||
accountId: number
|
|
||||||
nickname: string
|
|
||||||
title: string
|
|
||||||
content: string
|
|
||||||
params: string
|
|
||||||
status: number
|
|
||||||
remark: string
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface MailTemplatePageReqVO extends PageParam {
|
|
||||||
name?: string
|
|
||||||
code?: string
|
|
||||||
accountId?: number
|
|
||||||
status?: number
|
|
||||||
createTime?: Date[]
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface MailSendReqVO {
|
|
||||||
mail: string
|
|
||||||
templateCode: string
|
|
||||||
templateParams: Map<String, Object>
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询邮件模版列表
|
|
||||||
export const getMailTemplatePageApi = async (params: MailTemplatePageReqVO) => {
|
|
||||||
return await request.get({ url: '/system/mail-template/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询邮件模版详情
|
|
||||||
export const getMailTemplateApi = async (id: number) => {
|
|
||||||
return await request.get({ url: '/system/mail-template/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增邮件模版
|
|
||||||
export const createMailTemplateApi = async (data: MailTemplateVO) => {
|
|
||||||
return await request.post({ url: '/system/mail-template/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改邮件模版
|
|
||||||
export const updateMailTemplateApi = async (data: MailTemplateVO) => {
|
|
||||||
return await request.put({ url: '/system/mail-template/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除邮件模版
|
|
||||||
export const deleteMailTemplateApi = async (id: number) => {
|
|
||||||
return await request.delete({ url: '/system/mail-template/delete?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 发送邮件
|
|
||||||
export const sendMailApi = (data: MailSendReqVO) => {
|
|
||||||
return request.post({ url: '/system/mail-template/send-mail', data })
|
|
||||||
}
|
|
@ -1,54 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface MenuVO {
|
|
||||||
id: number
|
|
||||||
name: string
|
|
||||||
permission: string
|
|
||||||
type: number
|
|
||||||
sort: number
|
|
||||||
parentId: number
|
|
||||||
path: string
|
|
||||||
icon: string
|
|
||||||
component: string
|
|
||||||
componentName?: string
|
|
||||||
status: number
|
|
||||||
visible: boolean
|
|
||||||
keepAlive: boolean
|
|
||||||
alwaysShow?: boolean
|
|
||||||
createTime: Date
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface MenuPageReqVO {
|
|
||||||
name?: string
|
|
||||||
status?: number
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询菜单(精简)列表
|
|
||||||
export const listSimpleMenusApi = () => {
|
|
||||||
return request.get({ url: '/system/menu/list-all-simple' })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询菜单列表
|
|
||||||
export const getMenuListApi = (params: MenuPageReqVO) => {
|
|
||||||
return request.get({ url: '/system/menu/list', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取菜单详情
|
|
||||||
export const getMenuApi = (id: number) => {
|
|
||||||
return request.get({ url: '/system/menu/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增菜单
|
|
||||||
export const createMenuApi = (data: MenuVO) => {
|
|
||||||
return request.post({ url: '/system/menu/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改菜单
|
|
||||||
export const updateMenuApi = (data: MenuVO) => {
|
|
||||||
return request.put({ url: '/system/menu/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除菜单
|
|
||||||
export const deleteMenuApi = (id: number) => {
|
|
||||||
return request.delete({ url: '/system/menu/delete?id=' + id })
|
|
||||||
}
|
|
@ -1,42 +0,0 @@
|
|||||||
import request from '@/config/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 request.get({ url: '/system/notice/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询公告详情
|
|
||||||
export const getNoticeApi = (id: number) => {
|
|
||||||
return request.get({ url: '/system/notice/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增公告
|
|
||||||
export const createNoticeApi = (data: NoticeVO) => {
|
|
||||||
return request.post({ url: '/system/notice/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改公告
|
|
||||||
export const updateNoticeApi = (data: NoticeVO) => {
|
|
||||||
return request.put({ url: '/system/notice/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除公告
|
|
||||||
export const deleteNoticeApi = (id: number) => {
|
|
||||||
return request.delete({ url: '/system/notice/delete?id=' + id })
|
|
||||||
}
|
|
@ -1,66 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
import qs from 'qs'
|
|
||||||
|
|
||||||
export interface NotifyMessageVO {
|
|
||||||
id: number
|
|
||||||
userId: number
|
|
||||||
userType: number
|
|
||||||
templateId: number
|
|
||||||
templateCode: string
|
|
||||||
templateNickname: string
|
|
||||||
templateContent: string
|
|
||||||
templateType: number
|
|
||||||
templateParams: string
|
|
||||||
readStatus: boolean
|
|
||||||
readTime: Date
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface NotifyMessagePageReqVO extends PageParam {
|
|
||||||
userId?: number
|
|
||||||
userType?: number
|
|
||||||
templateCode?: string
|
|
||||||
templateType?: number
|
|
||||||
createTime?: Date[]
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface NotifyMessageMyPageReqVO extends PageParam {
|
|
||||||
readStatus?: boolean
|
|
||||||
createTime?: Date[]
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询站内信消息列表
|
|
||||||
export const getNotifyMessagePageApi = async (params: NotifyMessagePageReqVO) => {
|
|
||||||
return await request.get({ url: '/system/notify-message/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询站内信消息详情
|
|
||||||
export const getNotifyMessageApi = async (id: number) => {
|
|
||||||
return await request.get({ url: '/system/notify-message/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得我的站内信分页
|
|
||||||
export const getMyNotifyMessagePage = async (params: NotifyMessageMyPageReqVO) => {
|
|
||||||
return await request.get({ url: '/system/notify-message/my-page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 批量标记已读
|
|
||||||
export const updateNotifyMessageRead = async (ids) => {
|
|
||||||
return await request.put({
|
|
||||||
url: '/system/notify-message/update-read?' + qs.stringify({ ids: ids }, { indices: false })
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 标记所有站内信为已读
|
|
||||||
export const updateAllNotifyMessageRead = async () => {
|
|
||||||
return await request.put({ url: '/system/notify-message/update-all-read' })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取当前用户的最新站内信列表
|
|
||||||
export const getUnreadNotifyMessageListApi = async () => {
|
|
||||||
return await request.get({ url: '/system/notify-message/get-unread-list' })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得当前用户的未读站内信数量
|
|
||||||
export const getUnreadNotifyMessageCountApi = async () => {
|
|
||||||
return await request.get({ url: '/system/notify-message/get-unread-count' })
|
|
||||||
}
|
|
@ -1,55 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface NotifyTemplateVO {
|
|
||||||
id: number
|
|
||||||
name: string
|
|
||||||
code: string
|
|
||||||
content: string
|
|
||||||
type: number
|
|
||||||
params: string
|
|
||||||
status: number
|
|
||||||
remark: string
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface NotifyTemplatePageReqVO extends PageParam {
|
|
||||||
name?: string
|
|
||||||
code?: string
|
|
||||||
status?: number
|
|
||||||
createTime?: Date[]
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface NotifySendReqVO {
|
|
||||||
userId: number
|
|
||||||
templateCode: string
|
|
||||||
templateParams: Map<String, Object>
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询站内信模板列表
|
|
||||||
export const getNotifyTemplatePageApi = async (params: NotifyTemplatePageReqVO) => {
|
|
||||||
return await request.get({ url: '/system/notify-template/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询站内信模板详情
|
|
||||||
export const getNotifyTemplateApi = async (id: number) => {
|
|
||||||
return await request.get({ url: '/system/notify-template/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增站内信模板
|
|
||||||
export const createNotifyTemplateApi = async (data: NotifyTemplateVO) => {
|
|
||||||
return await request.post({ url: '/system/notify-template/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改站内信模板
|
|
||||||
export const updateNotifyTemplateApi = async (data: NotifyTemplateVO) => {
|
|
||||||
return await request.put({ url: '/system/notify-template/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除站内信模板
|
|
||||||
export const deleteNotifyTemplateApi = async (id: number) => {
|
|
||||||
return await request.delete({ url: '/system/notify-template/delete?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 发送站内信
|
|
||||||
export const sendNotifyApi = (data: NotifySendReqVO) => {
|
|
||||||
return request.post({ url: '/system/notify-template/send-notify', data })
|
|
||||||
}
|
|
@ -1,51 +0,0 @@
|
|||||||
import request from '@/config/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 request.get({ url: '/system/oauth2-client/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询 OAuth2详情
|
|
||||||
export const getOAuth2ClientApi = (id: number) => {
|
|
||||||
return request.get({ url: '/system/oauth2-client/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增 OAuth2
|
|
||||||
export const createOAuth2ClientApi = (data: OAuth2ClientVO) => {
|
|
||||||
return request.post({ url: '/system/oauth2-client/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改 OAuth2
|
|
||||||
export const updateOAuth2ClientApi = (data: OAuth2ClientVO) => {
|
|
||||||
return request.put({ url: '/system/oauth2-client/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除 OAuth2
|
|
||||||
export const deleteOAuth2ClientApi = (id: number) => {
|
|
||||||
return request.delete({ url: '/system/oauth2-client/delete?id=' + id })
|
|
||||||
}
|
|
@ -1,28 +0,0 @@
|
|||||||
import request from '@/config/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 request.get({ url: '/system/oauth2-token/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除 token
|
|
||||||
export const deleteAccessTokenApi = (accessToken: number) => {
|
|
||||||
return request.delete({ url: '/system/oauth2-token/delete?accessToken=' + accessToken })
|
|
||||||
}
|
|
@ -1,41 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export type OperateLogVO = {
|
|
||||||
id: number
|
|
||||||
userNickname: string
|
|
||||||
traceId: string
|
|
||||||
userId: number
|
|
||||||
module: string
|
|
||||||
name: string
|
|
||||||
type: number
|
|
||||||
content: string
|
|
||||||
exts: Map<String, Object>
|
|
||||||
requestMethod: string
|
|
||||||
requestUrl: 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 request.get({ url: '/system/operate-log/page', params })
|
|
||||||
}
|
|
||||||
// 导出操作日志
|
|
||||||
export const exportOperateLogApi = (params: OperateLogPageReqVO) => {
|
|
||||||
return request.download({ url: '/system/operate-log/export', params })
|
|
||||||
}
|
|
@ -1,42 +0,0 @@
|
|||||||
import request from '@/config/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 = async (roleId: number) => {
|
|
||||||
return await request.get({ url: '/system/permission/list-role-resources?roleId=' + roleId })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 赋予角色菜单权限
|
|
||||||
export const assignRoleMenuApi = async (data: PermissionAssignRoleMenuReqVO) => {
|
|
||||||
return await request.post({ url: '/system/permission/assign-role-menu', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 赋予角色数据权限
|
|
||||||
export const assignRoleDataScopeApi = async (data: PermissionAssignRoleDataScopeReqVO) => {
|
|
||||||
return await request.post({ url: '/system/permission/assign-role-data-scope', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询用户拥有的角色数组
|
|
||||||
export const listUserRolesApi = async (userId: number) => {
|
|
||||||
return await request.get({ url: '/system/permission/list-user-roles?userId=' + userId })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 赋予用户角色
|
|
||||||
export const aassignUserRoleApi = async (data: PermissionAssignUserRoleReqVO) => {
|
|
||||||
return await request.post({ url: '/system/permission/assign-user-role', data })
|
|
||||||
}
|
|
@ -1,58 +0,0 @@
|
|||||||
import request from '@/config/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 = async (params: PostPageReqVO) => {
|
|
||||||
return await request.get({ url: '/system/post/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取岗位精简信息列表
|
|
||||||
export const listSimplePostsApi = async () => {
|
|
||||||
return await request.get({ url: '/system/post/list-all-simple' })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询岗位详情
|
|
||||||
export const getPostApi = async (id: number) => {
|
|
||||||
return await request.get({ url: '/system/post/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增岗位
|
|
||||||
export const createPostApi = async (data: PostVO) => {
|
|
||||||
return await request.post({ url: '/system/post/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改岗位
|
|
||||||
export const updatePostApi = async (data: PostVO) => {
|
|
||||||
return await request.put({ url: '/system/post/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除岗位
|
|
||||||
export const deletePostApi = async (id: number) => {
|
|
||||||
return await request.delete({ url: '/system/post/delete?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 导出岗位
|
|
||||||
export const exportPostApi = async (params: PostExportReqVO) => {
|
|
||||||
return await request.download({ url: '/system/post/export', params })
|
|
||||||
}
|
|
@ -1,58 +0,0 @@
|
|||||||
import request from '@/config/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 = async (params: RolePageReqVO) => {
|
|
||||||
return await request.get({ url: '/system/role/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询角色(精简)列表
|
|
||||||
export const listSimpleRolesApi = async () => {
|
|
||||||
return await request.get({ url: '/system/role/list-all-simple' })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询角色详情
|
|
||||||
export const getRoleApi = async (id: number) => {
|
|
||||||
return await request.get({ url: '/system/role/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增角色
|
|
||||||
export const createRoleApi = async (data: RoleVO) => {
|
|
||||||
return await request.post({ url: '/system/role/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改角色
|
|
||||||
export const updateRoleApi = async (data: RoleVO) => {
|
|
||||||
return await request.put({ url: '/system/role/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改角色状态
|
|
||||||
export const updateRoleStatusApi = async (data: UpdateStatusReqVO) => {
|
|
||||||
return await request.put({ url: '/system/role/update-status', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除角色
|
|
||||||
export const deleteRoleApi = async (id: number) => {
|
|
||||||
return await request.delete({ url: '/system/role/delete?id=' + id })
|
|
||||||
}
|
|
@ -1,64 +0,0 @@
|
|||||||
import request from '@/config/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 request.get({ url: '/system/sensitive-word/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询敏感词详情
|
|
||||||
export const getSensitiveWordApi = (id: number) => {
|
|
||||||
return request.get({ url: '/system/sensitive-word/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增敏感词
|
|
||||||
export const createSensitiveWordApi = (data: SensitiveWordVO) => {
|
|
||||||
return request.post({ url: '/system/sensitive-word/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改敏感词
|
|
||||||
export const updateSensitiveWordApi = (data: SensitiveWordVO) => {
|
|
||||||
return request.put({ url: '/system/sensitive-word/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除敏感词
|
|
||||||
export const deleteSensitiveWordApi = (id: number) => {
|
|
||||||
return request.delete({ url: '/system/sensitive-word/delete?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 导出敏感词
|
|
||||||
export const exportSensitiveWordApi = (params: SensitiveWordExportReqVO) => {
|
|
||||||
return request.download({ url: '/system/sensitive-word/export-excel', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取所有敏感词的标签数组
|
|
||||||
export const getSensitiveWordTagsApi = () => {
|
|
||||||
return request.get({ url: '/system/sensitive-word/get-tags' })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得文本所包含的不合法的敏感词数组
|
|
||||||
export const validateTextApi = (id: number) => {
|
|
||||||
return request.get({ url: '/system/sensitive-word/validate-text?' + id })
|
|
||||||
}
|
|
@ -1,50 +0,0 @@
|
|||||||
import request from '@/config/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 request.get({ url: '/system/sms-channel/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得短信渠道精简列表
|
|
||||||
export function getSimpleSmsChannels() {
|
|
||||||
return request.get({ url: '/system/sms-channel/list-all-simple' })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询短信渠道详情
|
|
||||||
export const getSmsChannelApi = (id: number) => {
|
|
||||||
return request.get({ url: '/system/sms-channel/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增短信渠道
|
|
||||||
export const createSmsChannelApi = (data: SmsChannelVO) => {
|
|
||||||
return request.post({ url: '/system/sms-channel/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改短信渠道
|
|
||||||
export const updateSmsChannelApi = (data: SmsChannelVO) => {
|
|
||||||
return request.put({ url: '/system/sms-channel/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除短信渠道
|
|
||||||
export const deleteSmsChannelApi = (id: number) => {
|
|
||||||
return request.delete({ url: '/system/sms-channel/delete?id=' + id })
|
|
||||||
}
|
|
@ -1,57 +0,0 @@
|
|||||||
import request from '@/config/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
|
|
||||||
apiRequestId: 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 request.get({ url: '/system/sms-log/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 导出短信日志
|
|
||||||
export const exportSmsLogApi = (params: SmsLogExportReqVO) => {
|
|
||||||
return request.download({ url: '/system/sms-log/export', params })
|
|
||||||
}
|
|
@ -1,80 +0,0 @@
|
|||||||
import request from '@/config/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 request.get({ url: '/system/sms-template/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询短信模板详情
|
|
||||||
export const getSmsTemplateApi = (id: number) => {
|
|
||||||
return request.get({ url: '/system/sms-template/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增短信模板
|
|
||||||
export const createSmsTemplateApi = (data: SmsTemplateVO) => {
|
|
||||||
return request.post({ url: '/system/sms-template/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改短信模板
|
|
||||||
export const updateSmsTemplateApi = (data: SmsTemplateVO) => {
|
|
||||||
return request.put({ url: '/system/sms-template/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除短信模板
|
|
||||||
export const deleteSmsTemplateApi = (id: number) => {
|
|
||||||
return request.delete({ url: '/system/sms-template/delete?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 发送短信
|
|
||||||
export const sendSmsApi = (data: SendSmsReqVO) => {
|
|
||||||
return request.post({ url: '/system/sms-template/send-sms', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 导出短信模板
|
|
||||||
export const exportPostApi = (params: SmsTemplateExportReqVO) => {
|
|
||||||
return request.download({
|
|
||||||
url: '/system/sms-template/export-excel',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
}
|
|
@ -1,62 +0,0 @@
|
|||||||
import request from '@/config/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 request.get({ url: '/system/tenant/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询租户详情
|
|
||||||
export const getTenantApi = (id: number) => {
|
|
||||||
return request.get({ url: '/system/tenant/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增租户
|
|
||||||
export const createTenantApi = (data: TenantVO) => {
|
|
||||||
return request.post({ url: '/system/tenant/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改租户
|
|
||||||
export const updateTenantApi = (data: TenantVO) => {
|
|
||||||
return request.put({ url: '/system/tenant/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除租户
|
|
||||||
export const deleteTenantApi = (id: number) => {
|
|
||||||
return request.delete({ url: '/system/tenant/delete?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 导出租户
|
|
||||||
export const exportTenantApi = (params: TenantExportReqVO) => {
|
|
||||||
return request.download({ url: '/system/tenant/export-excel', params })
|
|
||||||
}
|
|
@ -1,49 +0,0 @@
|
|||||||
import request from '@/config/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 request.get({ url: '/system/tenant-package/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得租户
|
|
||||||
export const getTenantPackageApi = (id: number) => {
|
|
||||||
return request.get({ url: '/system/tenant-package/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增租户套餐
|
|
||||||
export const createTenantPackageTypeApi = (data: TenantPackageVO) => {
|
|
||||||
return request.post({ url: '/system/tenant-package/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改租户套餐
|
|
||||||
export const updateTenantPackageTypeApi = (data: TenantPackageVO) => {
|
|
||||||
return request.put({ url: '/system/tenant-package/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除租户套餐
|
|
||||||
export const deleteTenantPackageTypeApi = (id: number) => {
|
|
||||||
return request.delete({ url: '/system/tenant-package/delete?id=' + id })
|
|
||||||
}
|
|
||||||
// 获取租户套餐精简信息列表
|
|
||||||
export const getTenantPackageList = () => {
|
|
||||||
return request.get({ url: '/system/tenant-package/get-simple-list' })
|
|
||||||
}
|
|
@ -1,91 +0,0 @@
|
|||||||
import request from '@/config/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 request.get({ url: '/system/user/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询用户详情
|
|
||||||
export const getUserApi = (id: number) => {
|
|
||||||
return request.get({ url: '/system/user/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增用户
|
|
||||||
export const createUserApi = (data: UserVO) => {
|
|
||||||
return request.post({ url: '/system/user/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改用户
|
|
||||||
export const updateUserApi = (data: UserVO) => {
|
|
||||||
return request.put({ url: '/system/user/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除用户
|
|
||||||
export const deleteUserApi = (id: number) => {
|
|
||||||
return request.delete({ url: '/system/user/delete?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 导出用户
|
|
||||||
export const exportUserApi = (params: UserExportReqVO) => {
|
|
||||||
return request.download({ url: '/system/user/export', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 下载用户导入模板
|
|
||||||
export const importUserTemplateApi = () => {
|
|
||||||
return request.download({ url: '/system/user/get-import-template' })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 用户密码重置
|
|
||||||
export const resetUserPwdApi = (id: number, password: string) => {
|
|
||||||
const data = {
|
|
||||||
id,
|
|
||||||
password
|
|
||||||
}
|
|
||||||
return request.put({ url: '/system/user/update-password', data: data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 用户状态修改
|
|
||||||
export const updateUserStatusApi = (id: number, status: number) => {
|
|
||||||
const data = {
|
|
||||||
id,
|
|
||||||
status
|
|
||||||
}
|
|
||||||
return request.put({ url: '/system/user/update-status', data: data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取用户精简信息列表
|
|
||||||
export const getListSimpleUsersApi = () => {
|
|
||||||
return request.get({ url: '/system/user/list-all-simple' })
|
|
||||||
}
|
|
@ -1,77 +0,0 @@
|
|||||||
import request from '@/config/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
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询用户个人信息
|
|
||||||
export const getUserProfileApi = () => {
|
|
||||||
return request.get({ url: '/system/user/profile/get' })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改用户个人信息
|
|
||||||
export const updateUserProfileApi = (data: UserProfileUpdateReqVO) => {
|
|
||||||
return request.put({ url: '/system/user/profile/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 用户密码重置
|
|
||||||
export const updateUserPwdApi = (oldPassword: string, newPassword: string) => {
|
|
||||||
return request.put({
|
|
||||||
url: '/system/user/profile/update-password',
|
|
||||||
data: {
|
|
||||||
oldPassword: oldPassword,
|
|
||||||
newPassword: newPassword
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 用户头像上传
|
|
||||||
export const uploadAvatarApi = (data) => {
|
|
||||||
return request.upload({ url: '/system/user/profile/update-avatar', data: data })
|
|
||||||
}
|
|
@ -1,31 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
// 社交绑定,使用 code 授权码
|
|
||||||
export const socialBind = (type, code, state) => {
|
|
||||||
return request.post({
|
|
||||||
url: '/system/social-user/bind',
|
|
||||||
data: {
|
|
||||||
type,
|
|
||||||
code,
|
|
||||||
state
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 取消社交绑定
|
|
||||||
export const socialUnbind = (type, openid) => {
|
|
||||||
return request.delete({
|
|
||||||
url: '/system/social-user/unbind',
|
|
||||||
data: {
|
|
||||||
type,
|
|
||||||
openid
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 社交授权的跳转
|
|
||||||
export const socialAuthRedirect = (type, redirectUri) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/system/auth/social-auth-redirect?type=' + type + '&redirectUri=' + redirectUri
|
|
||||||
})
|
|
||||||
}
|
|
Before Width: | Height: | Size: 6.2 KiB |
Before Width: | Height: | Size: 6.1 KiB |
Before Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 19 KiB |