git
|
@ -0,0 +1,2 @@
|
||||||
|
VITE_API_URL=http://124.223.48.209:8082
|
||||||
|
# VITE_API_URL='/'
|
|
@ -0,0 +1 @@
|
||||||
|
VITE_API_URL='/'
|
|
@ -0,0 +1,23 @@
|
||||||
|
logs
|
||||||
|
*.log
|
||||||
|
*.sh
|
||||||
|
node_modules
|
||||||
|
.DS_Store
|
||||||
|
lib
|
||||||
|
*.md
|
||||||
|
*.scss
|
||||||
|
*.woff
|
||||||
|
*.ttf
|
||||||
|
.vscode
|
||||||
|
.idea
|
||||||
|
dist
|
||||||
|
mock
|
||||||
|
public
|
||||||
|
bin
|
||||||
|
build
|
||||||
|
config
|
||||||
|
index.html
|
||||||
|
components.d.ts
|
||||||
|
element.d.ts
|
||||||
|
src/assets
|
||||||
|
*
|
|
@ -0,0 +1,19 @@
|
||||||
|
module.exports = {
|
||||||
|
root: true,
|
||||||
|
env: {
|
||||||
|
node: true
|
||||||
|
},
|
||||||
|
extends: ['plugin:vue/vue3-recommended', 'plugin:prettier/recommended'],
|
||||||
|
parser: 'vue-eslint-parser',
|
||||||
|
parserOptions: {
|
||||||
|
parser: '@typescript-eslint/parser',
|
||||||
|
ecmaVersion: 2022,
|
||||||
|
ecmaFeatures: {
|
||||||
|
jsx: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
rules: {
|
||||||
|
curly: 'error', // 控制语句需要大括号
|
||||||
|
'vue/multi-word-component-names': 'off'
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,28 @@
|
||||||
|
# Logs
|
||||||
|
logs
|
||||||
|
*.log
|
||||||
|
npm-debug.log*
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
||||||
|
pnpm-debug.log*
|
||||||
|
lerna-debug.log*
|
||||||
|
|
||||||
|
node_modules
|
||||||
|
.DS_Store
|
||||||
|
dist
|
||||||
|
dist-ssr
|
||||||
|
coverage
|
||||||
|
*.local
|
||||||
|
|
||||||
|
/cypress/videos/
|
||||||
|
/cypress/screenshots/
|
||||||
|
|
||||||
|
# Editor directories and files
|
||||||
|
.vscode/*
|
||||||
|
!.vscode/extensions.json
|
||||||
|
.idea
|
||||||
|
*.suo
|
||||||
|
*.ntvs*
|
||||||
|
*.njsproj
|
||||||
|
*.sln
|
||||||
|
*.sw?
|
|
@ -0,0 +1,29 @@
|
||||||
|
// 参考:https://prettier.io/docs/en/options.html
|
||||||
|
module.exports = {
|
||||||
|
// 超过指定值换行
|
||||||
|
printWidth: 150,
|
||||||
|
// 制表符宽度
|
||||||
|
tabWidth: 2,
|
||||||
|
// 使用制表符缩进
|
||||||
|
useTabs: true,
|
||||||
|
// 句尾不使用分号
|
||||||
|
semi: false,
|
||||||
|
// 使用单引号
|
||||||
|
singleQuote: true,
|
||||||
|
// 在 JSX 文件中使用单引号代替双引号
|
||||||
|
jsxSingleQuote: true,
|
||||||
|
// 在对象或数组最后一个元素后面是否加逗号,可选值"[none:不追加 | es5:追加]
|
||||||
|
trailingComma: 'none',
|
||||||
|
// 在对象,数组括号与代码之间加空格 "{ foo: bar }"
|
||||||
|
bracketSpacing: true,
|
||||||
|
// 将多行 JSX 元素的 > 放置于最后一行的末尾,而非换行
|
||||||
|
jsxBracketSameLine: true,
|
||||||
|
//(x) => {} 箭头函数参数只有一个时是否要有小括号,可选值"[always:(x) => x | avoid:x => x]
|
||||||
|
arrowParens: 'avoid',
|
||||||
|
// 使用默认的折行标准,可选值"[always|never|preserve]"
|
||||||
|
proseWrap: 'preserve',
|
||||||
|
// 指定HTML文件的全局空格敏感度,可选值"[css|strict|ignore]"
|
||||||
|
htmlWhitespaceSensitivity: 'css',
|
||||||
|
// 结尾时换行符使用lf,可选值"[auto|lf|crlf|cr]"
|
||||||
|
endOfLine: 'lf'
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"recommendations": ["johnsoncodehk.volar", "johnsoncodehk.vscode-typescript-vue-plugin"]
|
||||||
|
}
|
|
@ -0,0 +1,9 @@
|
||||||
|
SRT License
|
||||||
|
|
||||||
|
Copyright (c) 2023 天津数睿通科技有限公司
|
||||||
|
|
||||||
|
The data center of Shuruitong 2.0 can be used for learning and communication, and for secondary developers to use in projects, but cannot be modified. After transformation, profits can be made by selling source code
|
||||||
|
The intellectual property rights of the software belong to Tianjin Shuruitong Technology Co., Ltd. Violators will be held legally responsible!
|
||||||
|
|
||||||
|
数睿通 2.0 数据中台可用于学习交流、二开商用于项目之中,但不可经过修改,换化之后通过售卖源码谋利
|
||||||
|
软件知识产权归天津数睿通科技有限公司所有,违者将追究其法律责任!
|
|
@ -0,0 +1,284 @@
|
||||||
|
## 项目说明
|
||||||
|
srt-cloud 是采用 Vue3,Ts,Spring Cloud Alibaba、SpringSecurity、Spring Cloud Gateway、SpringBoot、Nacos、Redis、Mybatis-Plus,Tidb,Flink,Hadoop 等最新技术,开发的全新数睿通数据中台,包含数据集成,数据开发,数据治理,数据资产,数据服务,数据集市六大模块,解决数据孤岛问题,实现数据统一口径标准,自定义数据开发任务,帮助企业,政府等解决数据问题!目前项目正在开发中,会尽快做出一版成型可用的产品。
|
||||||
|
|
||||||
|
## 功能模块说明
|
||||||
|
|
||||||
|
目前全局管理,应用管理,日志管理,系统管理,数据集成,数据开发,数据服务几大模块已基本完毕。
|
||||||
|
|
||||||
|
- 数据集成
|
||||||
|
|
||||||
|
- 数据库管理 — 管理用户添加的数据源,支持 MYSQL/ORACLE/SQLSERVER/POSTGRESQL/GREENPLUM/MARIADB/DB2/DM/OSCAR/KINGBASE8/OSCAR/GBASE8A/HIVE/SQLITE3/SYBASE,支持库表查询,测试连接等
|
||||||
|
- 文件管理 — 管理用户上传的文件数据
|
||||||
|
- 数据接入 — 接入外部数据源的数据到中台 **ODS** 层,也可自定义接入目的端数据源,支持一次性全量同步和周期性增量同步;可自定义表名,字段名的映射规则,支持正则表达式匹配;支持查看执行记录及详细执行结果,可查看同步的数据量,数据大小,成功表数量,失败表数量,成功信息,失败信息,也可查看具体每张表同步的数据量,数据大小,错误信息等,帮助用户全面掌握数据接入的执行情况
|
||||||
|
- 贴源数据 — 查看接入到ods层的数据表和数据,可查看每张表的同步记录
|
||||||
|
- 数据开发
|
||||||
|
- 数据生产 — 对数据进行作业代码化编辑,自行 DDL 建模,运行,调试等
|
||||||
|
- 调度中心
|
||||||
|
- 调度管理 — 对生产作业进行流程编辑,可视化调度
|
||||||
|
- 调度记录 — 查看调度结果,日志等
|
||||||
|
- 运维中心 — 对作业执行运维管理
|
||||||
|
- 资源中心
|
||||||
|
- Flink 集群实例 — 管理 FLink 资源
|
||||||
|
- Hadoop 集群配置 — 管理 Hadoop 资源
|
||||||
|
- 配置中心 — 管理 FlinkSql 执行配置
|
||||||
|
- 数据服务
|
||||||
|
- API 目录 — 用户自定义 API 目录,动态生成 API,对外提供服务
|
||||||
|
- API 权限 — 对私有 API 进行授权操作
|
||||||
|
- API 日志 — 查看 API 调用日志
|
||||||
|
- 数据治理
|
||||||
|
- 元数据
|
||||||
|
- 元模型 — 描述元数据的元数据,主要定义了元数据的属性,通常元模型都是系统内置的,如表元模型,字段元模型等
|
||||||
|
- 元数据采集 — 根据定义的元模型对元数据进行采集,通常是每一种元模型有自己内置的采集逻辑,可以设置采集周期等
|
||||||
|
- 元数据管理 — 对采集的元数据进行查看和管理
|
||||||
|
- 数据血缘 — 通过数据接入,数据生产流程之间的关系自动构建数据血缘关系图,追溯数据流向(70%)
|
||||||
|
- 数据标准
|
||||||
|
- 数据质量
|
||||||
|
- 数据资产(开发中)
|
||||||
|
- 资源管理 — 自定义资源目录,在每个目录下自定义资源,挂在数据库,api等
|
||||||
|
- 资产总览 — 对中台资源做一个总的统计概览
|
||||||
|
- 数据集市(待开发)
|
||||||
|
- 资源目录 — 中台资源目录以及目录下资源的查看,可对资源进行申请操作
|
||||||
|
- API 目录 — 中台 API 目录以及目录下 API 的查看,可对 API 进行申请
|
||||||
|
- 我的申请 — 可以查看自己的申请记录,审批结果
|
||||||
|
- 服务审批 — 管理员对其他角色的申请做出审批,若审批通过,申请人便可以收到审批通过的消息,使用自己申请的服务资源
|
||||||
|
- 全局管理
|
||||||
|
- 数据项目管理 — 中台项目(租户)的管理,每个项目下可以关联用户,用户只能查看自己关联的项目下的数据,选择自己的数据仓库,所有的模块数据都会有所属项目
|
||||||
|
- 数仓分层展示 — 对中台数仓的分成做展示说明
|
||||||
|
- 应用管理
|
||||||
|
- 消息管理
|
||||||
|
- 短信平台 — 集成短信平台,支持阿里,腾讯等常用的短信平台
|
||||||
|
- 短信日志 — 调用短信所产生的日志
|
||||||
|
- 日志管理
|
||||||
|
|
||||||
|
- 登录日志 — 系统登录产生的日志
|
||||||
|
- 系统管理
|
||||||
|
- 用户管理 — 对系统用户进行管理
|
||||||
|
- 菜单管理 — 对系统菜单进行管理,用于实现动态菜单
|
||||||
|
- 定时任务 — 可自定义定时任务,调度执行
|
||||||
|
- 数据字典 — 系统的字典数据
|
||||||
|
- 机构管理 — 机构数据,若各模块中的数据有所属机构概念,可用于数据权限管理
|
||||||
|
- 岗位管理 — 岗位的管理
|
||||||
|
- 角色管理 — 角色管理,可以为每个角色自定义菜单查看权限以及机构级的数据权限
|
||||||
|
- 附件管理 — 系统附件管理,可以上传下载
|
||||||
|
|
||||||
|
## 系统数仓架构
|
||||||
|
|
||||||
|
系统数仓可以在全局项目管理中配置不同租户的数据仓库,在数据集成集成到ods层之后, 可以通过数据生产进行数据开发,数据整体流向图如下:
|
||||||
|
|
||||||
|
###### 
|
||||||
|
|
||||||
|
关于数仓为什么要分层:分层可以有助于数据的管理,同时每次取数只需要获取统计分析过的成品就可以,不需要从源头数据反复计算,避免了计算资源的浪费,通常源头数据量较大,并且中间的处理逻辑较为复杂,所以采用建模分层的方式解决,通常表的前缀都用层级来定义。
|
||||||
|
|
||||||
|
## 系统核心技术栈
|
||||||
|
|
||||||
|
前台:
|
||||||
|
|
||||||
|
- vue3
|
||||||
|
- vite
|
||||||
|
- typeScript
|
||||||
|
- element-plus
|
||||||
|
- pinia
|
||||||
|
- 。。。
|
||||||
|
|
||||||
|
后台:
|
||||||
|
|
||||||
|
- Spring Cloud Alibaba
|
||||||
|
- SpringSecurity
|
||||||
|
- Spring Cloud Gateway
|
||||||
|
- SpringBoot
|
||||||
|
- Nacos
|
||||||
|
- Redis
|
||||||
|
- Mybatis-Plus
|
||||||
|
- mysql8.0
|
||||||
|
- tidb
|
||||||
|
- doris
|
||||||
|
- flink
|
||||||
|
- flink cdc
|
||||||
|
- flink sql
|
||||||
|
- neo4j
|
||||||
|
- 。。。
|
||||||
|
|
||||||
|
## 系统运行方式
|
||||||
|
|
||||||
|
### 下载Nacos
|
||||||
|
|
||||||
|
需要从GitHub下载Nacos,下载地址:https://github.com/alibaba/nacos/releases
|
||||||
|
下载2.1.1版本,因为本项目使用的是Nacos 2.1.1,如果版本号对应不上,后面项目启动会出错。
|
||||||
|
|
||||||
|
### nacos数据库
|
||||||
|
|
||||||
|
注意:Nacos 目前只支持MySQL数据库,请安装MySQL8.0版本,以免出现其他错误。
|
||||||
|
|
||||||
|
新建数据库nacos_config,并运行【conf/nacos-mysql.sql】文件,初始化数据库即可。
|
||||||
|
|
||||||
|
### 修改Nacos的配置文件
|
||||||
|
|
||||||
|
需要在【conf/application.properties】文件末尾,新增如下配置:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 填自己的ip地址,本地填127.0.0.1就行
|
||||||
|
nacos.inetutils.ip-address=127.0.0.1
|
||||||
|
|
||||||
|
spring.datasource.platform=mysql
|
||||||
|
db.num=1
|
||||||
|
#填自己的数据库连接和密码
|
||||||
|
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
|
||||||
|
db.user.0=root
|
||||||
|
db.password.0=root
|
||||||
|
```
|
||||||
|
|
||||||
|
### 启动Nacos
|
||||||
|
|
||||||
|
```bash
|
||||||
|
Windows:
|
||||||
|
startup.cmd -m standalone
|
||||||
|
|
||||||
|
Linux:
|
||||||
|
sh startup.sh -m standalone
|
||||||
|
|
||||||
|
# 集群启动可关注公众号 螺旋编程极客 查看
|
||||||
|
```
|
||||||
|
|
||||||
|
访问Nacos管理界面(http://localhost:8848/nacos) ,初始用户名nacos,密码nacos,登录之后,如下所示:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
### 创建系统数据库
|
||||||
|
|
||||||
|
创建 `srt_cloud` 数据库,数据库编码为`utf8mb4`
|
||||||
|
执行`db/srt_cloud.sql`文件,初始化数据库脚本
|
||||||
|
|
||||||
|
### 导入Nacos配置文件
|
||||||
|
|
||||||
|
导入Nacos配置文件,配置文件在项目里,文件名为:【deploy/nacos_config.zip】,如下所示:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
导入配置文件后,还需要在Nacos里,修改datasource.yaml,如:Redis、MySQL信息等。
|
||||||
|
|
||||||
|
### 下载安装 neo4j
|
||||||
|
|
||||||
|
具体参考
|
||||||
|
|
||||||
|
[neo4j安装](https://blog.csdn.net/weixin_44593504/article/details/119903908)
|
||||||
|
|
||||||
|
安装 neo4j-community-3.5.3-unix.tar.gz 版本(相关安装包文件夹里有),否则可能不适配
|
||||||
|
|
||||||
|
### 启动后端
|
||||||
|
|
||||||
|
把系统导入 idea,注意部门 jdbc 驱动包 maven 官方仓库不存在,需要手动在本地 mvn install 一下,jar 包在网盘 jdbc 驱动包自取,导入项目后,右上角 profiles 勾选 flink1.14,多刷新几次,导入完 maven 依赖之后,依次启动:
|
||||||
|
|
||||||
|
#### 启动 srt-cloud-gateway
|
||||||
|
|
||||||
|
运行 GatewayApplication.java
|
||||||
|
|
||||||
|
#### 启动 srt-cloud-system
|
||||||
|
|
||||||
|
运行 SystemApplication.java
|
||||||
|
|
||||||
|
#### 启动 srt-cloud-data-integrate
|
||||||
|
|
||||||
|
运行 DataIntegrateApplication.java
|
||||||
|
|
||||||
|
#### 启动 srt-cloud-data-development
|
||||||
|
|
||||||
|
运行 DataDevelopmentApplication.java
|
||||||
|
|
||||||
|
#### 启动 srt-cloud-data-service
|
||||||
|
|
||||||
|
运行 DataServiceApplication.java
|
||||||
|
|
||||||
|
#### 启动 srt-cloud-data-governance
|
||||||
|
|
||||||
|
运行 DataGovernanceApplication.java
|
||||||
|
|
||||||
|
#### 启动 srt-cloud-quartz
|
||||||
|
|
||||||
|
运行 QuartzApplication.java
|
||||||
|
|
||||||
|
#### 启动 srt-cloud-message
|
||||||
|
|
||||||
|
运行 MessageApplication.java
|
||||||
|
|
||||||
|
### 启动前端
|
||||||
|
|
||||||
|
安装版本号为`16.15.0`的`nodejs`,如果已经安装了,请先卸载,推荐使用 nvm 安装 node.js,方便切换不同版本
|
||||||
|
|
||||||
|
1. 需要先把本地安装的`nodejs`卸载,然后再下载nvm,地址:
|
||||||
|
https://github.com/coreybutler/nvm-windows/releases
|
||||||
|
2. 一般情况,找到最新版本,然后下载`nvm-setup.exe`文件就可以了,下载后,我们双击安装即可。
|
||||||
|
3. 我们使用`PowerShell`打开命令行,这里需要注意下,要使用`管理员`身份打开`PowerShell`
|
||||||
|
4. 命令`nvm version` ,可以查看版本号
|
||||||
|
5. 命令`nvm ls available`查看`nodejs`可用的版本
|
||||||
|
6. 命令`nvm install 16.15.0`,可以安装版本号为`16.15.0`的`nodejs`
|
||||||
|
7. 命令`nvm list`,可以查看已安装的版本号
|
||||||
|
8. 命令`nvm use 16.15.0`,可以切换到版本号为`16.15.0`的`nodejs`,现在就可以通过命令`node -v`查看当前的`nodejs`版本号
|
||||||
|
9. 命令`nvm uninstall 16.15.0`,可以卸载版本号为`16.15.0`的`nodejs`
|
||||||
|
|
||||||
|
用 vscode 或 hbuildx 打开 srt-cloud-web
|
||||||
|
|
||||||
|
安装依赖:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm install
|
||||||
|
```
|
||||||
|
|
||||||
|
运行项目:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm run dev
|
||||||
|
```
|
||||||
|
|
||||||
|
打包项目
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm run build
|
||||||
|
```
|
||||||
|
|
||||||
|
## 系统运行展示
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## 帮助支持
|
||||||
|
|
||||||
|
想要了解更多的朋友请关注公众号 **螺旋编程极客** 添加作者微信或在菜单栏加入知识星球,一起进步,一起成长。
|
After Width: | Height: | Size: 73 KiB |
After Width: | Height: | Size: 58 KiB |
After Width: | Height: | Size: 47 KiB |
After Width: | Height: | Size: 90 KiB |
After Width: | Height: | Size: 83 KiB |
After Width: | Height: | Size: 56 KiB |
After Width: | Height: | Size: 68 KiB |
After Width: | Height: | Size: 67 KiB |
After Width: | Height: | Size: 99 KiB |
After Width: | Height: | Size: 115 KiB |
After Width: | Height: | Size: 106 KiB |
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 77 KiB |
After Width: | Height: | Size: 88 KiB |
After Width: | Height: | Size: 140 KiB |
After Width: | Height: | Size: 194 KiB |
After Width: | Height: | Size: 155 KiB |
After Width: | Height: | Size: 179 KiB |
After Width: | Height: | Size: 143 KiB |
After Width: | Height: | Size: 261 KiB |
After Width: | Height: | Size: 111 KiB |
After Width: | Height: | Size: 145 KiB |
After Width: | Height: | Size: 73 KiB |
After Width: | Height: | Size: 114 KiB |
|
@ -0,0 +1,14 @@
|
||||||
|
<!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" />
|
||||||
|
<title></title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="app"></div>
|
||||||
|
<script type="module" src="/src/main.ts"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,60 @@
|
||||||
|
{
|
||||||
|
"name": "maku-admin",
|
||||||
|
"version": "2.0.0",
|
||||||
|
"scripts": {
|
||||||
|
"dev": "vite",
|
||||||
|
"build": "vite build",
|
||||||
|
"preview": "vite preview",
|
||||||
|
"lint": "eslint --fix --ext .vue,.jsx,.ts,.tsx ."
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@element-plus/icons-vue": "2.0.6",
|
||||||
|
"@logicflow/core": "^1.1.31",
|
||||||
|
"@logicflow/extension": "^1.1.31",
|
||||||
|
"@vueuse/core": "9.1.1",
|
||||||
|
"@wangeditor/editor": "5.1.1",
|
||||||
|
"@wangeditor/editor-for-vue": "5.1.12",
|
||||||
|
"axios": "0.27.2",
|
||||||
|
"cropperjs": "1.5.12",
|
||||||
|
"element-plus": "^2.2.28",
|
||||||
|
"mitt": "3.0.0",
|
||||||
|
"monaco-editor": "^0.34.1",
|
||||||
|
"nprogress": "0.2.0",
|
||||||
|
"pinia": "2.0.16",
|
||||||
|
"print-js": "1.6.0",
|
||||||
|
"qrcode.vue": "3.3.3",
|
||||||
|
"qs": "6.10.3",
|
||||||
|
"sql-formatter": "^4.0.2",
|
||||||
|
"vue": "3.2.37",
|
||||||
|
"vue-drag-resize": "^2.0.3",
|
||||||
|
"vue-i18n": "9.1.9",
|
||||||
|
"vue-router": "4.0.16"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@babel/types": "7.17.0",
|
||||||
|
"@types/node": "17.0.41",
|
||||||
|
"@types/nprogress": "0.2.0",
|
||||||
|
"@types/qs": "6.9.7",
|
||||||
|
"@vitejs/plugin-vue": "3.0.3",
|
||||||
|
"@vue/compiler-sfc": "3.2.37",
|
||||||
|
"@vue/eslint-config-prettier": "7.0.0",
|
||||||
|
"@vue/eslint-config-typescript": "10.0.0",
|
||||||
|
"@vue/tsconfig": "0.1.3",
|
||||||
|
"eslint": "8.13.0",
|
||||||
|
"eslint-plugin-vue": "8.6.0",
|
||||||
|
"prettier": "2.6.2",
|
||||||
|
"sass": "1.50.1",
|
||||||
|
"typescript": "4.7.4",
|
||||||
|
"vite": "3.0.8",
|
||||||
|
"vite-plugin-svg-icons": "2.0.1",
|
||||||
|
"vite-plugin-vue-setup-extend": "0.4.0",
|
||||||
|
"vue-tsc": "0.37.3"
|
||||||
|
},
|
||||||
|
"keywords": [
|
||||||
|
"vue",
|
||||||
|
"vue3",
|
||||||
|
"vuejs",
|
||||||
|
"vite",
|
||||||
|
"element-plus"
|
||||||
|
]
|
||||||
|
}
|
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 106 KiB |
After Width: | Height: | Size: 282 KiB |
After Width: | Height: | Size: 146 KiB |
After Width: | Height: | Size: 177 KiB |
|
@ -0,0 +1,29 @@
|
||||||
|
<template>
|
||||||
|
<el-config-provider :locale="locale" :size="size">
|
||||||
|
<router-view />
|
||||||
|
</el-config-provider>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts">
|
||||||
|
import { computed, nextTick, onMounted } from 'vue'
|
||||||
|
import { RouterView } from 'vue-router'
|
||||||
|
import { useTitle } from '@vueuse/core'
|
||||||
|
import store from '@/store'
|
||||||
|
import { useI18n } from 'vue-i18n'
|
||||||
|
import { messages } from '@/i18n'
|
||||||
|
import { handleThemeStyle } from '@/utils/theme'
|
||||||
|
|
||||||
|
const { t } = useI18n()
|
||||||
|
const locale = computed(() => messages[store.appStore.language].el)
|
||||||
|
const size = computed(() => store.appStore.componentSize)
|
||||||
|
|
||||||
|
// 设置标题
|
||||||
|
useTitle(t('app.title'))
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
nextTick(() => {
|
||||||
|
// 初始化主题样式
|
||||||
|
handleThemeStyle(store.appStore.theme)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
</script>
|
|
@ -0,0 +1,21 @@
|
||||||
|
import service from '@/utils/request'
|
||||||
|
|
||||||
|
export const useCaptchaApi = () => {
|
||||||
|
return service.get('/sys/auth/captcha')
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useSendCodeApi = (mobile: string) => {
|
||||||
|
return service.post('/sys/auth/send/code?mobile=' + mobile)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useAccountLoginApi = (data: any) => {
|
||||||
|
return service.post('/sys/auth/login', data)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useMobileLoginApi = (data: any) => {
|
||||||
|
return service.post('/sys/auth/mobile', data)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useLogoutApi = () => {
|
||||||
|
return service.post('/sys/auth/logout')
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
import service from '@/utils/request'
|
||||||
|
|
||||||
|
export const useAssetsCatalogApi = (id: number) => {
|
||||||
|
return service.get('/data-assets/catalog/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useAssetsCatalogSubmitApi = (dataForm: any) => {
|
||||||
|
if (dataForm.id) {
|
||||||
|
return service.put('/data-assets/catalog/', dataForm)
|
||||||
|
} else {
|
||||||
|
return service.post('/data-assets/catalog/', dataForm)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const listTreeApi = (id: number) => {
|
||||||
|
return service.get('/data-assets/catalog/list-tree')
|
||||||
|
}
|
||||||
|
|
||||||
|
export const delTreeNodeApi = (id: number) => {
|
||||||
|
return service.delete('/data-assets/catalog/'+id)
|
||||||
|
}
|
|
@ -0,0 +1,25 @@
|
||||||
|
import service from '@/utils/request'
|
||||||
|
|
||||||
|
export const useResourceApi = (id: number) => {
|
||||||
|
return service.get('/data-assets/resource/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useResourceSubmitApi = (dataForm: any) => {
|
||||||
|
if (dataForm.id) {
|
||||||
|
return service.put('/data-assets/resource', dataForm)
|
||||||
|
} else {
|
||||||
|
return service.post('/data-assets/resource', dataForm)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const onlineApi = (id: number) => {
|
||||||
|
return service.put('/data-assets/resource/online/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const offlineApi = (id: number) => {
|
||||||
|
return service.put('/data-assets/resource/offline/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const deleteApi = (id: number) => {
|
||||||
|
return service.delete('/data-assets/resource/' + id)
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
import service from '@/utils/request'
|
||||||
|
|
||||||
|
export const useResourceMountApi = (id: number) => {
|
||||||
|
return service.get('/data-assets/resource-mount/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useResourceMountSubmitApi = (dataForm: any) => {
|
||||||
|
if (dataForm.id) {
|
||||||
|
return service.put('/data-assets/resource-mount', dataForm)
|
||||||
|
} else {
|
||||||
|
return service.post('/data-assets/resource-mount', dataForm)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const listDbInfoById = (resourceId: number) => {
|
||||||
|
return service.get('/data-assets/resource-mount/db-info/' + resourceId)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const sqlCheckApi = (data: any) => {
|
||||||
|
return service.post('/data-assets/resource-mount/sql-check', data)
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
import service from '@/utils/request'
|
||||||
|
|
||||||
|
export const useCatalogueApi = (id: number) => {
|
||||||
|
return service.get('/data-development/catalogue/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useCatalogueSubmitApi = (dataForm: any) => {
|
||||||
|
if (dataForm.id) {
|
||||||
|
return service.put('/data-development/catalogue', dataForm)
|
||||||
|
} else {
|
||||||
|
return service.post('/data-development/catalogue', dataForm)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useCatalogueListApi = () => {
|
||||||
|
return service.get('/data-development/catalogue')
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useCatalogueDelApi = (id: number) => {
|
||||||
|
return service.delete('/data-development/catalogue/' + id)
|
||||||
|
}
|
|
@ -0,0 +1,25 @@
|
||||||
|
import service from '@/utils/request'
|
||||||
|
|
||||||
|
export const useClusterApi = (id: number) => {
|
||||||
|
return service.get('/data-development/cluster/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useClusterSubmitApi = (dataForm: any) => {
|
||||||
|
if (dataForm.id) {
|
||||||
|
return service.put('/data-development/cluster', dataForm)
|
||||||
|
} else {
|
||||||
|
return service.post('/data-development/cluster', dataForm)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const heartbeatApi = (idList: any) => {
|
||||||
|
return service.post('/data-development/cluster/heartbeat', idList)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const clearApi = () => {
|
||||||
|
return service.get('/data-development/cluster/clear')
|
||||||
|
}
|
||||||
|
|
||||||
|
export const listAllClusterApi = () => {
|
||||||
|
return service.get("/data-development/cluster/list-all")
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
import service from '@/utils/request'
|
||||||
|
|
||||||
|
export const useConfigurationApi = (id: number) => {
|
||||||
|
return service.get('/data-development/cluster-configuration/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useConfigurationSubmitApi = (dataForm: any) => {
|
||||||
|
if (dataForm.id) {
|
||||||
|
return service.put('/data-development/cluster-configuration', dataForm)
|
||||||
|
} else {
|
||||||
|
return service.post('/data-development/cluster-configuration', dataForm)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const testConnectApi = (dataForm: any) => {
|
||||||
|
return service.post('/data-development/cluster-configuration/test-connect', dataForm)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const listAllClusterConfigurationApi = () => {
|
||||||
|
return service.get("/data-development/cluster-configuration/list-all")
|
||||||
|
}
|
|
@ -0,0 +1,33 @@
|
||||||
|
import service from '@/utils/request'
|
||||||
|
|
||||||
|
export const useScheduleApi = (id: number) => {
|
||||||
|
return service.get('/data-development/schedule/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useScheduleSubmitApi = (dataForm: any) => {
|
||||||
|
return service.post('/data-development/schedule', dataForm)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const runFlowApi = (id: number) => {
|
||||||
|
return service.post('/data-development/schedule/run/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getConsoleLogApi = (recordId: number) => {
|
||||||
|
return service.get('/data-development/schedule/log/' + recordId)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getNodeInfoApi = (recordId: number) => {
|
||||||
|
return service.get('/data-development/schedule/node-info/' + recordId)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getNodeRecordApi = (nodeRecordId: number) => {
|
||||||
|
return service.get('/data-development/schedule/node-record/' + nodeRecordId)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const releaseApi = (id: number) => {
|
||||||
|
return service.post('/data-development/schedule/release/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const cancleApi = (id: number) => {
|
||||||
|
return service.post('/data-development/schedule/cancle/' + id)
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
import service from '@/utils/request'
|
||||||
|
|
||||||
|
export const useConfigApi = (id: number) => {
|
||||||
|
return service.get('/data-development/sys-config/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useConfigSubmitApi = (dataForm: any) => {
|
||||||
|
if (dataForm.id) {
|
||||||
|
return service.put('/data-development/sys-config', dataForm)
|
||||||
|
} else {
|
||||||
|
return service.post('/data-development/sys-config', dataForm)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const updateSysConfigApi = (dataForm: any) => {
|
||||||
|
return service.post('/data-development/sys-config/updateSysConfigByJson', dataForm)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getAllApi = () => {
|
||||||
|
return service.get('/data-development/sys-config/getAll')
|
||||||
|
}
|
|
@ -0,0 +1,65 @@
|
||||||
|
import service from '@/utils/request'
|
||||||
|
|
||||||
|
export const useTaskApi = (id: number) => {
|
||||||
|
return service.get('/data-development/task/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useTaskSubmitApi = (dataForm: any) => {
|
||||||
|
if (dataForm.id) {
|
||||||
|
return service.put('/data-development/task', dataForm)
|
||||||
|
} else {
|
||||||
|
return service.post('/data-development/task', dataForm)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const explainSqlApi = (data: any) => {
|
||||||
|
return service.post('/data-development/task/explain-sql', data)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const executeSqlApi = (data: any) => {
|
||||||
|
return service.post('/data-development/task/execute-sql', data)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const justExecuteSqlApi = (data: any) => {
|
||||||
|
return service.post('/data-development/task/just-execute-sql', data)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const submitTaskToClusterApi = (id: number) => {
|
||||||
|
return service.post('/data-development/task/submit/'+ id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getConsoleLogApi = () => {
|
||||||
|
return service.get('/data-development/task/console-log')
|
||||||
|
}
|
||||||
|
|
||||||
|
export const clearConsoleLogApi = () => {
|
||||||
|
return service.get('/data-development/task/clear-log')
|
||||||
|
}
|
||||||
|
|
||||||
|
export const clearConsoleLogWithOutKeyApi = () => {
|
||||||
|
return service.get('/data-development/task/clear-log-without-key')
|
||||||
|
}
|
||||||
|
|
||||||
|
export const endConsoleLogApi = () => {
|
||||||
|
return service.get('/data-development/task/end-log')
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getJobDataApi = (jobId: any) => {
|
||||||
|
return service.get('/data-development/task/job-data?jobId='+jobId)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getInstanceErrorApi = (historyId: any) => {
|
||||||
|
return service.get('/data-development/task/history/instance-error?historyId='+historyId)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getHisClusterInfoApi = (historyId: number) => {
|
||||||
|
return service.get('/data-development/task/history/cluster-info?historyId='+historyId)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const savepointApi = (taskId: number, historyId: number, savepointType: any) => {
|
||||||
|
return service.get('/data-development/task/savepoint?id='+taskId+'&historyId='+historyId+'&type='+savepointType)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getEnvListApi = () => {
|
||||||
|
return service.get('/data-development/task/env-list')
|
||||||
|
}
|
|
@ -0,0 +1,42 @@
|
||||||
|
import service from '@/utils/request'
|
||||||
|
|
||||||
|
export const useStandardApi = (id: number) => {
|
||||||
|
return service.get('/data-governance/data-standard/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useStandardSubmitApi = (dataForm: any) => {
|
||||||
|
if (dataForm.id) {
|
||||||
|
return service.put('/data-governance/data-standard', dataForm)
|
||||||
|
} else {
|
||||||
|
return service.post('/data-governance/data-standard', dataForm)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useCategoryApi = (id: number) => {
|
||||||
|
return service.get('/data-governance/standard-category/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useCategorySubmitApi = (dataForm: any) => {
|
||||||
|
if (dataForm.id) {
|
||||||
|
return service.put('/data-governance/standard-category', dataForm)
|
||||||
|
} else {
|
||||||
|
return service.post('/data-governance/standard-category', dataForm)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export const listTreeApi = () => {
|
||||||
|
return service.get('/data-governance/standard-category/list-tree')
|
||||||
|
}
|
||||||
|
|
||||||
|
export const delTreeNodeApi = (id: number) => {
|
||||||
|
return service.delete('/data-governance/standard-category/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const listDataStandardCodeTableApi = () => {
|
||||||
|
return service.get('/data-governance/data-standard/table-code/list')
|
||||||
|
}
|
||||||
|
|
||||||
|
export const dataStandardCheckApi = (metadataId, standardId) => {
|
||||||
|
return service.get('/data-governance/data-standard/check/'+metadataId+'/'+standardId)
|
||||||
|
}
|
|
@ -0,0 +1,13 @@
|
||||||
|
import service from '@/utils/request'
|
||||||
|
|
||||||
|
export const useStandardCodeApi = (id: number) => {
|
||||||
|
return service.get('/data-governance/standard-code/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useStandardCodeSubmitApi = (dataForm: any) => {
|
||||||
|
if (dataForm.id) {
|
||||||
|
return service.put('/data-governance/standard-code', dataForm)
|
||||||
|
} else {
|
||||||
|
return service.post('/data-governance/standard-code', dataForm)
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,50 @@
|
||||||
|
import service from '@/utils/request'
|
||||||
|
|
||||||
|
export const useMetadataApi = (id: number) => {
|
||||||
|
return service.get('/data-governance/metadata/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useMetadataSubmitApi = (dataForm: any) => {
|
||||||
|
if (dataForm.id) {
|
||||||
|
return service.put('/data-governance/metadata', dataForm)
|
||||||
|
} else {
|
||||||
|
return service.post('/data-governance/metadata', dataForm)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const listChildApi = (parentId: number) => {
|
||||||
|
return service.get('/data-governance/metadata/list-child?parentId='+parentId)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const delTreeNodeApi = (id: number) => {
|
||||||
|
return service.delete('/data-governance/metadata/'+id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const listMetamodelPropertyApi = (metaModelId: number) => {
|
||||||
|
return service.get('/data-governance/metamodel-property/properties/'+metaModelId)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const listKeywordApi = (keyword: any) => {
|
||||||
|
return service.get('/data-governance/metadata/list-keyword?keyword='+keyword)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const listMetadataFloderApi = () => {
|
||||||
|
return service.get('/data-governance/metadata/list-floder')
|
||||||
|
}
|
||||||
|
|
||||||
|
export const updateNeo4jApi = (dataForm: any) => {
|
||||||
|
return service.post('/data-governance/metadata/neo4j', dataForm)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getNeo4jApi = () => {
|
||||||
|
return service.get('/data-governance/metadata/neo4j')
|
||||||
|
}
|
||||||
|
|
||||||
|
export const listDbApi = () => {
|
||||||
|
return service.get('/data-governance/metadata/list-db')
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
import service from '@/utils/request'
|
||||||
|
|
||||||
|
export const useMetadataCollectApi = (id: number) => {
|
||||||
|
return service.get('/data-governance/metadata-collect/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useMetadataCollectSubmitApi = (dataForm: any) => {
|
||||||
|
if (dataForm.id) {
|
||||||
|
return service.put('/data-governance/metadata-collect', dataForm)
|
||||||
|
} else {
|
||||||
|
return service.post('/data-governance/metadata-collect', dataForm)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const releaseApi = (id) => {
|
||||||
|
return service.put('/data-governance/metadata-collect/release/'+id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const cancelApi = (id) => {
|
||||||
|
return service.put('/data-governance/metadata-collect/cancel/'+id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getCollectRecordApi = (id) => {
|
||||||
|
return service.get('/data-governance/metadata-collect-record/'+id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const handRunApi = (id) => {
|
||||||
|
return service.post('/data-governance/metadata-collect/hand-run/'+id)
|
||||||
|
}
|
|
@ -0,0 +1,13 @@
|
||||||
|
import service from '@/utils/request'
|
||||||
|
|
||||||
|
export const useMetadataPropertyApi = (id: number) => {
|
||||||
|
return service.get('/data-governance/metadata-property/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useMetadataPropertySubmitApi = (dataForm: any) => {
|
||||||
|
if (dataForm.id) {
|
||||||
|
return service.put('/data-governance/metadata-property', dataForm)
|
||||||
|
} else {
|
||||||
|
return service.post('/data-governance/metadata-property', dataForm)
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
import service from '@/utils/request'
|
||||||
|
|
||||||
|
export const useMetamodelApi = (id: number) => {
|
||||||
|
return service.get('/data-governance/metamodel/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useMetamodelSubmitApi = (dataForm: any) => {
|
||||||
|
if (dataForm.id) {
|
||||||
|
return service.put('/data-governance/metamodel', dataForm)
|
||||||
|
} else {
|
||||||
|
return service.post('/data-governance/metamodel', dataForm)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const listTreeApi = () => {
|
||||||
|
return service.get('/data-governance/metamodel/list-tree')
|
||||||
|
}
|
||||||
|
|
||||||
|
export const delTreeNodeApi = (id: number) => {
|
||||||
|
return service.delete('/data-governance/metamodel/'+id)
|
||||||
|
}
|
|
@ -0,0 +1,13 @@
|
||||||
|
import service from '@/utils/request'
|
||||||
|
|
||||||
|
export const usePropertyApi = (id: number) => {
|
||||||
|
return service.get('/data-governance/metamodel-property/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const usePropertySubmitApi = (dataForm: any) => {
|
||||||
|
if (dataForm.id) {
|
||||||
|
return service.put('/data-governance/metamodel-property', dataForm)
|
||||||
|
} else {
|
||||||
|
return service.post('/data-governance/metamodel-property', dataForm)
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,29 @@
|
||||||
|
import service from '@/utils/request'
|
||||||
|
|
||||||
|
export const useQualityConfigApi = (id: number) => {
|
||||||
|
return service.get('/data-governance/quality-config/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useQualityConfigSubmitApi = (dataForm: any) => {
|
||||||
|
if (dataForm.id) {
|
||||||
|
return service.put('/data-governance/quality-config', dataForm)
|
||||||
|
} else {
|
||||||
|
return service.post('/data-governance/quality-config', dataForm)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const listQualityRuleApi = () => {
|
||||||
|
return service.get('/data-governance/quality-rule/list')
|
||||||
|
}
|
||||||
|
|
||||||
|
export const onlineApi = (id?: number) => {
|
||||||
|
return service.put('/data-governance/quality-config/online/'+id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const offlineApi = (id?: number) => {
|
||||||
|
return service.put('/data-governance/quality-config/offline/'+id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const handRunApi = (id?: number) => {
|
||||||
|
return service.put('/data-governance/quality-config/hand-run/'+id)
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
import service from '@/utils/request'
|
||||||
|
|
||||||
|
export const useCategoryApi = (id: number) => {
|
||||||
|
return service.get('/data-governance/quality-config-category/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useCategorySubmitApi = (dataForm: any) => {
|
||||||
|
if (dataForm.id) {
|
||||||
|
return service.put('/data-governance/quality-config-category', dataForm)
|
||||||
|
} else {
|
||||||
|
return service.post('/data-governance/quality-config-category', dataForm)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const listTreeApi = () => {
|
||||||
|
return service.get('/data-governance/quality-config-category/list-tree')
|
||||||
|
}
|
||||||
|
|
||||||
|
export const delTreeNodeApi = (id: number) => {
|
||||||
|
return service.delete('/data-governance/quality-config-category/' + id)
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
import service from '@/utils/request'
|
||||||
|
|
||||||
|
export const useStandardRelApi = (id: number) => {
|
||||||
|
return service.get('/data-governance/standard-rel/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useStandardRelSubmitApi = (dataForm: any) => {
|
||||||
|
if (dataForm.id) {
|
||||||
|
return service.put('/data-governance/standard-rel', dataForm)
|
||||||
|
} else {
|
||||||
|
return service.post('/data-governance/standard-rel', dataForm)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getByMetadataApi = (metadataId: number) => {
|
||||||
|
return service.get('/data-governance/standard-rel/' + metadataId + '/metadata-rel')
|
||||||
|
}
|
||||||
|
|
||||||
|
export const delMetadataRelApi = (metadataId: number, standardId: number) => {
|
||||||
|
return service.delete('/data-governance/standard-rel/' + metadataId + '/'+ standardId)
|
||||||
|
}
|
|
@ -0,0 +1,37 @@
|
||||||
|
import service from '@/utils/request'
|
||||||
|
|
||||||
|
export const useAccessApi = (id: number) => {
|
||||||
|
return service.get('/data-integrate/access/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useAccessSubmitApi = (dataForm: any) => {
|
||||||
|
if (dataForm.id) {
|
||||||
|
return service.put('/data-integrate/access', dataForm)
|
||||||
|
} else {
|
||||||
|
return service.post('/data-integrate/access', dataForm)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const previewTableNameMap = (map: any) => {
|
||||||
|
return service.post('/data-integrate/access/preview-table-name-map', map)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const previewColumnNameMap = (map: any) => {
|
||||||
|
return service.post('/data-integrate/access/preview-column-name-map', map)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const accessRelease = (id: number) => {
|
||||||
|
return service.post('/data-integrate/access/release/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const accessCancle = (id: number) => {
|
||||||
|
return service.post('/data-integrate/access/cancle/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const handRun = (id: number) => {
|
||||||
|
return service.post('/data-integrate/access/hand-run/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getTaskByIdApi = (id: number) => {
|
||||||
|
return service.get('/data-integrate/access/task/' + id)
|
||||||
|
}
|
|
@ -0,0 +1,53 @@
|
||||||
|
import service from '@/utils/request'
|
||||||
|
|
||||||
|
export const useDatabaseApi = (id: number) => {
|
||||||
|
return service.get('/data-integrate/database/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useDatabaseSubmitApi = (dataForm: any) => {
|
||||||
|
if (dataForm.id) {
|
||||||
|
return service.put('/data-integrate/database', dataForm)
|
||||||
|
} else {
|
||||||
|
return service.post('/data-integrate/database', dataForm)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const testOnline = (dataForm: any) => {
|
||||||
|
return service.post('/data-integrate/database/test-online', dataForm)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getTablesById = (id: number) => {
|
||||||
|
return service.get('/data-integrate/database/tables/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getTableDataBySql = (id: number, sqlConsole: any) => {
|
||||||
|
return service.post('/data-integrate/database/table-data/' + id, sqlConsole)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const listDatabase = () => {
|
||||||
|
return service.get('/data-integrate/database/list-all')
|
||||||
|
}
|
||||||
|
|
||||||
|
export const listTreeByIdApi = (id:any) => {
|
||||||
|
return service.get('/data-integrate/database/list-tree/'+id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const listColumnsByIdAndTableName = (id: any, tableName: any) => {
|
||||||
|
return service.get('/data-integrate/database/'+id+'/'+tableName+'/columns')
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getSqlGenerationApi = (id: any, tableName: any, tableRemarks) => {
|
||||||
|
return service.get('/data-integrate/database/'+id+'/'+tableName+'/sql-generation?tableRemarks='+tableRemarks)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const listMiddleDbTreeApi = () => {
|
||||||
|
return service.get('/data-integrate/database/middle-db/list-tree')
|
||||||
|
}
|
||||||
|
|
||||||
|
export const listMiddleDbColumnsApi = (tableName: any) => {
|
||||||
|
return service.get('/data-integrate/database/middle-db/'+tableName+'/columns')
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getMiddleDbSqlGenerationApi = (tableName: any, tableRemarks) => {
|
||||||
|
return service.get('/data-integrate/database/middle-db/'+tableName+'/sql-generation?tableRemarks='+tableRemarks)
|
||||||
|
}
|
|
@ -0,0 +1,13 @@
|
||||||
|
import service from '@/utils/request'
|
||||||
|
|
||||||
|
export const useFileApi = (id: number) => {
|
||||||
|
return service.get('/data-integrate/file/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useFileSubmitApi = (dataForm: any) => {
|
||||||
|
if (dataForm.id) {
|
||||||
|
return service.put('/data-integrate/file', dataForm)
|
||||||
|
} else {
|
||||||
|
return service.post('/data-integrate/file', dataForm)
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,22 @@
|
||||||
|
import service from '@/utils/request'
|
||||||
|
|
||||||
|
export const listFileCategoryApi = () => {
|
||||||
|
return service.get('/data-integrate/fileCategory')
|
||||||
|
}
|
||||||
|
|
||||||
|
export const deleteFileCategoryApi = (id: number) => {
|
||||||
|
return service.delete('/data-integrate/fileCategory?id=' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export const useFileCategoryApi = (id: number) => {
|
||||||
|
return service.get('/data-integrate/fileCategory/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useFileCategorySubmitApi = (dataForm: any) => {
|
||||||
|
if (dataForm.id) {
|
||||||
|
return service.put('/data-integrate/fileCategory', dataForm)
|
||||||
|
} else {
|
||||||
|
return service.post('/data-integrate/fileCategory', dataForm)
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,13 @@
|
||||||
|
import service from '@/utils/request'
|
||||||
|
|
||||||
|
export const useLayerApi = (id: number) => {
|
||||||
|
return service.get('/data-integrate/layer/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useLayerSubmitApi = (dataForm: any) => {
|
||||||
|
if (dataForm.id) {
|
||||||
|
return service.put('/data-integrate/layer', dataForm)
|
||||||
|
} else {
|
||||||
|
return service.post('/data-integrate/layer', dataForm)
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
import service from '@/utils/request'
|
||||||
|
|
||||||
|
export const useOdsApi = (id: number) => {
|
||||||
|
return service.get('/data-integrate/ods/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useOdsSubmitApi = (dataForm: any) => {
|
||||||
|
if (dataForm.id) {
|
||||||
|
return service.put('/data-integrate/ods', dataForm)
|
||||||
|
} else {
|
||||||
|
return service.post('/data-integrate/ods', dataForm)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getColumnInfoApi = (id: number, tableName: any) => {
|
||||||
|
return service.get('/data-integrate/ods/' + id + '/' + tableName + '/column-info')
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getTableDataApi = (id: number, tableName: any) => {
|
||||||
|
return service.get('/data-integrate/ods/' + id + '/' + tableName + '/table-data')
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
import service from '@/utils/request'
|
||||||
|
|
||||||
|
export const useProjectApi = (id: number) => {
|
||||||
|
return service.get('/data-integrate/project/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useProjectSubmitApi = (dataForm: any) => {
|
||||||
|
if (dataForm.id) {
|
||||||
|
return service.put('/data-integrate/project', dataForm)
|
||||||
|
} else {
|
||||||
|
return service.post('/data-integrate/project', dataForm)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const addUserApi = (projectId: number, userIds: any[]) => {
|
||||||
|
return service.post('/data-integrate/project/adduser/' + projectId, userIds)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const currentUserProjectsApi = () => {
|
||||||
|
return service.get('/data-integrate/project/current-user-projects')
|
||||||
|
}
|
||||||
|
|
||||||
|
export const changeProjectApi = (id) => {
|
||||||
|
return service.put('/data-integrate/project/change-project/'+id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const testOnlineApi = (dataForm: any) => {
|
||||||
|
return service.post('/data-integrate/project/test-online', dataForm)
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,48 @@
|
||||||
|
import service from '@/utils/request'
|
||||||
|
|
||||||
|
export const useApiConfigApi = (id: number) => {
|
||||||
|
return service.get('/data-service/api-config/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useApiConfigSubmitApi = (dataForm: any) => {
|
||||||
|
if (dataForm.id) {
|
||||||
|
return service.put('/data-service/api-config', dataForm)
|
||||||
|
} else {
|
||||||
|
return service.post('/data-service/api-config', dataForm)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getIpPortApi = () => {
|
||||||
|
return service.get('/data-service/api-config/getIpPort')
|
||||||
|
}
|
||||||
|
|
||||||
|
export const executeSqlApi = (sqlDto: any) => {
|
||||||
|
return service.post('/data-service/api-config/sql/execute', sqlDto)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const onlineApi = (id: number) => {
|
||||||
|
return service.put('/data-service/api-config/'+id+'/online')
|
||||||
|
}
|
||||||
|
|
||||||
|
export const offlineApi = (id: number) => {
|
||||||
|
return service.put('/data-service/api-config/'+id+'/offline')
|
||||||
|
}
|
||||||
|
|
||||||
|
export const requestTokenApi = (tokenUrl: any) => {
|
||||||
|
return service.get(tokenUrl)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getAuthInfoApi = (authId: number) => {
|
||||||
|
return service.get('/data-service/api-config/auth-info/'+authId)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const ipPortApi = () => {
|
||||||
|
return service.get('/data-service/api-config/ip-port/')
|
||||||
|
}
|
||||||
|
|
||||||
|
export const resetRequestedTimesApi =(authId: number) => {
|
||||||
|
return service.put('/data-service/api-config/reset-requested/'+ authId)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
import service from '@/utils/request'
|
||||||
|
|
||||||
|
export const useApiGroupApi = (id: number) => {
|
||||||
|
return service.get('/data-service/api-group/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useApiGroupSubmitApi = (dataForm: any) => {
|
||||||
|
if (dataForm.id) {
|
||||||
|
return service.put('/data-service/api-group', dataForm)
|
||||||
|
} else {
|
||||||
|
return service.post('/data-service/api-group', dataForm)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useCatalogueListApi = () => {
|
||||||
|
return service.get('/data-service/api-group')
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useCatalogueDelApi = (id: any) => {
|
||||||
|
return service.delete('/data-service/api-group/'+id)
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
import service from '@/utils/request'
|
||||||
|
|
||||||
|
export const useAppApi = (id: number) => {
|
||||||
|
return service.get('/data-service/app/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useAppSubmitApi = (dataForm: any) => {
|
||||||
|
if (dataForm.id) {
|
||||||
|
return service.put('/data-service/app', dataForm)
|
||||||
|
} else {
|
||||||
|
return service.post('/data-service/app', dataForm)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const authApi = (dataForm: any) => {
|
||||||
|
if(dataForm.id) {
|
||||||
|
return service.put('/data-service/app/auth', dataForm)
|
||||||
|
} else {
|
||||||
|
return service.post('/data-service/app/auth', dataForm)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
export const cancelAuthApi = (id: number) => {
|
||||||
|
return service.delete('/data-service/app/cancel-auth/'+id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getAuthInfoApi = (authId: number) => {
|
||||||
|
return service.get('/data-service/api-config/auth-info/'+authId)
|
||||||
|
}
|
|
@ -0,0 +1,13 @@
|
||||||
|
import service from '@/utils/request'
|
||||||
|
|
||||||
|
export const useLogApi = (id: number) => {
|
||||||
|
return service.get('/data-service/log/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useLogSubmitApi = (dataForm: any) => {
|
||||||
|
if (dataForm.id) {
|
||||||
|
return service.put('/data-service/log', dataForm)
|
||||||
|
} else {
|
||||||
|
return service.post('/data-service/log', dataForm)
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
import service from '@/utils/request'
|
||||||
|
|
||||||
|
export const useSmsPlatformApi = (id: Number) => {
|
||||||
|
return service.get('/message/sms/platform/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useSmsPlatformSubmitApi = (dataForm: any) => {
|
||||||
|
if (dataForm.id) {
|
||||||
|
return service.put('/message/sms/platform', dataForm)
|
||||||
|
} else {
|
||||||
|
return service.post('/message/sms/platform', dataForm)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useSmsSendApi = (dataForm: any) => {
|
||||||
|
return service.post('/message/sms/platform/send', dataForm)
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
import service from '@/utils/request'
|
||||||
|
|
||||||
|
export const useScheduleApi = (id: Number) => {
|
||||||
|
return service.get('/schedule/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useScheduleSubmitApi = (dataForm: any) => {
|
||||||
|
if (dataForm.id) {
|
||||||
|
return service.put('/schedule', dataForm)
|
||||||
|
} else {
|
||||||
|
return service.post('/schedule', dataForm)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useScheduleRunApi = (dataForm: any) => {
|
||||||
|
return service.put('/schedule/run', dataForm)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useScheduleStatusApi = (dataForm: any) => {
|
||||||
|
return service.put('/schedule/change-status', dataForm)
|
||||||
|
}
|
|
@ -0,0 +1,5 @@
|
||||||
|
import service from '@/utils/request'
|
||||||
|
|
||||||
|
export const useAttachmentSubmitApi = (dataForm: any) => {
|
||||||
|
return service.post('/sys/attachment', dataForm)
|
||||||
|
}
|
|
@ -0,0 +1,29 @@
|
||||||
|
import service from '@/utils/request'
|
||||||
|
|
||||||
|
export const useDictTypeAllApi = () => {
|
||||||
|
return service.get('/sys/dict/type/all')
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useDictTypeApi = (id: Number) => {
|
||||||
|
return service.get('/sys/dict/type/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useDictTypeSubmitApi = (dataForm: any) => {
|
||||||
|
if (dataForm.id) {
|
||||||
|
return service.put('/sys/dict/type', dataForm)
|
||||||
|
} else {
|
||||||
|
return service.post('/sys/dict/type', dataForm)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useDictDataApi = (id: Number) => {
|
||||||
|
return service.get('/sys/dict/data/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useDictDataSubmitApi = (dataForm: any) => {
|
||||||
|
if (dataForm.id) {
|
||||||
|
return service.put('/sys/dict/data', dataForm)
|
||||||
|
} else {
|
||||||
|
return service.post('/sys/dict/data', dataForm)
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,28 @@
|
||||||
|
import service from '@/utils/request'
|
||||||
|
|
||||||
|
export const useMenuNavApi = () => {
|
||||||
|
return service.get('/sys/menu/nav')
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useAuthorityListApi = () => {
|
||||||
|
return service.get('/sys/menu/authority')
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useMenuListApi = (type: Number) => {
|
||||||
|
// 菜单类型 0:菜单 1:按钮 2:接口
|
||||||
|
const menuType = type === 2 ? 2 : 0
|
||||||
|
|
||||||
|
return service.get('/sys/menu/list?type=' + menuType)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useMenuApi = (id: Number) => {
|
||||||
|
return service.get('/sys/menu/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useMenuSubmitApi = (dataForm: any) => {
|
||||||
|
if (dataForm.id) {
|
||||||
|
return service.put('/sys/menu', dataForm)
|
||||||
|
} else {
|
||||||
|
return service.post('/sys/menu', dataForm)
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
import service from '@/utils/request'
|
||||||
|
|
||||||
|
export const useOrgListApi = () => {
|
||||||
|
return service.get('/sys/org/list')
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useOrgApi = (id: Number) => {
|
||||||
|
return service.get('/sys/org/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useOrgSubmitApi = (dataForm: any) => {
|
||||||
|
if (dataForm.id) {
|
||||||
|
return service.put('/sys/org', dataForm)
|
||||||
|
} else {
|
||||||
|
return service.post('/sys/org', dataForm)
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
import service from '@/utils/request'
|
||||||
|
|
||||||
|
export const usePostApi = (id: Number) => {
|
||||||
|
return service.get('/sys/post/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const usePostSubmitApi = (dataForm: any) => {
|
||||||
|
if (dataForm.id) {
|
||||||
|
return service.put('/sys/post', dataForm)
|
||||||
|
} else {
|
||||||
|
return service.post('/sys/post', dataForm)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const usePostListApi = () => {
|
||||||
|
return service.get('/sys/post/list')
|
||||||
|
}
|
|
@ -0,0 +1,29 @@
|
||||||
|
import service from '@/utils/request'
|
||||||
|
|
||||||
|
export const useRoleMenuApi = () => {
|
||||||
|
return service.get('/sys/role/menu')
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useRoleApi = (id: number) => {
|
||||||
|
return service.get('/sys/role/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useRoleListApi = () => {
|
||||||
|
return service.get('/sys/role/list')
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useRoleSubmitApi = (dataForm: any) => {
|
||||||
|
if (dataForm.id) {
|
||||||
|
return service.put('/sys/role', dataForm)
|
||||||
|
} else {
|
||||||
|
return service.post('/sys/role', dataForm)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useRoleDataScopeSubmitApi = (dataForm: any) => {
|
||||||
|
return service.put('/sys/role/data-scope', dataForm)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useRoleUserSubmitApi = (roleId: number, dataForm: any) => {
|
||||||
|
return service.post('/sys/role/user/' + roleId, dataForm)
|
||||||
|
}
|
|
@ -0,0 +1,29 @@
|
||||||
|
import service from '@/utils/request'
|
||||||
|
|
||||||
|
export const useUserInfoApi = () => {
|
||||||
|
return service.get('/sys/user/info')
|
||||||
|
}
|
||||||
|
|
||||||
|
export const updatePasswordApi = (data: any) => {
|
||||||
|
return service.put('/sys/user/password', data)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useUserApi = (id: number) => {
|
||||||
|
return service.get('/sys/user/' + id)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useUserSubmitApi = (dataForm: any) => {
|
||||||
|
if (dataForm.id) {
|
||||||
|
return service.put('/sys/user', dataForm)
|
||||||
|
} else {
|
||||||
|
return service.post('/sys/user', dataForm)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const listAllUserApi = () => {
|
||||||
|
return service.get('/sys/user/list-all')
|
||||||
|
}
|
||||||
|
|
||||||
|
export const listUserApi = () => {
|
||||||
|
return service.get('/sys/user/list-users')
|
||||||
|
}
|
After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 589 B |
After Width: | Height: | Size: 771 B |
After Width: | Height: | Size: 524 B |
After Width: | Height: | Size: 626 B |
After Width: | Height: | Size: 361 B |
After Width: | Height: | Size: 317 B |
After Width: | Height: | Size: 552 B |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 516 B |
After Width: | Height: | Size: 595 B |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 808 B |
After Width: | Height: | Size: 948 B |
After Width: | Height: | Size: 444 B |
After Width: | Height: | Size: 420 B |
After Width: | Height: | Size: 14 KiB |