From e01627d587f816880bfc5111fb8d045f9f04423c Mon Sep 17 00:00:00 2001 From: K <1175047471@qq.com> Date: Tue, 9 Jan 2024 16:45:02 +0800 Subject: [PATCH] chore: cleanup --- src/api/bpm/activity/index.ts | 5 - src/api/bpm/definition/index.ts | 13 -- src/api/bpm/form/index.ts | 41 ---- src/api/bpm/leave/index.ts | 27 --- src/api/bpm/model/index.ts | 62 ------ src/api/bpm/processInstance/index.ts | 21 -- src/api/bpm/task/index.ts | 39 ---- src/api/bpm/taskAssignRule/index.ts | 23 -- src/api/bpm/userGroup/index.ts | 41 ---- src/api/infra/apiAccessLog/index.ts | 50 ----- src/api/infra/apiErrorLog/index.ts | 69 ------ src/api/infra/codegen/index.ts | 57 ----- src/api/infra/codegen/types.ts | 61 ------ src/api/infra/config/index.ts | 62 ------ src/api/infra/dataSourceConfig/index.ts | 35 ---- src/api/infra/dbDoc/index.ts | 16 -- src/api/infra/file/index.ts | 28 --- src/api/infra/fileConfig/index.ts | 66 ------ src/api/infra/job/index.ts | 71 ------- src/api/infra/jobLog/index.ts | 46 ---- src/api/infra/redis/index.ts | 8 - src/api/infra/redis/types.ts | 185 ---------------- src/api/member/address/index.ts | 15 -- src/api/member/config/index.ts | 19 -- src/api/member/group/index.ts | 38 ---- src/api/member/level/index.ts | 42 ---- src/api/member/point/config/index.ts | 19 -- src/api/member/point/record/index.ts | 21 -- src/api/member/signin/config/index.ts | 34 --- src/api/member/signin/record/index.ts | 13 -- src/api/member/tag/index.ts | 36 ---- src/api/member/user/index.ts | 39 ---- src/api/mp/account/index.ts | 46 ---- src/api/mp/autoReply/index.ts | 26 --- src/api/mp/draft/index.ts | 26 --- src/api/mp/freePublish/index.ts | 16 -- src/api/mp/material/index.ts | 11 - src/api/mp/menu/index.ts | 22 -- src/api/mp/message/index.ts | 11 - src/api/mp/mpuser/index.ts | 21 -- src/api/mp/statistics/index.ts | 21 -- src/api/mp/tag/index.ts | 36 ---- src/api/pay/app/index.ts | 63 ------ src/api/pay/channel/index.ts | 69 ------ src/api/pay/demo/index.ts | 21 -- src/api/pay/notify/index.ts | 11 - src/api/pay/order/index.ts | 104 --------- src/api/pay/refund/index.ts | 116 ---------- src/assets/images/demo.png | Bin 33342 -> 0 bytes src/assets/images/pay/icon/alipay_app.svg | 1 - src/assets/images/pay/icon/alipay_bar.svg | 2 - src/assets/images/pay/icon/alipay_pc.svg | 1 - src/assets/images/pay/icon/alipay_qr.svg | 2 - src/assets/images/pay/icon/alipay_wap.svg | 1 - src/assets/images/pay/icon/mock.svg | 1 - src/assets/images/pay/icon/wx_app.svg | 2 - src/assets/images/pay/icon/wx_lite.svg | 1 - src/assets/images/pay/icon/wx_pub.svg | 2 - src/assets/svg/pay/icon/alipay_app.svg | 1 - src/assets/svg/pay/icon/alipay_bar.svg | 2 - src/assets/svg/pay/icon/alipay_pc.svg | 1 - src/assets/svg/pay/icon/alipay_qr.svg | 2 - src/assets/svg/pay/icon/alipay_wap.svg | 1 - src/assets/svg/pay/icon/mock.svg | 1 - src/assets/svg/pay/icon/wx_app.svg | 2 - src/assets/svg/pay/icon/wx_bar.svg | 1 - src/assets/svg/pay/icon/wx_lite.svg | 1 - src/assets/svg/pay/icon/wx_native.svg | 1 - src/assets/svg/pay/icon/wx_pub.svg | 2 - src/enums/systemEnum.ts | 245 ---------------------- 70 files changed, 2195 deletions(-) delete mode 100644 src/api/bpm/activity/index.ts delete mode 100644 src/api/bpm/definition/index.ts delete mode 100644 src/api/bpm/form/index.ts delete mode 100644 src/api/bpm/leave/index.ts delete mode 100644 src/api/bpm/model/index.ts delete mode 100644 src/api/bpm/processInstance/index.ts delete mode 100644 src/api/bpm/task/index.ts delete mode 100644 src/api/bpm/taskAssignRule/index.ts delete mode 100644 src/api/bpm/userGroup/index.ts delete mode 100644 src/api/infra/apiAccessLog/index.ts delete mode 100644 src/api/infra/apiErrorLog/index.ts delete mode 100644 src/api/infra/codegen/index.ts delete mode 100644 src/api/infra/codegen/types.ts delete mode 100644 src/api/infra/config/index.ts delete mode 100644 src/api/infra/dataSourceConfig/index.ts delete mode 100644 src/api/infra/dbDoc/index.ts delete mode 100644 src/api/infra/file/index.ts delete mode 100644 src/api/infra/fileConfig/index.ts delete mode 100644 src/api/infra/job/index.ts delete mode 100644 src/api/infra/jobLog/index.ts delete mode 100644 src/api/infra/redis/index.ts delete mode 100644 src/api/infra/redis/types.ts delete mode 100644 src/api/member/address/index.ts delete mode 100644 src/api/member/config/index.ts delete mode 100644 src/api/member/group/index.ts delete mode 100644 src/api/member/level/index.ts delete mode 100644 src/api/member/point/config/index.ts delete mode 100644 src/api/member/point/record/index.ts delete mode 100644 src/api/member/signin/config/index.ts delete mode 100644 src/api/member/signin/record/index.ts delete mode 100644 src/api/member/tag/index.ts delete mode 100644 src/api/member/user/index.ts delete mode 100644 src/api/mp/account/index.ts delete mode 100644 src/api/mp/autoReply/index.ts delete mode 100644 src/api/mp/draft/index.ts delete mode 100644 src/api/mp/freePublish/index.ts delete mode 100644 src/api/mp/material/index.ts delete mode 100644 src/api/mp/menu/index.ts delete mode 100644 src/api/mp/message/index.ts delete mode 100644 src/api/mp/mpuser/index.ts delete mode 100644 src/api/mp/statistics/index.ts delete mode 100644 src/api/mp/tag/index.ts delete mode 100644 src/api/pay/app/index.ts delete mode 100644 src/api/pay/channel/index.ts delete mode 100644 src/api/pay/demo/index.ts delete mode 100644 src/api/pay/notify/index.ts delete mode 100644 src/api/pay/order/index.ts delete mode 100644 src/api/pay/refund/index.ts delete mode 100644 src/assets/images/demo.png delete mode 100644 src/assets/images/pay/icon/alipay_app.svg delete mode 100644 src/assets/images/pay/icon/alipay_bar.svg delete mode 100644 src/assets/images/pay/icon/alipay_pc.svg delete mode 100644 src/assets/images/pay/icon/alipay_qr.svg delete mode 100644 src/assets/images/pay/icon/alipay_wap.svg delete mode 100644 src/assets/images/pay/icon/mock.svg delete mode 100644 src/assets/images/pay/icon/wx_app.svg delete mode 100644 src/assets/images/pay/icon/wx_lite.svg delete mode 100644 src/assets/images/pay/icon/wx_pub.svg delete mode 100644 src/assets/svg/pay/icon/alipay_app.svg delete mode 100644 src/assets/svg/pay/icon/alipay_bar.svg delete mode 100644 src/assets/svg/pay/icon/alipay_pc.svg delete mode 100644 src/assets/svg/pay/icon/alipay_qr.svg delete mode 100644 src/assets/svg/pay/icon/alipay_wap.svg delete mode 100644 src/assets/svg/pay/icon/mock.svg delete mode 100644 src/assets/svg/pay/icon/wx_app.svg delete mode 100644 src/assets/svg/pay/icon/wx_bar.svg delete mode 100644 src/assets/svg/pay/icon/wx_lite.svg delete mode 100644 src/assets/svg/pay/icon/wx_native.svg delete mode 100644 src/assets/svg/pay/icon/wx_pub.svg diff --git a/src/api/bpm/activity/index.ts b/src/api/bpm/activity/index.ts deleted file mode 100644 index 7af0c2e..0000000 --- a/src/api/bpm/activity/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -export function getActivityList(params) { - return defHttp.get({ url: '/bpm/activity/list', params }) -} diff --git a/src/api/bpm/definition/index.ts b/src/api/bpm/definition/index.ts deleted file mode 100644 index ec84edd..0000000 --- a/src/api/bpm/definition/index.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -export function getProcessDefinitionPage(params) { - return defHttp.get({ url: '/bpm/process-definition/page', params }) -} - -export function getProcessDefinitionList(params) { - return defHttp.get({ url: '/bpm/process-definition/list', params }) -} - -export function getProcessDefinitionBpmnXML(id) { - return defHttp.get({ url: `/bpm/process-definition/get-bpmn-xml?id=${id}` }) -} diff --git a/src/api/bpm/form/index.ts b/src/api/bpm/form/index.ts deleted file mode 100644 index 35bcfc4..0000000 --- a/src/api/bpm/form/index.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -export interface FormVO { - id: number - name: string - conf: string - fields: string[] - status: number - remark: string - createTime: string -} - -// 创建工作流的表单定义 -export function createForm(data: FormVO) { - return defHttp.post({ url: '/bpm/form/create', data }) -} - -// 更新工作流的表单定义 -export function updateForm(data: FormVO) { - return defHttp.put({ url: '/bpm/form/update', data }) -} - -// 删除工作流的表单定义 -export function deleteForm(id: number) { - return defHttp.delete({ url: `/bpm/form/delete?id=${id}` }) -} - -// 获得工作流的表单定义 -export function getForm(id: number) { - return defHttp.get({ url: `/bpm/form/get?id=${id}` }) -} - -// 获得工作流的表单定义分页 -export function getFormPage(params) { - return defHttp.get({ url: '/bpm/form/page', params }) -} - -// 获得动态表单的精简列表 -export function getSimpleForms() { - return defHttp.get({ url: '/bpm/form/list-all-simple' }) -} diff --git a/src/api/bpm/leave/index.ts b/src/api/bpm/leave/index.ts deleted file mode 100644 index 01d156e..0000000 --- a/src/api/bpm/leave/index.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -export interface LeaveVO { - id: number - result: number - type: number - reason: string - processInstanceId: string - startTime: string - endTime: string - createTime: string -} - -// 创建请假申请 -export function createLeave(data: LeaveVO) { - return defHttp.post({ url: '/bpm/oa/leave/create', data }) -} - -// 获得请假申请 -export function getLeave(id: number) { - return defHttp.get({ url: `/bpm/oa/leave/get?id=${id}` }) -} - -// 获得请假申请分页 -export function getLeavePage(params) { - return defHttp.get({ url: '/bpm/oa/leave/page', params }) -} diff --git a/src/api/bpm/model/index.ts b/src/api/bpm/model/index.ts deleted file mode 100644 index 483e9d8..0000000 --- a/src/api/bpm/model/index.ts +++ /dev/null @@ -1,62 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -export interface ProcessDefinitionVO { - id: string - version: number - deploymentTIme: string - suspensionState: number -} - -export interface 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 -} - -export function getModelPage(params) { - return defHttp.get({ url: '/bpm/model/page', params }) -} - -export function getModel(id: number) { - return defHttp.get({ url: `/bpm/model/get?id=${id}` }) -} - -export function updateModel(data: ModelVO) { - return defHttp.put({ url: '/bpm/model/update', data }) -} - -// 任务状态修改 -export function updateModelState(id: number, state: number) { - const data = { - id, - state, - } - return defHttp.put({ url: '/bpm/model/update-state', data }) -} - -export function createModel(data: ModelVO) { - return defHttp.post({ url: '/bpm/model/create', data }) -} - -export function deleteModel(id: number) { - return defHttp.delete({ url: `/bpm/model/delete?id=${id}` }) -} - -export function deployModel(id: number) { - return defHttp.post({ url: `/bpm/model/deploy?id=${id}` }) -} - -export function importModel(data) { - return defHttp.post({ url: '/bpm/model/import', data }) -} diff --git a/src/api/bpm/processInstance/index.ts b/src/api/bpm/processInstance/index.ts deleted file mode 100644 index 8f5866e..0000000 --- a/src/api/bpm/processInstance/index.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -export function getMyProcessInstancePage(params) { - return defHttp.get({ url: '/bpm/process-instance/my-page', params }) -} - -export function createProcessInstance(data) { - return defHttp.post({ url: '/bpm/process-instance/create', data }) -} - -export function cancelProcessInstance(id: number, reason: string) { - const data = { - id, - reason, - } - return defHttp.delete({ url: '/bpm/process-instance/cancel', data }) -} - -export function getProcessInstance(id: number) { - return defHttp.get({ url: `/bpm/process-instance/get?id=${id}` }) -} diff --git a/src/api/bpm/task/index.ts b/src/api/bpm/task/index.ts deleted file mode 100644 index f3721b8..0000000 --- a/src/api/bpm/task/index.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -export function getTodoTaskPage(params) { - return defHttp.get({ url: '/bpm/task/todo-page', params }) -} - -export function getDoneTaskPage(params) { - return defHttp.get({ url: '/bpm/task/done-page', params }) -} - -export function completeTask(data) { - return defHttp.put({ url: '/bpm/task/complete', data }) -} - -export function approveTask(data) { - return defHttp.put({ url: '/bpm/task/approve', data }) -} - -export function rejectTask(data) { - return defHttp.put({ url: '/bpm/task/reject', data }) -} -export function backTask(data) { - return defHttp.put({ url: '/bpm/task/back', data }) -} - -export function updateTaskAssignee(data) { - return defHttp.put({ url: '/bpm/task/update-assignee', data }) -} - -export function getTaskListByProcessInstanceId(processInstanceId) { - return defHttp.get({ - url: `/bpm/task/list-by-process-instance-id?processInstanceId=${processInstanceId}`, - }) -} - -// 导出任务 -export async function exportTask(params) { - return await defHttp.download({ url: '/bpm/task/export', params }) -} diff --git a/src/api/bpm/taskAssignRule/index.ts b/src/api/bpm/taskAssignRule/index.ts deleted file mode 100644 index 020122b..0000000 --- a/src/api/bpm/taskAssignRule/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -export interface TaskAssignVO { - id: number - modelId: string - processDefinitionId: string - taskDefinitionKey: string - taskDefinitionName: string - options: string[] - type: number -} - -export function getTaskAssignRuleList(params) { - return defHttp.get({ url: '/bpm/task-assign-rule/list', params }) -} - -export function createTaskAssignRule(data: TaskAssignVO) { - return defHttp.post({ url: '/bpm/task-assign-rule/create', data }) -} - -export function updateTaskAssignRule(data: TaskAssignVO) { - return defHttp.put({ url: '/bpm/task-assign-rule/update', data }) -} diff --git a/src/api/bpm/userGroup/index.ts b/src/api/bpm/userGroup/index.ts deleted file mode 100644 index c18501d..0000000 --- a/src/api/bpm/userGroup/index.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -export interface UserGroupVO { - id: number - name: string - description: string - memberUserIds: number[] - status: number - remark: string - createTime: string -} - -// 创建用户组 -export function createUserGroup(data: UserGroupVO) { - return defHttp.post({ url: '/bpm/user-group/create', data }) -} - -// 更新用户组 -export function updateUserGroup(data: UserGroupVO) { - return defHttp.put({ url: '/bpm/user-group/update', data }) -} - -// 删除用户组 -export function deleteUserGroup(id: number) { - return defHttp.delete({ url: `/bpm/user-group/delete?id=${id}` }) -} - -// 获得用户组 -export function getUserGroup(id: number) { - return defHttp.get({ url: `/bpm/user-group/get?id=${id}` }) -} - -// 获得用户组分页 -export function getUserGroupPage(params) { - return defHttp.get({ url: '/bpm/user-group/page', params }) -} - -// 获取用户组精简信息列表 -export function listSimpleUserGroups() { - return defHttp.get({ url: '/bpm/user-group/list-all-simple' }) -} diff --git a/src/api/infra/apiAccessLog/index.ts b/src/api/infra/apiAccessLog/index.ts deleted file mode 100644 index b76d00d..0000000 --- a/src/api/infra/apiAccessLog/index.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -export interface ApiAccessLogVO { - id: number - traceId: string - userId: number - userType: number - applicationName: string - requestMethod: string - requestParams: string - requestUrl: string - userIp: string - userAgent: string - beginTime: Date - endTIme: Date - duration: number - resultCode: number - resultMsg: string - createTime: Date -} - -export interface ApiAccessLogPageReqVO extends PageParam { - userId?: number - userType?: number - applicationName?: string - requestUrl?: string - beginTime?: Date[] - duration?: number - resultCode?: number -} - -export interface ApiAccessLogExportReqVO { - userId?: number - userType?: number - applicationName?: string - requestUrl?: string - beginTime?: Date[] - duration?: number - resultCode?: number -} - -// 查询列表API 访问日志 -export function getApiAccessLogPage(params: ApiAccessLogPageReqVO) { - return defHttp.get({ url: '/infra/api-access-log/page', params }) -} - -// 导出API 访问日志 -export function exportApiAccessLog(params: ApiAccessLogExportReqVO) { - return defHttp.download({ url: '/infra/api-access-log/export-excel', params }, '访问日志.xls') -} diff --git a/src/api/infra/apiErrorLog/index.ts b/src/api/infra/apiErrorLog/index.ts deleted file mode 100644 index 1368cc9..0000000 --- a/src/api/infra/apiErrorLog/index.ts +++ /dev/null @@ -1,69 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -export interface ApiErrorLogVO { - id: number - traceId: string - userId: number - userType: number - applicationName: string - requestMethod: string - requestParams: string - requestUrl: string - userIp: string - userAgent: string - exceptionTime: Date - exceptionName: string - exceptionMessage: string - exceptionRootCauseMessage: string - exceptionStackTrace: string - exceptionClassName: string - exceptionFileName: string - exceptionMethodName: string - exceptionLineNumber: number - processUserId: number - processStatus: number - processTime: Date - resultCode: number - createTime: Date -} - -export interface ApiErrorLogPageReqVO extends PageParam { - userId?: number - userType?: number - applicationName?: string - requestUrl?: string - exceptionTime?: Date[] - processStatus: number -} - -export interface ApiErrorLogExportReqVO { - userId?: number - userType?: number - applicationName?: string - requestUrl?: string - exceptionTime?: Date[] - processStatus: number -} - -// 查询列表API 访问日志 -export function getApiErrorLogPage(params: ApiErrorLogPageReqVO) { - return defHttp.get({ url: '/infra/api-error-log/page', params }) -} - -// 更新 API 错误日志的处理状态 -export function updateApiErrorLogProcess(id: number, processStatus: number) { - return defHttp.put({ - url: `/infra/api-error-log/update-status?id=${id}&processStatus=${processStatus}`, - }) -} - -// 导出API 错误日志 -export function exportApiErrorLog(params: ApiErrorLogExportReqVO) { - return defHttp.download( - { - url: '/infra/api-error-log/export-excel', - params, - }, - '错误日志.xls', - ) -} diff --git a/src/api/infra/codegen/index.ts b/src/api/infra/codegen/index.ts deleted file mode 100644 index d215fa9..0000000 --- a/src/api/infra/codegen/index.ts +++ /dev/null @@ -1,57 +0,0 @@ -import type { CodegenCreateListReqVO, CodegenUpdateReqVO } from './types' -import { defHttp } from '@/utils/http/axios' - -// 查询列表代码生成表定义 -export function getCodegenTablePage(params) { - return defHttp.get({ url: '/infra/codegen/table/page', params }) -} - -// 查询详情代码生成表定义 -export function getCodegenTable(id: number) { - return defHttp.get({ url: `/infra/codegen/detail?tableId=${id}` }) -} - -// 新增代码生成表定义 -export function createCodegenTable(data: CodegenCreateListReqVO) { - return defHttp.post({ url: '/infra/codegen/create', data }) -} - -// 修改代码生成表定义 -export function updateCodegenTable(data: CodegenUpdateReqVO) { - return defHttp.put({ url: '/infra/codegen/update', data }) -} - -// 基于数据库的表结构,同步数据库的表和字段定义 -export function syncCodegenFromDB(id: number) { - return defHttp.put({ url: `/infra/codegen/sync-from-db?tableId=${id}` }) -} - -// 基于 SQL 建表语句,同步数据库的表和字段定义 -export function syncCodegenFromSQL(id: number, sql: string) { - return defHttp.put({ url: `/infra/codegen/sync-from-sql?tableId=${id}&sql=${sql}` }) -} - -// 预览生成代码 -export function previewCodegen(id: number) { - return defHttp.get({ url: `/infra/codegen/preview?tableId=${id}` }) -} - -// 下载生成代码 -export function downloadCodegen(data) { - return defHttp.download({ url: `/infra/codegen/download?tableId=${data.id}` }, `${data.tableName}.zip`) -} - -// 获得表定义 -export function getSchemaTableList(params) { - return defHttp.get({ url: '/infra/codegen/db/table/list', params }) -} - -// 基于数据库的表结构,创建代码生成器的表定义 -export function createCodegenList(data) { - return defHttp.post({ url: '/infra/codegen/create-list', data }) -} - -// 删除代码生成表定义 -export function deleteCodegenTable(id: number) { - return defHttp.delete({ url: `/infra/codegen/delete?tableId=${id}` }) -} diff --git a/src/api/infra/codegen/types.ts b/src/api/infra/codegen/types.ts deleted file mode 100644 index 741d0f6..0000000 --- a/src/api/infra/codegen/types.ts +++ /dev/null @@ -1,61 +0,0 @@ -export interface 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 interface 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 interface DatabaseTableVO { - name: string - comment: string -} -export interface CodegenDetailVO { - table: CodegenTableVO - columns: CodegenColumnVO[] -} -export interface CodegenPreviewVO { - filePath: string - code: string -} -export interface CodegenUpdateReqVO { - table: CodegenTableVO - columns: CodegenColumnVO[] -} -export interface CodegenCreateListReqVO { - dataSourceConfigId: number - tableNames: string[] -} diff --git a/src/api/infra/config/index.ts b/src/api/infra/config/index.ts deleted file mode 100644 index a121586..0000000 --- a/src/api/infra/config/index.ts +++ /dev/null @@ -1,62 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -export interface ConfigVO { - id: number - category: string - name: string - key: string - value: string - type: number - visible: boolean - remark: string - createTime: Date -} - -export interface ConfigPageReqVO extends PageParam { - name?: string - key?: string - type?: number - createTime?: Date[] -} - -export interface ConfigExportReqVO { - name?: string - key?: string - type?: number - createTime?: Date[] -} - -// 查询参数列表 -export function getConfigPage(params: ConfigPageReqVO) { - return defHttp.get({ url: '/infra/config/page', params }) -} - -// 查询参数详情 -export function getConfig(id: number) { - return defHttp.get({ url: `/infra/config/get?id=${id}` }) -} - -// 根据参数键名查询参数值 -export function getConfigKey(configKey: string) { - return defHttp.get({ url: `/infra/config/get-value-by-key?key=${configKey}` }) -} - -// 新增参数 -export function createConfig(data: ConfigVO) { - return defHttp.post({ url: '/infra/config/create', data }) -} - -// 修改参数 -export function updateConfig(data: ConfigVO) { - return defHttp.put({ url: '/infra/config/update', data }) -} - -// 删除参数 -export function deleteConfig(id: number) { - return defHttp.delete({ url: `/infra/config/delete?id=${id}` }) -} - -// 导出参数 -export function exportConfig(params: ConfigExportReqVO) { - return defHttp.download({ url: '/infra/config/export', params }, '参数.xls') -} diff --git a/src/api/infra/dataSourceConfig/index.ts b/src/api/infra/dataSourceConfig/index.ts deleted file mode 100644 index b2e81a7..0000000 --- a/src/api/infra/dataSourceConfig/index.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -export interface DataSourceConfigVO { - id: number - name: string - url: string - username: string - password: string - createTime: Date -} - -// 查询数据源配置列表 -export function getDataSourceConfigList() { - return defHttp.get({ url: '/infra/data-source-config/list' }) -} - -// 查询数据源配置详情 -export function getDataSourceConfig(id: number) { - return defHttp.get({ url: `/infra/data-source-config/get?id=${id}` }) -} - -// 新增数据源配置 -export function createDataSourceConfig(data: DataSourceConfigVO) { - return defHttp.post({ url: '/infra/data-source-config/create', data }) -} - -// 修改数据源配置 -export function updateDataSourceConfig(data: DataSourceConfigVO) { - return defHttp.put({ url: '/infra/data-source-config/update', data }) -} - -// 删除数据源配置 -export function deleteDataSourceConfig(id: number) { - return defHttp.delete({ url: `/infra/data-source-config/delete?id=${id}` }) -} diff --git a/src/api/infra/dbDoc/index.ts b/src/api/infra/dbDoc/index.ts deleted file mode 100644 index 39d3617..0000000 --- a/src/api/infra/dbDoc/index.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -// 导出Html -export function exportHtml() { - return defHttp.get({ url: '/infra/db-doc/export-html', responseType: 'blob' }) -} - -// 导出Word -export function exportWord() { - return defHttp.get({ url: '/infra/db-doc/export-word', responseType: 'blob' }) -} - -// 导出Markdown -export function exportMarkdown() { - return defHttp.get({ url: '/infra/db-doc/export-markdown', responseType: 'blob' }) -} diff --git a/src/api/infra/file/index.ts b/src/api/infra/file/index.ts deleted file mode 100644 index fc071a6..0000000 --- a/src/api/infra/file/index.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -export interface FileVO { - id: number - configId: number - path: string - name: string - url: string - size: string - type: string - createTime: Date -} - -export interface FilePageReqVO extends PageParam { - path?: string - type?: string - createTime?: Date[] -} - -// 查询文件列表 -export function getFilePage(params: FilePageReqVO) { - return defHttp.get({ url: '/infra/file/page', params }) -} - -// 删除文件 -export function deleteFile(id: number) { - return defHttp.delete({ url: `/infra/file/delete?id=${id}` }) -} diff --git a/src/api/infra/fileConfig/index.ts b/src/api/infra/fileConfig/index.ts deleted file mode 100644 index 524aead..0000000 --- a/src/api/infra/fileConfig/index.ts +++ /dev/null @@ -1,66 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -export interface FileClientConfig { - basePath: string - host?: string - port?: number - username?: string - password?: string - mode?: string - endpoint?: string - bucket?: string - accessKey?: string - accessSecret?: string - domain: string -} -export interface FileConfigVO { - id: number - name: string - storage: number - master: boolean - visible: boolean - config: FileClientConfig - remark: string - createTime: Date -} - -export interface FileConfigPageReqVO extends PageParam { - name?: string - storage?: number - createTime?: Date[] -} - -// 查询文件配置列表 -export function getFileConfigPage(params: FileConfigPageReqVO) { - return defHttp.get({ url: '/infra/file-config/page', params }) -} - -// 查询文件配置详情 -export function getFileConfig(id: number) { - return defHttp.get({ url: `/infra/file-config/get?id=${id}` }) -} - -// 更新文件配置为主配置 -export function updateFileConfigMaster(id: number) { - return defHttp.put({ url: `/infra/file-config/update-master?id=${id}` }) -} - -// 新增文件配置 -export function createFileConfig(data) { - return defHttp.post({ url: '/infra/file-config/create', data }) -} - -// 修改文件配置 -export function updateFileConfig(data) { - return defHttp.put({ url: '/infra/file-config/update', data }) -} - -// 删除文件配置 -export function deleteFileConfig(id: number) { - return defHttp.delete({ url: `/infra/file-config/delete?id=${id}` }) -} - -// 测试文件配置 -export function testFileConfig(id: number) { - return defHttp.get({ url: `/infra/file-config/test?id=${id}` }) -} diff --git a/src/api/infra/job/index.ts b/src/api/infra/job/index.ts deleted file mode 100644 index 6c7ed9e..0000000 --- a/src/api/infra/job/index.ts +++ /dev/null @@ -1,71 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -export interface JobVO { - id: number - name: string - status: number - handlerName: string - handlerParam: string - cronExpression: string - retryCount: number - retryInterval: number - monitorTimeout: number - createTime: Date -} - -export interface JobPageReqVO extends PageParam { - name?: string - status?: number - handlerName?: string -} - -export interface JobExportReqVO { - name?: string - status?: number - handlerName?: string -} - -// 任务列表 -export function getJobPage(params: JobPageReqVO) { - return defHttp.get({ url: '/infra/job/page', params }) -} - -// 任务详情 -export function getJob(id: number) { - return defHttp.get({ url: `/infra/job/get?id=${id}` }) -} - -// 新增任务 -export function createJob(data: JobVO) { - return defHttp.post({ url: '/infra/job/create', data }) -} - -// 修改定时任务调度 -export function updateJob(data: JobVO) { - return defHttp.put({ url: '/infra/job/update', data }) -} - -// 删除定时任务调度 -export function deleteJob(id: number) { - return defHttp.delete({ url: `/infra/job/delete?id=${id}` }) -} - -// 导出定时任务调度 -export function exportJob(params: JobExportReqVO) { - return defHttp.download({ url: '/infra/job/export-excel', params }, '定时任务.xls') -} - -// 任务状态修改 -export function updateJobStatus(id: number, status: number) { - return defHttp.put({ url: `/infra/job/update-status?id=${id}&status=${status}` }) -} - -// 定时任务立即执行一次 -export function runJob(id: number) { - return defHttp.put({ url: `/infra/job/trigger?id=${id}` }) -} - -// 获得定时任务的下 n 次执行时间 -export function getJobNextTimes(id: number) { - return defHttp.get({ url: `/infra/job/get_next_times?id=${id}` }) -} diff --git a/src/api/infra/jobLog/index.ts b/src/api/infra/jobLog/index.ts deleted file mode 100644 index cdb8ca6..0000000 --- a/src/api/infra/jobLog/index.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -export interface JobLogVO { - id: number - jobId: number - handlerName: string - handlerParam: string - cronExpression: string - executeIndex: string - beginTime: string - endTime: string - duration: string - status: number - createTime: string -} - -export interface JobLogPageReqVO extends PageParam { - jobId?: number - handlerName?: string - beginTime?: string - endTime?: string - status?: number -} - -export interface JobLogExportReqVO { - jobId?: number - handlerName?: string - beginTime?: string - endTime?: string - status?: number -} - -// 任务日志列表 -export function getJobLogPage(params: JobLogPageReqVO) { - return defHttp.get({ url: '/infra/job-log/page', params }) -} - -// 任务日志详情 -export function getJobLog(id: number) { - return defHttp.get({ url: `/infra/job-log/get?id=${id}` }) -} - -// 导出定时任务日志 -export function exportJobLog(params: JobLogExportReqVO) { - return defHttp.download({ url: '/infra/job-log/export-excel', params }, '定时任务日志.xls') -} diff --git a/src/api/infra/redis/index.ts b/src/api/infra/redis/index.ts deleted file mode 100644 index bc9a8f4..0000000 --- a/src/api/infra/redis/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -/** - * 获取redis 监控信息 - */ -export function getCache() { - return defHttp.get({ url: '/infra/redis/get-monitor-info' }) -} diff --git a/src/api/infra/redis/types.ts b/src/api/infra/redis/types.ts deleted file mode 100644 index 2342e54..0000000 --- a/src/api/infra/redis/types.ts +++ /dev/null @@ -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 -} diff --git a/src/api/member/address/index.ts b/src/api/member/address/index.ts deleted file mode 100644 index 1d8fb25..0000000 --- a/src/api/member/address/index.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -export interface AddressVO { - id: number - name: string - mobile: string - areaId: number - detailAddress: string - defaultStatus: boolean -} - -// 查询用户收件地址列表 -export function getAddressList(params) { - return defHttp.get({ url: '/member/address/list', params }) -} diff --git a/src/api/member/config/index.ts b/src/api/member/config/index.ts deleted file mode 100644 index 75b590e..0000000 --- a/src/api/member/config/index.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -export interface ConfigVO { - id: number - pointTradeDeductEnable: number - pointTradeDeductUnitPrice: number - pointTradeDeductMaxPrice: number - pointTradeGivePoint: number -} - -// 查询积分设置详情 -export async function getConfig() { - return await defHttp.get({ url: '/member/config/get' }) -} - -// 新增修改积分设置 -export async function saveConfig(data: ConfigVO) { - return await defHttp.put({ url: '/member/config/save', data }) -} diff --git a/src/api/member/group/index.ts b/src/api/member/group/index.ts deleted file mode 100644 index 1787fed..0000000 --- a/src/api/member/group/index.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -export interface GroupVO { - id: number - name: string - remark: string - status: number -} - -// 查询用户分组列表 -export function getGroupPage(params: any) { - return defHttp.get({ url: '/member/group/page', params }) -} - -// 查询用户分组详情 -export function getGroup(id: number) { - return defHttp.get({ url: `/member/group/get?id=${id}` }) -} - -// 新增用户分组 -export function createGroup(data: GroupVO) { - return defHttp.post({ url: '/member/group/create', data }) -} - -// 查询用户分组 - 精简信息列表 -export function getSimpleGroupList() { - return defHttp.get({ url: '/member/group/list-all-simple' }) -} - -// 修改用户分组 -export function updateGroup(data: GroupVO) { - return defHttp.put({ url: '/member/group/update', data }) -} - -// 删除用户分组 -export function deleteGroup(id: number) { - return defHttp.delete({ url: `/member/group/delete?id=${id}` }) -} diff --git a/src/api/member/level/index.ts b/src/api/member/level/index.ts deleted file mode 100644 index d192124..0000000 --- a/src/api/member/level/index.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -export interface LevelVO { - id: number - name: string - experience: number - value: number - discountPercent: number - icon: string - bgUrl: string - status: number -} - -// 查询会员等级列表 -export function getLevelList(params) { - return defHttp.get({ url: '/member/level/list', params }) -} - -// 查询会员等级详情 -export function getLevel(id: number) { - return defHttp.get({ url: `/member/level/get?id=${id}` }) -} - -// 查询会员等级 - 精简信息列表 -export function getSimpleLevelList() { - return defHttp.get({ url: '/member/level/list-all-simple' }) -} - -// 新增会员等级 -export function createLevel(data: LevelVO) { - return defHttp.post({ url: '/member/level/create', data }) -} - -// 修改会员等级 -export function updateLevel(data: LevelVO) { - return defHttp.put({ url: '/member/level/update', data }) -} - -// 删除会员等级 -export function deleteLevel(id: number) { - return defHttp.delete({ url: `/member/level/delete?id=${id}` }) -} diff --git a/src/api/member/point/config/index.ts b/src/api/member/point/config/index.ts deleted file mode 100644 index d6abc99..0000000 --- a/src/api/member/point/config/index.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -export interface ConfigVO { - id: number - tradeDeductEnable: number - tradeDeductUnitPrice: number - tradeDeductMaxPrice: number - tradeGivePoint: number -} - -// 查询积分设置详情 -export function getConfig() { - return defHttp.get({ url: '/member/point/config/get' }) -} - -// 新增修改积分设置 -export function saveConfig(data: ConfigVO) { - return defHttp.put({ url: '/member/point/config/save', data }) -} diff --git a/src/api/member/point/record/index.ts b/src/api/member/point/record/index.ts deleted file mode 100644 index e209e11..0000000 --- a/src/api/member/point/record/index.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -export interface RecordVO { - id: number - bizId: string - bizType: string - title: string - description: string - point: number - totalPoint: number - status: number - userId: number - freezingTime: Date - thawingTime: Date - createDate: Date -} - -// 查询用户积分记录列表 -export function getRecordPage(params) { - return defHttp.get({ url: '/member/point/record/page', params }) -} diff --git a/src/api/member/signin/config/index.ts b/src/api/member/signin/config/index.ts deleted file mode 100644 index b663570..0000000 --- a/src/api/member/signin/config/index.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -export interface SignInConfigVO { - id?: number - day?: number - point?: number - experience?: number - status?: number -} - -// 查询积分签到规则列表 -export function getSignInConfigList() { - return defHttp.get({ url: '/member/sign-in/config/list' }) -} - -// 查询积分签到规则详情 -export function getSignInConfig(id: number) { - return defHttp.get({ url: `/member/sign-in/config/get?id=${id}` }) -} - -// 新增积分签到规则 -export function createSignInConfig(data: SignInConfigVO) { - return defHttp.post({ url: '/member/sign-in/config/create', data }) -} - -// 修改积分签到规则 -export function updateSignInConfig(data: SignInConfigVO) { - return defHttp.put({ url: '/member/sign-in/config/update', data }) -} - -// 删除积分签到规则 -export function deleteSignInConfig(id: number) { - return defHttp.delete({ url: `/member/sign-in/config/delete?id=${id}` }) -} diff --git a/src/api/member/signin/record/index.ts b/src/api/member/signin/record/index.ts deleted file mode 100644 index 8c80cc8..0000000 --- a/src/api/member/signin/record/index.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -export interface SignInRecordVO { - id: number - userId: number - day: number - point: number -} - -// 查询用户签到积分列表 -export function getSignInRecordPage(params) { - return defHttp.get({ url: '/member/sign-in/record/page', params }) -} diff --git a/src/api/member/tag/index.ts b/src/api/member/tag/index.ts deleted file mode 100644 index b37914a..0000000 --- a/src/api/member/tag/index.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -export interface TagVO { - id: number - name: string -} - -// 查询会员标签列表 -export function getMemberTagPage(params) { - return defHttp.get({ url: '/member/tag/page', params }) -} - -// 查询会员标签详情 -export function getMemberTag(id: number) { - return defHttp.get({ url: `/member/tag/get?id=${id}` }) -} - -// 查询会员标签 - 精简信息列表 -export function getSimpleTagList() { - return defHttp.get({ url: '/member/tag/list-all-simple' }) -} - -// 新增会员标签 -export function createMemberTag(data: TagVO) { - return defHttp.post({ url: '/member/tag/create', data }) -} - -// 修改会员标签 -export function updateMemberTag(data: TagVO) { - return defHttp.put({ url: '/member/tag/update', data }) -} - -// 删除会员标签 -export function deleteMemberTag(id: number) { - return defHttp.delete({ url: `/member/tag/delete?id=${id}` }) -} diff --git a/src/api/member/user/index.ts b/src/api/member/user/index.ts deleted file mode 100644 index 3a4a13e..0000000 --- a/src/api/member/user/index.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -export interface UserVO { - id: number - mobile: string - password: string - status: number - registerIp: string - loginIp: string - loginDate: Date - nickname: string - avatar: string - name: string - sex: number - areaId: number - birthday: Date - mark: string - createTime: Date -} - -// 查询会员用户列表 -export function getUserPage(params) { - return defHttp.get({ url: '/member/user/page', params }) -} - -// 查询会员用户详情 -export function getUser(id: number) { - return defHttp.get({ url: `/member/user/get?id=${id}` }) -} - -// 修改会员用户 -export function updateUser(data: UserVO) { - return defHttp.put({ url: '/member/user/update', data }) -} - -// 修改会员用户等级 -export function updateUserLevel(data: any) { - return defHttp.put({ url: '/member/user/update-level', data }) -} diff --git a/src/api/mp/account/index.ts b/src/api/mp/account/index.ts deleted file mode 100644 index 631f182..0000000 --- a/src/api/mp/account/index.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -export interface AccountVO { - id?: number - name: string -} - -// 创建公众号账号 -export function createAccount(data) { - return defHttp.post({ url: '/mp/account/create', data }) -} - -// 更新公众号账号 -export function updateAccount(data) { - return defHttp.put({ url: '/mp/account/update', data }) -} - -// 删除公众号账号 -export function deleteAccount(id) { - return defHttp.delete({ url: `/mp/account/delete?id=${id}`, method: 'delete' }) -} - -// 获得公众号账号 -export function getAccount(id) { - return defHttp.get({ url: `/mp/account/get?id=${id}` }) -} - -// 获得公众号账号分页 -export function getAccountPage(params) { - return defHttp.get({ url: '/mp/account/page', params }) -} - -// 获取公众号账号精简信息列表 -export function getSimpleAccounts() { - return defHttp.get({ url: '/mp/account/list-all-simple' }) -} - -// 生成公众号二维码 -export function generateAccountQrCode(id) { - return defHttp.put({ url: `/mp/account/generate-qr-code?id=${id}` }) -} - -// 清空公众号 API 配额 -export function clearAccountQuota(id) { - return defHttp.put({ url: `/mp/account/clear-quota?id=${id}` }) -} diff --git a/src/api/mp/autoReply/index.ts b/src/api/mp/autoReply/index.ts deleted file mode 100644 index 01b29f6..0000000 --- a/src/api/mp/autoReply/index.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -// 创建公众号的自动回复 -export function createAutoReply(data) { - return defHttp.post({ url: '/mp/auto-reply/create', data }) -} - -// 更新公众号的自动回复 -export function updateAutoReply(data) { - return defHttp.put({ url: '/mp/auto-reply/update', data }) -} - -// 删除公众号的自动回复 -export function deleteAutoReply(id) { - return defHttp.delete({ url: `/mp/auto-reply/delete?id=${id}` }) -} - -// 获得公众号的自动回复 -export function getAutoReply(id) { - return defHttp.get({ url: `/mp/auto-reply/get?id=${id}` }) -} - -// 获得公众号的自动回复分页 -export function getAutoReplyPage(params) { - return defHttp.get({ url: '/mp/auto-reply/page', params }) -} diff --git a/src/api/mp/draft/index.ts b/src/api/mp/draft/index.ts deleted file mode 100644 index dc68700..0000000 --- a/src/api/mp/draft/index.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -// 获得公众号草稿分页 -export function getDraftPage(params) { - return defHttp.get({ url: '/mp/draft/page', params }) -} - -// 创建公众号草稿 -export function createDraft(accountId, articles) { - return defHttp.post({ - url: `/mp/draft/create?accountId=${accountId}`, - data: { - articles, - }, - }) -} - -// 更新公众号草稿 -export function updateDraft(accountId, mediaId, articles) { - return defHttp.put({ url: `/mp/draft/update?accountId=${accountId}&mediaId=${mediaId}`, data: articles }) -} - -// 删除公众号草稿 -export function deleteDraft(accountId, mediaId) { - return defHttp.delete({ url: `/mp/draft/delete?accountId=${accountId}&mediaId=${mediaId}` }) -} diff --git a/src/api/mp/freePublish/index.ts b/src/api/mp/freePublish/index.ts deleted file mode 100644 index 7d30314..0000000 --- a/src/api/mp/freePublish/index.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -// 获得公众号素材分页 -export function getFreePublishPage(params) { - return defHttp.get({ url: '/mp/free-publish/page', params }) -} - -// 删除公众号素材 -export function deleteFreePublish(accountId, articleId) { - return defHttp.delete({ url: `/mp/free-publish/delete?accountId=${accountId}&&articleId=${articleId}` }) -} - -// 发布公众号素材 -export function submitFreePublish(accountId, mediaId) { - return defHttp.post({ url: `/mp/free-publish/submit?accountId=${accountId}&&mediaId=${mediaId}` }) -} diff --git a/src/api/mp/material/index.ts b/src/api/mp/material/index.ts deleted file mode 100644 index 28250fe..0000000 --- a/src/api/mp/material/index.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -// 获得公众号素材分页 -export function getMaterialPage(params) { - return defHttp.get({ url: '/mp/material/page', params }) -} - -// 删除公众号永久素材 -export function deletePermanentMaterial(id) { - return defHttp.delete({ url: `/mp/material/delete-permanent?id=${id}` }) -} diff --git a/src/api/mp/menu/index.ts b/src/api/mp/menu/index.ts deleted file mode 100644 index f8efa21..0000000 --- a/src/api/mp/menu/index.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -// 获得公众号菜单列表 -export function getMenuList(accountId) { - return defHttp.get({ url: `/mp/menu/list?accountId=${accountId}` }) -} - -// 保存公众号菜单 -export function saveMenu(accountId, menus) { - return defHttp.post({ - url: '/mp/menu/save', - data: { - accountId, - menus, - }, - }) -} - -// 删除公众号菜单 -export function deleteMenu(accountId) { - return defHttp.delete({ url: `/mp/menu/delete?accountId=${accountId}` }) -} diff --git a/src/api/mp/message/index.ts b/src/api/mp/message/index.ts deleted file mode 100644 index aa4689a..0000000 --- a/src/api/mp/message/index.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -// 获得公众号消息分页 -export function getMessagePage(params) { - return defHttp.get({ url: '/mp/message/page', params }) -} - -// 给粉丝发送消息 -export function sendMessage(data) { - return defHttp.post({ url: '/mp/message/send', data }) -} diff --git a/src/api/mp/mpuser/index.ts b/src/api/mp/mpuser/index.ts deleted file mode 100644 index fff41af..0000000 --- a/src/api/mp/mpuser/index.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -// 更新公众号粉丝 -export function updateUser(data) { - return defHttp.put({ url: '/mp/user/update', data }) -} - -// 获得公众号粉丝 -export function getUser(id) { - return defHttp.get({ url: `/mp/user/get?id=${id}` }) -} - -// 获得公众号粉丝分页 -export function getUserPage(params) { - return defHttp.get({ url: '/mp/user/page', params }) -} - -// 同步公众号粉丝 -export function syncUser(accountId) { - return defHttp.post({ url: `/mp/user/sync?accountId=${accountId}` }) -} diff --git a/src/api/mp/statistics/index.ts b/src/api/mp/statistics/index.ts deleted file mode 100644 index 00aeff9..0000000 --- a/src/api/mp/statistics/index.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -// 获取消息发送概况数据 -export function getUpstreamMessage(params) { - return defHttp.get({ url: '/mp/statistics/upstream-message', params }) -} - -// 用户增减数据 -export function getUserSummary(params) { - return defHttp.get({ url: '/mp/statistics/user-summary', params }) -} - -// 获得用户累计数据 -export function getUserCumulate(params) { - return defHttp.get({ url: '/mp/statistics/user-cumulate', params }) -} - -// 获得接口分析数据 -export function getInterfaceSummary(params) { - return defHttp.get({ url: '/mp/statistics/interface-summary', params }) -} diff --git a/src/api/mp/tag/index.ts b/src/api/mp/tag/index.ts deleted file mode 100644 index 4b8d4a1..0000000 --- a/src/api/mp/tag/index.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -// 创建公众号标签 -export function createTag(data) { - return defHttp.post({ url: '/mp/tag/create', data }) -} - -// 更新公众号标签 -export function updateTag(data) { - return defHttp.put({ url: '/mp/tag/update', data }) -} - -// 删除公众号标签 -export function deleteTag(id) { - return defHttp.delete({ url: `/mp/tag/delete?id=${id}` }) -} - -// 获得公众号标签 -export function getTag(id) { - return defHttp.get({ url: `/mp/tag/get?id=${id}` }) -} - -// 获得公众号标签分页 -export function getTagPage(params) { - return defHttp.get({ url: '/mp/tag/page', params }) -} - -// 获取公众号标签精简信息列表 -export function getSimpleTags() { - return defHttp.get({ url: '/mp/tag/list-all-simple' }) -} - -// 同步公众号标签 -export function syncTag(accountId) { - return defHttp.post({ url: `/mp/tag/sync?accountId=${accountId}` }) -} diff --git a/src/api/pay/app/index.ts b/src/api/pay/app/index.ts deleted file mode 100644 index b68395e..0000000 --- a/src/api/pay/app/index.ts +++ /dev/null @@ -1,63 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -export interface AppVO { - id: number - name: string - status: number - remark: string - payNotifyUrl: string - refundNotifyUrl: string - merchantId: number - merchantName: string - createTime: Date -} - -export interface AppPageReqVO extends PageParam { - name?: string - status?: number - remark?: string - payNotifyUrl?: string - refundNotifyUrl?: string - merchantName?: string - createTime?: Date[] -} - -export interface AppUpdateStatusReqVO { - id: number - status: number -} - -// 查询列表支付应用 -export function getAppPage(params: AppPageReqVO) { - return defHttp.get({ url: '/pay/app/page', params }) -} - -// 查询详情支付应用 -export function getApp(id: number) { - return defHttp.get({ url: `/pay/app/get?id=${id}` }) -} - -// 新增支付应用 -export function createApp(data: AppVO) { - return defHttp.post({ url: '/pay/app/create', data }) -} - -// 修改支付应用 -export function updateApp(data: AppVO) { - return defHttp.put({ url: '/pay/app/update', data }) -} - -// 支付应用信息状态修改 -export function changeAppStatus(data: AppUpdateStatusReqVO) { - return defHttp.put({ url: '/pay/app/update-status', data }) -} - -// 删除支付应用 -export function deleteApp(id: number) { - return defHttp.delete({ url: `/pay/app/delete?id=${id}` }) -} - -// 获得支付应用列表 -export function getAppList() { - return defHttp.get({ url: '/pay/app/list' }) -} diff --git a/src/api/pay/channel/index.ts b/src/api/pay/channel/index.ts deleted file mode 100644 index 9a1f079..0000000 --- a/src/api/pay/channel/index.ts +++ /dev/null @@ -1,69 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -export interface ChannelVO { - id: number - code: string - config: string - status: number - remark: string - feeRate: number - merchantId: number - appId: number - createTime: Date -} - -export interface ChannelPageReqVO extends PageParam { - code?: string - status?: number - remark?: string - feeRate?: number - merchantId?: number - appId?: number - config?: string - createTime?: Date[] -} - -export interface ChannelExportReqVO { - code?: string - status?: number - remark?: string - feeRate?: number - merchantId?: number - appId?: number - config?: string - createTime?: Date[] -} - -// 查询列表支付渠道 -export function getChannelPage(params: PageParam) { - return defHttp.get({ url: '/pay/channel/page', params }) -} - -// 查询详情支付渠道 -export function getChannel(appId: string, code: string) { - const params = { - appId, - code, - } - return defHttp.get({ url: '/pay/channel/get', params }) -} - -// 新增支付渠道 -export function createChannel(data: ChannelVO) { - return defHttp.post({ url: '/pay/channel/create', data }) -} - -// 修改支付渠道 -export function updateChannel(data: ChannelVO) { - return defHttp.put({ url: '/pay/channel/update', data }) -} - -// 删除支付渠道 -export function deleteChannel(id: number) { - return defHttp.delete({ url: `/pay/channel/delete?id=${id}` }) -} - -// 导出支付渠道 -export function exportChannel(params) { - return defHttp.download({ url: '/pay/channel/export-excel', params }, '支付渠道.xls') -} diff --git a/src/api/pay/demo/index.ts b/src/api/pay/demo/index.ts deleted file mode 100644 index f61c75f..0000000 --- a/src/api/pay/demo/index.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -// 获得示例订单分页 -export function getDemoOrderPage(params) { - return defHttp.get({ url: '/pay/demo-order/page', params }) -} - -// 获得示例订单 -export function getDemoOrder(id: number) { - return defHttp.get({ url: `/pay/demo-order/get?id=${id}` }) -} - -// 创建示例订单 -export function createDemoOrder(data) { - return defHttp.post({ url: '/pay/demo-order/create', data }) -} - -// 退款示例订单 -export function refundDemoOrder(id: number) { - return defHttp.put({ url: `/pay/demo-order/refund?id=${id}` }) -} diff --git a/src/api/pay/notify/index.ts b/src/api/pay/notify/index.ts deleted file mode 100644 index 96f911f..0000000 --- a/src/api/pay/notify/index.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -// 获得支付通知明细 -export function getNotifyTaskDetail(id) { - return defHttp.get({ url: `/pay/notify/get-detail?id=${id}` }) -} - -// 获得支付通知分页 -export function getNotifyTaskPage(params) { - return defHttp.get({ url: '/pay/notify/page', params }) -} diff --git a/src/api/pay/order/index.ts b/src/api/pay/order/index.ts deleted file mode 100644 index ea6a969..0000000 --- a/src/api/pay/order/index.ts +++ /dev/null @@ -1,104 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -export interface OrderVO { - id: number - merchantId: number - appId: number - channelId: number - channelCode: string - merchantOrderId: string - subject: string - body: string - notifyUrl: string - notifyStatus: number - amount: number - channelFeeRate: number - channelFeeAmount: number - status: number - userIp: string - expireTime: Date - successTime: Date - notifyTime: Date - successExtensionId: number - refundStatus: number - refundTimes: number - refundAmount: number - channelUserId: string - channelOrderNo: string - createTime: Date -} - -export interface OrderPageReqVO extends PageParam { - merchantId?: number - appId?: number - channelId?: number - channelCode?: string - merchantOrderId?: string - subject?: string - body?: string - notifyUrl?: string - notifyStatus?: number - amount?: number - channelFeeRate?: number - channelFeeAmount?: number - status?: number - expireTime?: Date[] - successTime?: Date[] - notifyTime?: Date[] - successExtensionId?: number - refundStatus?: number - refundTimes?: number - channelUserId?: string - channelOrderNo?: string - createTime?: Date[] -} - -export interface OrderExportReqVO { - merchantId?: number - appId?: number - channelId?: number - channelCode?: string - merchantOrderId?: string - subject?: string - body?: string - notifyUrl?: string - notifyStatus?: number - amount?: number - channelFeeRate?: number - channelFeeAmount?: number - status?: number - expireTime?: Date[] - successTime?: Date[] - notifyTime?: Date[] - successExtensionId?: number - refundStatus?: number - refundTimes?: number - channelUserId?: string - channelOrderNo?: string - createTime?: Date[] -} - -// 查询列表支付订单 -export function getOrderPage(params: OrderPageReqVO) { - return defHttp.get({ url: '/pay/order/page', params }) -} - -// 查询详情支付订单 -export function getOrder(id: number) { - return defHttp.get({ url: `/pay/order/get?id=${id}` }) -} - -// 获得支付订单的明细 -export function getOrderDetail(id: number) { - return defHttp.get({ url: `/pay/order/get-detail?id=${id}` }) -} - -// 提交支付订单 -export function submitOrder(data: any) { - return defHttp.post({ url: '/pay/order/submit', data }) -} - -// 导出支付订单 -export function exportOrder(params: OrderExportReqVO) { - return defHttp.download({ url: '/pay/order/export-excel', params }) -} diff --git a/src/api/pay/refund/index.ts b/src/api/pay/refund/index.ts deleted file mode 100644 index 9770fa8..0000000 --- a/src/api/pay/refund/index.ts +++ /dev/null @@ -1,116 +0,0 @@ -import { defHttp } from '@/utils/http/axios' - -export interface RefundVO { - id: number - merchantId: number - appId: number - channelId: number - channelCode: string - orderId: string - tradeNo: string - merchantOrderId: string - merchantRefundNo: string - notifyUrl: string - notifyStatus: number - status: number - type: number - payAmount: number - refundAmount: number - reason: string - userIp: string - channelOrderNo: string - channelRefundNo: string - channelErrorCode: string - channelErrorMsg: string - channelExtras: string - expireTime: Date - successTime: Date - notifyTime: Date - createTime: Date -} - -export interface RefundPageReqVO extends PageParam { - merchantId?: number - appId?: number - channelId?: number - channelCode?: string - orderId?: string - tradeNo?: string - merchantOrderId?: string - merchantRefundNo?: string - notifyUrl?: string - notifyStatus?: number - status?: number - type?: number - payAmount?: number - refundAmount?: number - reason?: string - userIp?: string - channelOrderNo?: string - channelRefundNo?: string - channelErrorCode?: string - channelErrorMsg?: string - channelExtras?: string - expireTime?: Date[] - successTime?: Date[] - notifyTime?: Date[] - createTime?: Date[] -} - -export interface PayRefundExportReqVO { - merchantId?: number - appId?: number - channelId?: number - channelCode?: string - orderId?: string - tradeNo?: string - merchantOrderId?: string - merchantRefundNo?: string - notifyUrl?: string - notifyStatus?: number - status?: number - type?: number - payAmount?: number - refundAmount?: number - reason?: string - userIp?: string - channelOrderNo?: string - channelRefundNo?: string - channelErrorCode?: string - channelErrorMsg?: string - channelExtras?: string - expireTime?: Date[] - successTime?: Date[] - notifyTime?: Date[] - createTime?: Date[] -} - -// 查询列表退款订单 -export function getRefundPage(params: RefundPageReqVO) { - return defHttp.get({ url: '/pay/refund/page', params }) -} - -// 查询详情退款订单 -export function getRefund(id: number) { - return defHttp.get({ url: `/pay/refund/get?id=${id}` }) -} - -// 新增退款订单 -export function createRefund(data: RefundVO) { - return defHttp.post({ url: '/pay/refund/create', data }) -} - -// 修改退款订单 -export function updateRefund(data: RefundVO) { - return defHttp.put({ url: '/pay/refund/update', data }) -} - -// 删除退款订单 -export function deleteRefund(id: number) { - return defHttp.delete({ url: `/pay/refund/delete?id=${id}` }) -} - -// 导出退款订单 -export function exportRefund(params: PayRefundExportReqVO) { - return defHttp.download({ url: '/pay/refund/export-excel', params }, '退款订单.xls') -} diff --git a/src/assets/images/demo.png b/src/assets/images/demo.png deleted file mode 100644 index 1a45c9835b7b2c708c114b04fb445e6ef00d8827..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33342 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 e@8|2lQ1vG(gBQr1xX^F_0000 \ No newline at end of file diff --git a/src/assets/images/pay/icon/alipay_bar.svg b/src/assets/images/pay/icon/alipay_bar.svg deleted file mode 100644 index eb1e1e8..0000000 --- a/src/assets/images/pay/icon/alipay_bar.svg +++ /dev/null @@ -1,2 +0,0 @@ - diff --git a/src/assets/images/pay/icon/alipay_pc.svg b/src/assets/images/pay/icon/alipay_pc.svg deleted file mode 100644 index 2a75277..0000000 --- a/src/assets/images/pay/icon/alipay_pc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/images/pay/icon/alipay_qr.svg b/src/assets/images/pay/icon/alipay_qr.svg deleted file mode 100644 index 4833750..0000000 --- a/src/assets/images/pay/icon/alipay_qr.svg +++ /dev/null @@ -1,2 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/images/pay/icon/alipay_wap.svg b/src/assets/images/pay/icon/alipay_wap.svg deleted file mode 100644 index 87075db..0000000 --- a/src/assets/images/pay/icon/alipay_wap.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/images/pay/icon/mock.svg b/src/assets/images/pay/icon/mock.svg deleted file mode 100644 index 27b09ea..0000000 --- a/src/assets/images/pay/icon/mock.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/images/pay/icon/wx_app.svg b/src/assets/images/pay/icon/wx_app.svg deleted file mode 100644 index ad40b2a..0000000 --- a/src/assets/images/pay/icon/wx_app.svg +++ /dev/null @@ -1,2 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/images/pay/icon/wx_lite.svg b/src/assets/images/pay/icon/wx_lite.svg deleted file mode 100644 index 0c925cf..0000000 --- a/src/assets/images/pay/icon/wx_lite.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/images/pay/icon/wx_pub.svg b/src/assets/images/pay/icon/wx_pub.svg deleted file mode 100644 index 3a6d15b..0000000 --- a/src/assets/images/pay/icon/wx_pub.svg +++ /dev/null @@ -1,2 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/svg/pay/icon/alipay_app.svg b/src/assets/svg/pay/icon/alipay_app.svg deleted file mode 100644 index ebf1188..0000000 --- a/src/assets/svg/pay/icon/alipay_app.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/svg/pay/icon/alipay_bar.svg b/src/assets/svg/pay/icon/alipay_bar.svg deleted file mode 100644 index eb1e1e8..0000000 --- a/src/assets/svg/pay/icon/alipay_bar.svg +++ /dev/null @@ -1,2 +0,0 @@ - diff --git a/src/assets/svg/pay/icon/alipay_pc.svg b/src/assets/svg/pay/icon/alipay_pc.svg deleted file mode 100644 index 2a75277..0000000 --- a/src/assets/svg/pay/icon/alipay_pc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/svg/pay/icon/alipay_qr.svg b/src/assets/svg/pay/icon/alipay_qr.svg deleted file mode 100644 index 4833750..0000000 --- a/src/assets/svg/pay/icon/alipay_qr.svg +++ /dev/null @@ -1,2 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/svg/pay/icon/alipay_wap.svg b/src/assets/svg/pay/icon/alipay_wap.svg deleted file mode 100644 index 87075db..0000000 --- a/src/assets/svg/pay/icon/alipay_wap.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/svg/pay/icon/mock.svg b/src/assets/svg/pay/icon/mock.svg deleted file mode 100644 index 27b09ea..0000000 --- a/src/assets/svg/pay/icon/mock.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/svg/pay/icon/wx_app.svg b/src/assets/svg/pay/icon/wx_app.svg deleted file mode 100644 index ad40b2a..0000000 --- a/src/assets/svg/pay/icon/wx_app.svg +++ /dev/null @@ -1,2 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/svg/pay/icon/wx_bar.svg b/src/assets/svg/pay/icon/wx_bar.svg deleted file mode 100644 index 11292e6..0000000 --- a/src/assets/svg/pay/icon/wx_bar.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/svg/pay/icon/wx_lite.svg b/src/assets/svg/pay/icon/wx_lite.svg deleted file mode 100644 index 0c925cf..0000000 --- a/src/assets/svg/pay/icon/wx_lite.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/svg/pay/icon/wx_native.svg b/src/assets/svg/pay/icon/wx_native.svg deleted file mode 100644 index bf3ba2b..0000000 --- a/src/assets/svg/pay/icon/wx_native.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/svg/pay/icon/wx_pub.svg b/src/assets/svg/pay/icon/wx_pub.svg deleted file mode 100644 index 3a6d15b..0000000 --- a/src/assets/svg/pay/icon/wx_pub.svg +++ /dev/null @@ -1,2 +0,0 @@ - \ No newline at end of file diff --git a/src/enums/systemEnum.ts b/src/enums/systemEnum.ts index e4d663f..93f595c 100644 --- a/src/enums/systemEnum.ts +++ b/src/enums/systemEnum.ts @@ -1,13 +1,3 @@ -// ========== 静态变量 ========== - -/** - * 全局通用状态枚举 - */ -export const CommonStatusEnum = { - ENABLE: 0, // 开启 - DISABLE: 1, // 禁用 -} - /** * 菜单的类型枚举 */ @@ -35,238 +25,3 @@ export const SystemDataScopeEnum = { DEPT_AND_CHILD: 4, // 部门及以下数据权限 DEPT_SELF: 5, // 仅本人数据权限 } - -/** - * 代码生成模板类型 - */ -export const InfraCodegenTemplateTypeEnum = { - CRUD: 1, // 基础 CRUD - TREE: 2, // 树形 CRUD - SUB: 3, // 主子表 CRUD -} - -/** - * 任务状态的枚举 - */ -export const InfraJobStatusEnum = { - INIT: 0, // 初始化中 - NORMAL: 1, // 运行中 - STOP: 2, // 暂停运行 -} - -/** - * API 异常数据的处理状态 - */ -export const InfraApiErrorLogProcessStatusEnum = { - INIT: 0, // 未处理 - DONE: 1, // 已处理 - IGNORE: 2, // 已忽略 -} - -/** - * 用户的社交平台的类型枚举 - */ -export const SystemUserSocialTypeEnum = { - DINGTALK: { - title: '钉钉', - type: 20, - source: 'dingtalk', - img: 'https://s1.ax1x.com/2022/05/22/OzMDRs.png', - }, - WECHAT_ENTERPRISE: { - title: '企业微信', - type: 30, - source: 'wechat_enterprise', - img: 'https://s1.ax1x.com/2022/05/22/OzMrzn.png', - }, -} - -/** - * 支付渠道枚举 - */ -export const PayChannelEnum = { - WX_PUB: { - code: 'wx_pub', - name: '微信 JSAPI 支付', - }, - WX_LITE: { - code: 'wx_lite', - name: '微信小程序支付', - }, - WX_APP: { - code: 'wx_app', - name: '微信 APP 支付', - }, - WX_BAR: { - code: 'wx_bar', - name: '微信条码支付', - }, - ALIPAY_PC: { - code: 'alipay_pc', - name: '支付宝 PC 网站支付', - }, - ALIPAY_WAP: { - code: 'alipay_wap', - name: '支付宝 WAP 网站支付', - }, - ALIPAY_APP: { - code: 'alipay_app', - name: '支付宝 APP 支付', - }, - ALIPAY_QR: { - code: 'alipay_qr', - name: '支付宝扫码支付', - }, - ALIPAY_BAR: { - code: 'alipay_bar', - name: '支付宝条码支付', - }, - MOCK: { - code: 'mock', - name: '模拟支付', - }, -} - -/** - * 支付的展示模式枚举 - */ -export const PayDisplayModeEnum = { - URL: { - mode: 'url', - }, - IFRAME: { - mode: 'iframe', - }, - FORM: { - mode: 'form', - }, - QR_CODE: { - mode: 'qr_code', - }, - APP: { - mode: 'app', - }, -} - -/** - * 支付类型枚举 - */ -export const PayType = { - WECHAT: 'WECHAT', - ALIPAY: 'ALIPAY', - MOCK: 'MOCK', -} - -/** - * 支付订单状态枚举 - */ -export const PayOrderStatusEnum = { - WAITING: { - status: 0, - name: '未支付', - }, - SUCCESS: { - status: 10, - name: '已支付', - }, - CLOSED: { - status: 20, - name: '未支付', - }, -} - -/** - * 商品 SPU 状态 - */ -export const ProductSpuStatusEnum = { - RECYCLE: { - status: -1, - name: '回收站', - }, - DISABLE: { - status: 0, - name: '下架', - }, - ENABLE: { - status: 1, - name: '上架', - }, -} - -/** - * 优惠类型枚举 - */ -export const PromotionDiscountTypeEnum = { - PRICE: { - type: 1, - name: '满减', - }, - PERCENT: { - type: 2, - name: '折扣', - }, -} - -/** - * 优惠劵模板的有限期类型的枚举 - */ -export const CouponTemplateValidityTypeEnum = { - DATE: { - type: 1, - name: '固定日期可用', - }, - TERM: { - type: 2, - name: '领取之后可用', - }, -} - -/** - * 营销的商品范围枚举 - */ -export const PromotionProductScopeEnum = { - ALL: { - scope: 1, - name: '全部商品参与', - }, - SPU: { - scope: 2, - name: '指定商品参与', - }, -} - -/** - * 营销的条件类型枚举 - */ -export const PromotionConditionTypeEnum = { - PRICE: { - type: 10, - name: '满 N 元', - }, - COUNT: { - type: 20, - name: '满 N 件', - }, -} - -/** - * 促销活动的状态枚举 - */ -export const PromotionActivityStatusEnum = { - WAIT: { - type: 10, - name: '未开始', - }, - RUN: { - type: 20, - name: '进行中', - }, - END: { - type: 30, - name: '已结束', - }, - CLOSE: { - type: 40, - name: '已关闭', - }, -}