ci/cd
This commit is contained in:
36
.drone.yml
36
.drone.yml
@@ -1,9 +1,6 @@
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: fateverse-vue
|
||||
platform:
|
||||
os: linux
|
||||
arch: arm64
|
||||
name: SmartOpsWeb
|
||||
steps:
|
||||
- name: build-package
|
||||
image: node:16.20.0
|
||||
@@ -32,60 +29,37 @@ steps:
|
||||
- cp -r dist /app/build/$DRONE_REPO_NAME
|
||||
|
||||
|
||||
|
||||
- name: build-docker # 制作docker镜像
|
||||
image: docker # 使用官方docker镜像
|
||||
volumes: # 将容器内目录挂载到宿主机
|
||||
- name: docker
|
||||
path: /var/run/docker.sock # 挂载宿主机的docker
|
||||
- name: config
|
||||
path: /config
|
||||
environment: # 获取到密文的docker用户名和密码
|
||||
DOCKER_USERNAME:
|
||||
from_secret: docker_username
|
||||
DOCKER_PASSWORD:
|
||||
from_secret: docker_password
|
||||
REGISTRY:
|
||||
from_secret: registry
|
||||
REGISTRY_NAMESPACE:
|
||||
from_secret: registry_namespace
|
||||
commands: # 定义在Docker容器中执行的shell命令
|
||||
- docker rmi -f $(docker images | grep $DRONE_REPO_NAME | awk '{print $3}')
|
||||
- cat Dockerfile
|
||||
- sed -i 's/$REGISTRY/'"$REGISTRY"'/' deployment.yml
|
||||
- sed -i 's/$REGISTRY_NAMESPACE/'"$REGISTRY_NAMESPACE"'/' deployment.yml
|
||||
- sed -i 's/$DRONE_REPO_NAME/'"$DRONE_REPO_NAME"'/' deployment.yml
|
||||
- sed -i 's/$DRONE_COMMIT/'"$DRONE_COMMIT"'/' deployment.yml
|
||||
# docker登录,不能在脚本中登录,并且不能使用docker login -u -p
|
||||
- echo $DOCKER_PASSWORD | docker login $REGISTRY --username $DOCKER_USERNAME --password-stdin
|
||||
- chmod +x docker.sh
|
||||
- cat docker.sh
|
||||
- sh docker.sh
|
||||
# 执行完脚本删除本次制作的docker镜像,避免多次后当前runner空间不足
|
||||
- docker rmi -f $(docker images | grep $DRONE_REPO_NAME | awk '{print $3}')
|
||||
# - docker rmi -f $(docker imag.es | grep $DRONE_REPO_NAME | awk '{print $3}')
|
||||
|
||||
|
||||
- name: drone-rancher # rancher运行
|
||||
image: bitnami/kubectl:1.26.13-debian-11-r1
|
||||
volumes: # 将容器内目录挂载到宿主机
|
||||
- name: config
|
||||
path: /app/config # 将kubectl 配置文件挂载出来
|
||||
commands: # 定义在Docker容器中执行的shell命令
|
||||
# 将deployment中定义的变量替换为drone中的内置变量
|
||||
- kubectl apply -f deployment.yml -n fateverse --kubeconfig=/app/config/base-taishan-kubectl.yml
|
||||
|
||||
volumes:
|
||||
- name: cache
|
||||
host:
|
||||
path: /home/npm/cache
|
||||
path: /home/SmartOpsWeb/cache
|
||||
- name: config # k8s对接的配置文件
|
||||
host:
|
||||
path: /home/kubect
|
||||
- name: docker # 宿主机中的docker
|
||||
host:
|
||||
path: /var/run/docker.sock
|
||||
|
||||
trigger:
|
||||
branch:
|
||||
- prod
|
||||
# - prod
|
||||
event:
|
||||
- push
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
# SmartOpsWeb
|
||||
# Ե<EFBFBD><EFBFBD>/FateVerse
|
||||
|
||||
Ե<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD>ɫ<EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ, <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>õĹ<C3B5><C4B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>; <20><><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD><EFBFBD>߶<EFBFBD><DFB6><EFBFBD>, <20><><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><D7BF>ٿ<EFBFBD><D9BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ջ[vue@3](https://cn.vuejs.org/);[vue-router@4](https://router.vuejs.org/zh/);
|
||||
[pinia@2](https://pinia.vuejs.org/zh/);[element-plus](https://element-plus.org/zh-CN/);[vite@4](https://cn.vitejs.dev/)
|
||||
|
||||
## <20><><EFBFBD><EFBFBD>Ŀ¼
|
||||
```sh
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<meta charset="UTF-8">
|
||||
<link rel="icon" href="/favicon.ico">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>SmartOpsWeb</title>
|
||||
<title>FateVerse</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
|
||||
5
package-lock.json
generated
5
package-lock.json
generated
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"name": "SmartOpsWeb",
|
||||
"name": "fateverse",
|
||||
"version": "0.0.0",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "SmartOpsWeb",
|
||||
"name": "fateverse",
|
||||
"version": "0.0.0",
|
||||
"dependencies": {
|
||||
"@antv/g6": "^3.5.7",
|
||||
@@ -38,6 +38,7 @@
|
||||
"@codemirror/lang-sql": "^6.5.4",
|
||||
"@vitejs/plugin-vue": "^4.2.1",
|
||||
"@vitejs/plugin-vue-jsx": "^3.0.1",
|
||||
"lodash": "^4.17.21",
|
||||
"unplugin-auto-import": "^0.15.3",
|
||||
"unplugin-vue-components": "^0.24.1",
|
||||
"vite": "^4.3.4",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "SmartOpsWeb",
|
||||
"name": "fateverse",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
|
||||
@@ -2,8 +2,8 @@ import request from "@/utils/request.js";
|
||||
|
||||
export const modifyUser=(data)=>{
|
||||
return request({
|
||||
url:'/admin/user',
|
||||
url:'/user',
|
||||
method:'put',
|
||||
data
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,14 +2,14 @@ import request from '@/utils/request.js'
|
||||
|
||||
export const getCacheOpt = (cacheKey) => {
|
||||
return request({
|
||||
url: '/admin/dict/data/option/'+ cacheKey,
|
||||
url: '/dict/data/option/'+ cacheKey,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
export const getCacheType = (cacheKey) => {
|
||||
return request({
|
||||
url: '/admin/dict/data/type/'+ cacheKey,
|
||||
url: '/dict/data/type/'+ cacheKey,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,3 +66,12 @@ export const deletePortal = (portalId) => {
|
||||
method: "delete",
|
||||
});
|
||||
};
|
||||
|
||||
// 发布列表接口
|
||||
export const publishPortal = (data) => {
|
||||
return request({
|
||||
url: "/custom/query/portal/list/publish",
|
||||
method: "post",
|
||||
data,
|
||||
});
|
||||
};
|
||||
|
||||
@@ -3,7 +3,7 @@ import request from '@/utils/request.js'
|
||||
//获取部门信息
|
||||
export const getDeptList = (params) => {
|
||||
return request({
|
||||
url: '/admin/dept',
|
||||
url: '/dept',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
@@ -11,21 +11,21 @@ export const getDeptList = (params) => {
|
||||
//获取增加时的部门列表
|
||||
export const getDeptOption = () => {
|
||||
return request({
|
||||
url: '/admin/dept/option',
|
||||
url: '/dept/option',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
//获取修改时的部门列表
|
||||
export const getDeptExcludeOption = (deptId) => {
|
||||
return request({
|
||||
url: `/admin/dept/option/exclude/${deptId}`,
|
||||
url: `/dept/option/exclude/${deptId}`,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
//新增部门
|
||||
export const addDept = (data) => {
|
||||
return request({
|
||||
url: '/admin/dept',
|
||||
url: '/dept',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
@@ -33,7 +33,7 @@ export const addDept = (data) => {
|
||||
//编辑部门
|
||||
export const editDept = (data) => {
|
||||
return request({
|
||||
url: '/admin/dept',
|
||||
url: '/dept',
|
||||
method: 'put',
|
||||
data
|
||||
})
|
||||
@@ -41,14 +41,14 @@ export const editDept = (data) => {
|
||||
//查询部门详情
|
||||
export const getDeptDetail = (deptId) => {
|
||||
return request({
|
||||
url: `/admin/dept/${deptId}`,
|
||||
url: `/dept/${deptId}`,
|
||||
method: "get"
|
||||
});
|
||||
};
|
||||
//删除部门
|
||||
export const deleteDept = (deptId) => {
|
||||
return request({
|
||||
url: `/admin/dept/${deptId}`,
|
||||
url: `/dept/${deptId}`,
|
||||
method: "delete"
|
||||
});
|
||||
};
|
||||
|
||||
@@ -3,7 +3,7 @@ import request from '@/utils/request.js'
|
||||
// 获取list
|
||||
export const getIPBlackList = (params) => {
|
||||
return request({
|
||||
url: '/admin/ip/back',
|
||||
url: '/ip/back',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
@@ -12,7 +12,7 @@ export const getIPBlackList = (params) => {
|
||||
// 新增
|
||||
export const addIPBlack = (data) => {
|
||||
return request({
|
||||
url: '/admin/ip/back',
|
||||
url: '/ip/back',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
@@ -21,7 +21,7 @@ export const addIPBlack = (data) => {
|
||||
// 修改
|
||||
export const editIPBlack = (data) => {
|
||||
return request({
|
||||
url: '/admin/ip/back',
|
||||
url: '/ip/back',
|
||||
method: 'put',
|
||||
data
|
||||
})
|
||||
@@ -30,7 +30,7 @@ export const editIPBlack = (data) => {
|
||||
// 删除
|
||||
export const delIPBlack = (ids) => {
|
||||
return request({
|
||||
url: '/admin/ip/back/'+ids,
|
||||
url: '/ip/back/'+ids,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
@@ -38,7 +38,7 @@ export const delIPBlack = (ids) => {
|
||||
// 详情
|
||||
export const getIPBlackDetail = (id) => {
|
||||
return request({
|
||||
url: '/admin/ip/back/'+id,
|
||||
url: '/ip/back/'+id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,14 +2,14 @@ import request from '@/utils/request.js'
|
||||
|
||||
export const getCodeImg = () => {
|
||||
return request({
|
||||
url: '/auth/captchaImage',
|
||||
url: '/captchaImage',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export const login = (data) => {
|
||||
return request({
|
||||
url: '/auth/login',
|
||||
url: '/login',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
@@ -17,7 +17,7 @@ export const login = (data) => {
|
||||
|
||||
export const getUserInfo = () => {
|
||||
return request({
|
||||
url: '/auth/info',
|
||||
url: '/info',
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ import request from "@/utils/request.js";
|
||||
//查询在线用户
|
||||
export const getOnlineList = (params) => {
|
||||
return request({
|
||||
url: "/admin/online/user",
|
||||
url: "/online/user",
|
||||
method: "get",
|
||||
params
|
||||
});
|
||||
@@ -11,7 +11,7 @@ export const getOnlineList = (params) => {
|
||||
//强制退出用户
|
||||
export const deleteOnlineUser= (tokenId) => {
|
||||
return request({
|
||||
url: '/admin/online/user/'+tokenId,
|
||||
url: '/online/user/'+tokenId,
|
||||
method: "delete"
|
||||
});
|
||||
};
|
||||
|
||||
@@ -3,7 +3,7 @@ import request from '@/utils/request.js'
|
||||
//获取岗位信息
|
||||
export const getPostList = (params) => {
|
||||
return request({
|
||||
url: '/admin/post',
|
||||
url: '/post',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
@@ -11,7 +11,7 @@ export const getPostList = (params) => {
|
||||
//查询岗位详情
|
||||
export const getPostDetail = (postId) => {
|
||||
return request({
|
||||
url: `/admin/post/info/${postId}`,
|
||||
url: `/post/info/${postId}`,
|
||||
method: "get"
|
||||
});
|
||||
};
|
||||
@@ -19,7 +19,7 @@ export const getPostDetail = (postId) => {
|
||||
//新增岗位
|
||||
export const addPost = (data) => {
|
||||
return request({
|
||||
url: '/admin/post',
|
||||
url: '/post',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
@@ -27,7 +27,7 @@ export const addPost = (data) => {
|
||||
//编辑岗位
|
||||
export const editPost = (data) => {
|
||||
return request({
|
||||
url: '/admin/post',
|
||||
url: '/post',
|
||||
method: 'put',
|
||||
data
|
||||
})
|
||||
@@ -35,14 +35,14 @@ export const editPost = (data) => {
|
||||
//获取select下拉框数据
|
||||
export const getSelectOption = () => {
|
||||
return request({
|
||||
url: '/admin/post/option',
|
||||
url: '/post/option',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
//删除角色信息
|
||||
export const deletePost = (postId) => {
|
||||
return request({
|
||||
url: `/admin/post/${postId}`,
|
||||
url: `/post/${postId}`,
|
||||
method: "delete"
|
||||
});
|
||||
};
|
||||
|
||||
@@ -2,7 +2,7 @@ import request from '@/utils/request.js'
|
||||
|
||||
export const getRoleList = (params) => {
|
||||
return request({
|
||||
url: '/admin/role',
|
||||
url: '/role',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
@@ -10,21 +10,21 @@ export const getRoleList = (params) => {
|
||||
//查询角色option
|
||||
export const getRoleOption = () => {
|
||||
return request({
|
||||
url: '/admin/role/option',
|
||||
url: '/role/option',
|
||||
method: "get"
|
||||
});
|
||||
};
|
||||
//查询角色信息
|
||||
export const getRoleDetail = (roleId) => {
|
||||
return request({
|
||||
url: `/admin/role/${roleId}`,
|
||||
url: `/role/${roleId}`,
|
||||
method: "get"
|
||||
});
|
||||
};
|
||||
//根据菜单id获取分配的角色信息
|
||||
export const getRoleInfoByMenuId = (params) => {
|
||||
return request({
|
||||
url: '/admin/role/menu',
|
||||
url: '/role/menu',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
@@ -32,7 +32,7 @@ export const getRoleInfoByMenuId = (params) => {
|
||||
//获取排除在外的角色
|
||||
export const getRoleExcludeMenuId = (params) => {
|
||||
return request({
|
||||
url: '/admin/role/menu/list',
|
||||
url: '/role/menu/list',
|
||||
method: "get",
|
||||
params
|
||||
});
|
||||
@@ -40,7 +40,7 @@ export const getRoleExcludeMenuId = (params) => {
|
||||
// 新增角色
|
||||
export const addRole = (data) => {
|
||||
return request({
|
||||
url: '/admin/role',
|
||||
url: '/role',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
@@ -49,7 +49,7 @@ export const addRole = (data) => {
|
||||
// 修改角色
|
||||
export const editRole = (data) => {
|
||||
return request({
|
||||
url: '/admin/role',
|
||||
url: '/role',
|
||||
method: 'put',
|
||||
data
|
||||
})
|
||||
@@ -57,7 +57,7 @@ export const editRole = (data) => {
|
||||
//解除当前角色对应的所有菜单的绑定关系
|
||||
export const unbindAllRole = (menuId) => {
|
||||
return request({
|
||||
url: '/admin/role/all/unbind/menu',
|
||||
url: '/role/all/unbind/menu',
|
||||
method: 'put',
|
||||
data: {
|
||||
id: menuId
|
||||
@@ -67,7 +67,7 @@ export const unbindAllRole = (menuId) => {
|
||||
// 解除角色与菜单之间的绑定状态
|
||||
export const cancelAuthorization = (menuId, roleIds) => {
|
||||
return request({
|
||||
url: '/admin/role/unbind/menu',
|
||||
url: '/role/unbind/menu',
|
||||
method: 'put',
|
||||
data: {
|
||||
id: menuId,
|
||||
@@ -78,7 +78,7 @@ export const cancelAuthorization = (menuId, roleIds) => {
|
||||
//建立角色用户绑定关系
|
||||
export const bindRoleAndMenu = (menuId, roleIds) => {
|
||||
return request({
|
||||
url: '/admin/role/bind/menu',
|
||||
url: '/role/bind/menu',
|
||||
method: 'put',
|
||||
data: {
|
||||
id: menuId,
|
||||
@@ -89,7 +89,7 @@ export const bindRoleAndMenu = (menuId, roleIds) => {
|
||||
//删除角色信息
|
||||
export const deleteRole = (roleId) => {
|
||||
return request({
|
||||
url: `/admin/role/${roleId}`,
|
||||
url: `/role/${roleId}`,
|
||||
method: "delete"
|
||||
});
|
||||
};
|
||||
|
||||
@@ -3,7 +3,7 @@ import request from '@/utils/request.js'
|
||||
// 请求参数配置表list
|
||||
export const getConfigList = (params) => {
|
||||
return request({
|
||||
url: '/admin/config',
|
||||
url: '/config',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
@@ -14,7 +14,7 @@ export const getConfigList = (params) => {
|
||||
// 获取参数配置表详情
|
||||
export const getConfigDetails = (configId) => {
|
||||
return request({
|
||||
url: '/admin/config/' + configId,
|
||||
url: '/config/' + configId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
@@ -22,7 +22,7 @@ export const getConfigDetails = (configId) => {
|
||||
// 新增参数配置表
|
||||
export const addConfig = (data) => {
|
||||
return request({
|
||||
url: '/admin/config',
|
||||
url: '/config',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
@@ -31,7 +31,7 @@ export const addConfig = (data) => {
|
||||
// 修改参数配置表
|
||||
export const editConfig = (data) => {
|
||||
return request({
|
||||
url: '/admin/config',
|
||||
url: '/config',
|
||||
method: 'put',
|
||||
data
|
||||
})
|
||||
@@ -40,7 +40,7 @@ export const editConfig = (data) => {
|
||||
// 删除参数配置表
|
||||
export const delConfig =(configId) => {
|
||||
return request({
|
||||
url: '/admin/config/' + configId,
|
||||
url: '/config/' + configId,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ import request from '@/utils/request.js'
|
||||
// 请求字典类型表list
|
||||
export const getDictDataList = (params) => {
|
||||
return request({
|
||||
url: '/admin/dict/data',
|
||||
url: '/dict/data',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
@@ -12,7 +12,7 @@ export const getDictDataList = (params) => {
|
||||
// 获取字典数据表详情
|
||||
export const getDictDataDetails = (dictCode) => {
|
||||
return request({
|
||||
url: '/admin/dict/data/' + dictCode,
|
||||
url: '/dict/data/' + dictCode,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
@@ -20,7 +20,7 @@ export const getDictDataDetails = (dictCode) => {
|
||||
// 新增字典数据表
|
||||
export const addDictData = (data) => {
|
||||
return request({
|
||||
url: '/admin/dict/data',
|
||||
url: '/dict/data',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
@@ -29,7 +29,7 @@ export const addDictData = (data) => {
|
||||
// 修改字典类型表
|
||||
export const editDictData = (data) => {
|
||||
return request({
|
||||
url: '/admin/dict/data',
|
||||
url: '/dict/data',
|
||||
method: 'put',
|
||||
data
|
||||
})
|
||||
@@ -38,7 +38,7 @@ export const editDictData = (data) => {
|
||||
// 删除字典类型表
|
||||
export const delDictData = (dictCode) => {
|
||||
return request({
|
||||
url: `/admin/dict/data/${dictCode}`,
|
||||
url: `/dict/data/${dictCode}`,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ import request from '@/utils/request.js'
|
||||
|
||||
export const getDictOption = () => {
|
||||
return request({
|
||||
url: '/admin/dict/type/option',
|
||||
url: '/dict/type/option',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
@@ -10,7 +10,7 @@ export const getDictOption = () => {
|
||||
// 请求字典类型表list
|
||||
export const getDictTypeList = (params) => {
|
||||
return request({
|
||||
url: '/admin/dict/type',
|
||||
url: '/dict/type',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
@@ -19,7 +19,7 @@ export const getDictTypeList = (params) => {
|
||||
// 获取字典类型表详情
|
||||
export const getDictTypeDetails = (dictTypeId) => {
|
||||
return request({
|
||||
url: '/admin/dict/type/' + dictTypeId,
|
||||
url: '/dict/type/' + dictTypeId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
@@ -27,7 +27,7 @@ export const getDictTypeDetails = (dictTypeId) => {
|
||||
// 新增字典类型表
|
||||
export const addDictType = (data) => {
|
||||
return request({
|
||||
url: '/admin/dict/type',
|
||||
url: '/dict/type',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
@@ -36,7 +36,7 @@ export const addDictType = (data) => {
|
||||
// 修改字典类型表
|
||||
export const editDictType = (data) => {
|
||||
return request({
|
||||
url: '/admin/dict/type',
|
||||
url: '/dict/type',
|
||||
method: 'put',
|
||||
data
|
||||
})
|
||||
@@ -45,7 +45,7 @@ export const editDictType = (data) => {
|
||||
// 删除字典类型表
|
||||
export const delDictType =(dictTypeId) => {
|
||||
return request({
|
||||
url: '/admin/dict/type/' + dictTypeId,
|
||||
url: '/dict/type/' + dictTypeId,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
@@ -2,14 +2,14 @@ import request from '@/utils/request.js'
|
||||
|
||||
export const getMappingList = (params) => {
|
||||
return request({
|
||||
url: '/admin/mapping/switch',
|
||||
url: '/mapping/switch',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
export const editMappingSwitch = (data) => {
|
||||
return request({
|
||||
url: '/admin/mapping/switch',
|
||||
url: '/mapping/switch',
|
||||
method: 'put',
|
||||
data
|
||||
})
|
||||
|
||||
@@ -2,7 +2,7 @@ import request from '@/utils/request'
|
||||
|
||||
export const getRouters = () => {
|
||||
return request({
|
||||
url: '/auth/router',
|
||||
url: '/router',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ import request from '@/utils/request.js'
|
||||
|
||||
export const getMenuList = (params) => {
|
||||
return request({
|
||||
url: '/admin/menu',
|
||||
url: '/menu',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
@@ -10,7 +10,7 @@ export const getMenuList = (params) => {
|
||||
|
||||
export const editMenu = (data) => {
|
||||
return request({
|
||||
url: '/admin/menu',
|
||||
url: '/menu',
|
||||
method: 'put',
|
||||
data
|
||||
})
|
||||
@@ -18,7 +18,7 @@ export const editMenu = (data) => {
|
||||
|
||||
export const addMenu = (data) => {
|
||||
return request({
|
||||
url: '/admin/menu',
|
||||
url: '/menu',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
@@ -26,28 +26,28 @@ export const addMenu = (data) => {
|
||||
|
||||
export const delMenu = (menuId) => {
|
||||
return request({
|
||||
url: '/admin/menu/'+menuId,
|
||||
url: '/menu/'+menuId,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
export const getMenuInfo = (menuId) => {
|
||||
return request({
|
||||
url: '/admin/menu/info/'+menuId,
|
||||
url: '/menu/info/'+menuId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export const getMenuOpt = (excludeId=0) => {
|
||||
return request({
|
||||
url: '/admin/menu/option/'+excludeId,
|
||||
url: '/menu/option/'+excludeId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export const getMenuOptRole = (roleId) => {
|
||||
return request({
|
||||
url: '/admin/menu/option/role/'+roleId,
|
||||
url: '/menu/option/role/'+roleId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ import request from '@/utils/request.js'
|
||||
|
||||
export const getUserList = (params) => {
|
||||
return request({
|
||||
url: '/admin/user',
|
||||
url: '/user',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
@@ -11,14 +11,14 @@ export const getUserList = (params) => {
|
||||
//获取用户详情
|
||||
export const getUserDetail = (userId) => {
|
||||
return request({
|
||||
url: `/admin/user/info/${userId}`,
|
||||
url: `/user/info/${userId}`,
|
||||
method: "get"
|
||||
});
|
||||
};
|
||||
// 新增用户
|
||||
export const addUser = (data) => {
|
||||
return request({
|
||||
url: '/admin/user',
|
||||
url: '/user',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
@@ -26,7 +26,7 @@ export const addUser = (data) => {
|
||||
// 修改用户
|
||||
export const editUser = (data) => {
|
||||
return request({
|
||||
url: '/admin/user',
|
||||
url: '/user',
|
||||
method: 'put',
|
||||
data
|
||||
})
|
||||
@@ -35,14 +35,14 @@ export const editUser = (data) => {
|
||||
//删除用户信息
|
||||
export const deleteUser = (userId) => {
|
||||
return request({
|
||||
url: `/admin/user/${userId}`,
|
||||
url: `/user/${userId}`,
|
||||
method: "delete"
|
||||
});
|
||||
};
|
||||
//根据roleId获取用户信息
|
||||
export const getUserByRoleId = (roleId, params) => {
|
||||
return request({
|
||||
url: `/admin/user/role/${roleId}`,
|
||||
url: `/user/role/${roleId}`,
|
||||
method: "get",
|
||||
params
|
||||
});
|
||||
@@ -50,7 +50,7 @@ export const getUserByRoleId = (roleId, params) => {
|
||||
//排除角色id获取用户信息
|
||||
export const getUserExcludeRoleId = (roleId, params) => {
|
||||
return request({
|
||||
url: `/admin/user/role/exclude/${roleId}`,
|
||||
url: `/user/role/exclude/${roleId}`,
|
||||
method: "get",
|
||||
params
|
||||
});
|
||||
@@ -58,7 +58,7 @@ export const getUserExcludeRoleId = (roleId, params) => {
|
||||
//建立角色用户绑定关系
|
||||
export const roleBindUser = (data) => {
|
||||
return request({
|
||||
url: '/admin/user/bind/role',
|
||||
url: '/user/bind/role',
|
||||
method: 'put',
|
||||
data
|
||||
})
|
||||
@@ -66,7 +66,7 @@ export const roleBindUser = (data) => {
|
||||
// 解除角色与用户之间的绑定状态
|
||||
export const cancelAuthorization = (data) => {
|
||||
return request({
|
||||
url: '/admin/user/unbind/role',
|
||||
url: '/user/unbind/role',
|
||||
method: 'put',
|
||||
data
|
||||
})
|
||||
@@ -74,7 +74,7 @@ export const cancelAuthorization = (data) => {
|
||||
//解除当前角色对应的所有用户的绑定关系
|
||||
export const unbindAllUser = (roleId) => {
|
||||
return request({
|
||||
url: '/admin/user/all/unbind/role',
|
||||
url: '/user/all/unbind/role',
|
||||
method: 'put',
|
||||
data: {
|
||||
id: roleId
|
||||
@@ -85,7 +85,7 @@ export const unbindAllUser = (roleId) => {
|
||||
//根据岗位id获取分配的用户信息
|
||||
export const getUserInfoByPostId = (postId, params) => {
|
||||
return request({
|
||||
url: `/admin/user/post/${postId}`,
|
||||
url: `/user/post/${postId}`,
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
@@ -93,7 +93,7 @@ export const getUserInfoByPostId = (postId, params) => {
|
||||
//排除岗位id获取用户信息
|
||||
export const getUserExcludePostId = (postId, params) => {
|
||||
return request({
|
||||
url: `/admin/user/post/exclude/${postId}`,
|
||||
url: `/user/post/exclude/${postId}`,
|
||||
method: "get",
|
||||
params
|
||||
});
|
||||
@@ -101,7 +101,7 @@ export const getUserExcludePostId = (postId, params) => {
|
||||
//建立岗位与用户绑定关系
|
||||
export const postBindUser = (userIds, postId) => {
|
||||
return request({
|
||||
url: '/admin/user/bind/post',
|
||||
url: '/user/bind/post',
|
||||
method: 'put',
|
||||
data: {
|
||||
ids: userIds,
|
||||
@@ -112,7 +112,7 @@ export const postBindUser = (userIds, postId) => {
|
||||
// 解除岗位与用户之间的绑定状态
|
||||
export const cancelPostAndUserAuthorization = (userIds, postId) => {
|
||||
return request({
|
||||
url: '/admin/user/unbind/post',
|
||||
url: '/user/unbind/post',
|
||||
method: 'put',
|
||||
data: {
|
||||
ids: userIds,
|
||||
@@ -123,7 +123,7 @@ export const cancelPostAndUserAuthorization = (userIds, postId) => {
|
||||
//解除当前岗位对应的所有用户的绑定关系
|
||||
export const unbindAllUserByPost = (postId) => {
|
||||
return request({
|
||||
url: '/admin/user/all/unbind/post',
|
||||
url: '/user/all/unbind/post',
|
||||
method: 'put',
|
||||
data: {
|
||||
id: postId
|
||||
|
||||
@@ -3,7 +3,7 @@ import request from '@/utils/request.js'
|
||||
//根据角色或者部门获取到对应的数据
|
||||
export function getUserTree(type,chooseId){
|
||||
return request({
|
||||
url:`/admin/user/choose/${type}/${chooseId}`,
|
||||
url:`/user/choose/${type}/${chooseId}`,
|
||||
method:'get'
|
||||
})
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="logo" ref="logo">
|
||||
<span v-if="!siderbarStore.isCollapse">SmartOpsWeb</span>
|
||||
<span v-if="!siderbarStore.isCollapse">FateVerse</span>
|
||||
</div>
|
||||
<el-scrollbar :height="`calc(100vh - ${logoHeight}px)`" style="background-color: #ffffff">
|
||||
<el-menu
|
||||
|
||||
@@ -20,35 +20,35 @@
|
||||
* @returns
|
||||
*/
|
||||
export const useDebounce = function (func, wait = 1000, isImmediate = true) {
|
||||
var timerId = null
|
||||
var flag = true
|
||||
var timerId = null;
|
||||
var flag = true;
|
||||
return function () {
|
||||
let context = this
|
||||
let args = arguments
|
||||
clearTimeout(timerId)
|
||||
let context = this;
|
||||
let args = arguments;
|
||||
clearTimeout(timerId);
|
||||
if (isImmediate) {
|
||||
if (flag) {
|
||||
func.apply(context, args)
|
||||
flag = false
|
||||
func?.apply(context, args);
|
||||
flag = false;
|
||||
}
|
||||
timerId = setTimeout(function () {
|
||||
flag = true
|
||||
}, wait)
|
||||
flag = true;
|
||||
}, wait);
|
||||
} else {
|
||||
timerId = setTimeout(function () {
|
||||
func.apply(context, args)
|
||||
}, wait)
|
||||
func?.apply(context, args);
|
||||
}, wait);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
export const tableHead = {
|
||||
backgroundColor: '#F6F9FF',
|
||||
color: '#3D3F46',
|
||||
textAlign: 'center',
|
||||
backgroundColor: "#F6F9FF",
|
||||
color: "#3D3F46",
|
||||
textAlign: "center",
|
||||
// lineHeight: '30px'
|
||||
}
|
||||
};
|
||||
|
||||
export const tabCell = {
|
||||
textAlign: 'center',
|
||||
}
|
||||
textAlign: "center",
|
||||
};
|
||||
|
||||
@@ -75,7 +75,6 @@
|
||||
:lazy="true"
|
||||
ref="singleTable"
|
||||
v-loading="loading"
|
||||
@select="handleSelect"
|
||||
v-tabh
|
||||
>
|
||||
<el-table-column type="selection" width="55" />
|
||||
@@ -320,15 +319,15 @@ const handleMoreDelete = (adapterIds) => {
|
||||
};
|
||||
|
||||
//勾选table数据行事件
|
||||
const handleSelect = async (selection) => {
|
||||
if (selection.length !== 0) {
|
||||
disabled.value = false;
|
||||
adapterIds.value = selection.map((item) => item.adapterId).join();
|
||||
adapterNameList.value = selection.map((item) => item.adapterName).join();
|
||||
} else {
|
||||
disabled.value = true;
|
||||
}
|
||||
};
|
||||
// const handleSelect = async (selection) => {
|
||||
// if (selection.length !== 0) {
|
||||
// disabled.value = false;
|
||||
// adapterIds.value = selection.map((item) => item.adapterId).join();
|
||||
// adapterNameList.value = selection.map((item) => item.adapterName).join();
|
||||
// } else {
|
||||
// disabled.value = true;
|
||||
// }
|
||||
// };
|
||||
|
||||
//取消
|
||||
const handleCancel = () => {
|
||||
@@ -371,6 +370,16 @@ const handleSizeChange = async (val) => {
|
||||
await getList();
|
||||
};
|
||||
|
||||
//重置搜索
|
||||
const handleReset = () => {
|
||||
console.log("重置~~");
|
||||
};
|
||||
|
||||
// 导出
|
||||
const handleExport = () => {
|
||||
console.log("导出~~");
|
||||
};
|
||||
|
||||
//点击页码进行分页功能
|
||||
const handleCurrentChange = async (val) => {
|
||||
pageInfo.pageNum = val;
|
||||
|
||||
@@ -67,7 +67,6 @@
|
||||
:lazy="true"
|
||||
ref="singleTable"
|
||||
v-loading="loading"
|
||||
@select="handleSelect"
|
||||
v-tabh
|
||||
>
|
||||
<el-table-column type="selection" width="55" />
|
||||
@@ -110,11 +109,11 @@
|
||||
{{ scope.row.remark || "--" }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="240" align="center">
|
||||
<el-table-column label="操作" width="350" align="center">
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
type="primary"
|
||||
size="mini"
|
||||
size="small"
|
||||
v-perm="['query:adapter:edit']"
|
||||
@click="handleEdit(scope.row.adapterId)"
|
||||
link
|
||||
@@ -122,7 +121,7 @@
|
||||
</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
size="mini"
|
||||
size="small"
|
||||
@click="handleEdit(scope.row)"
|
||||
link
|
||||
>编辑
|
||||
@@ -130,11 +129,19 @@
|
||||
<el-button
|
||||
v-if="scope.row.createDataAdapter"
|
||||
type="primary"
|
||||
size="mini"
|
||||
size="small"
|
||||
@click="handleDesign(scope.row)"
|
||||
link
|
||||
>设计
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="scope.row.createDataAdapter"
|
||||
type="primary"
|
||||
size="small"
|
||||
@click="handlePublish(scope.row.portalId)"
|
||||
link
|
||||
>上线
|
||||
</el-button>
|
||||
<popover-delete
|
||||
:name="scope.row.portalName"
|
||||
:type="'接口'"
|
||||
@@ -324,6 +331,7 @@ import {
|
||||
getPortalDetail,
|
||||
updatePortal,
|
||||
deletePortal,
|
||||
publishPortal,
|
||||
} from "@/api/custom-query/portal.js";
|
||||
import Tag from "@/components/Tag.vue";
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
@@ -581,7 +589,21 @@ const routerToAdapter = (adapterId, portalId) => {
|
||||
});
|
||||
};
|
||||
|
||||
//提交
|
||||
// 发布接口
|
||||
const handlePublish = async (portalId) => {
|
||||
try {
|
||||
const { code, msg } = await publishPortal({
|
||||
portalId,
|
||||
});
|
||||
if (code === 1000) {
|
||||
ElMessage({ type: "success", message: "发布成功" });
|
||||
}
|
||||
} catch (err) {
|
||||
console.log("Publish Failed:", err);
|
||||
}
|
||||
};
|
||||
|
||||
// 提交
|
||||
const handleSubmit = async (instance) => {
|
||||
await instance.validate((success, fields) => {
|
||||
if (success) {
|
||||
@@ -673,6 +695,11 @@ const handleSelectQueryDetail = async (queryId) => {
|
||||
}
|
||||
};
|
||||
|
||||
//重置搜索
|
||||
const handleReset = () => {
|
||||
console.log("重置~~");
|
||||
};
|
||||
|
||||
// 适配器来源切换
|
||||
const handleAdapterRadioChange = () => {
|
||||
form.dataAdapter.type = null;
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<el-col :span="6">
|
||||
<div class="home-top-right">
|
||||
<el-image :src="coffee" style="height: 100px"/>
|
||||
<span>SmartOpsWeb </span>
|
||||
<span>FateVerse 缘境系统</span>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
:rules="rules"
|
||||
label-width="65px"
|
||||
>
|
||||
<h3>SmartOpsWeb</h3>
|
||||
<h3>FateVerse</h3>
|
||||
<el-form-item prop="username" label="账号">
|
||||
<el-input v-model="loginForm.username" :prefix-icon="User" ></el-input>
|
||||
</el-form-item>
|
||||
|
||||
@@ -255,7 +255,7 @@ const handleEdit = async (configId) => {
|
||||
}
|
||||
//导出excel
|
||||
const handleExport = () => {
|
||||
downLoadExcel('/admin/config/export', {...queryParams})
|
||||
downLoadExcel('/config/export', {...queryParams})
|
||||
}
|
||||
|
||||
//勾选table数据行的 Checkbox
|
||||
|
||||
@@ -72,7 +72,7 @@ const data = reactive({
|
||||
currentRender: ({row, index}) => {
|
||||
return (
|
||||
<div>
|
||||
<el-Button type={'primary'} link
|
||||
<el-Button type={'primary'} link
|
||||
onClick={()=>handleEdit(row)}
|
||||
>
|
||||
编辑
|
||||
@@ -83,7 +83,7 @@ const data = reactive({
|
||||
}
|
||||
}
|
||||
],
|
||||
api: '/admin/ip/back',
|
||||
api: '/ip/back',
|
||||
params: {}
|
||||
},
|
||||
// search
|
||||
@@ -181,7 +181,7 @@ const search = (val) => {
|
||||
if(val.dateValue) {
|
||||
params.startTime = val.dateValue[0]
|
||||
params.endTime = val.dateValue[1]
|
||||
}
|
||||
}
|
||||
delete params.dateValue
|
||||
data.tableConfig.params = params
|
||||
tableIns.value.refresh()
|
||||
@@ -208,11 +208,11 @@ const handleCancel = () => {
|
||||
|
||||
const handleExport = () => {
|
||||
const baseQuery = tableIns.value.getQuery()
|
||||
downLoadExcel('/admin/ip/back/export', {...baseQuery, ...data.tableConfig.params})
|
||||
downLoadExcel('/ip/back/export', {...baseQuery, ...data.tableConfig.params})
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
</style>
|
||||
</style>
|
||||
|
||||
@@ -558,7 +558,7 @@ const handleDictDataSubmit = async (instance) => {
|
||||
|
||||
//导出excel
|
||||
const handleExport = () => {
|
||||
downLoadExcel("/admin/dict/type/export", {...queryType});
|
||||
downLoadExcel("/dict/type/export", {...queryType});
|
||||
};
|
||||
|
||||
//切换每页显示条数
|
||||
|
||||
@@ -172,7 +172,7 @@ const handleCancel = () => {
|
||||
}
|
||||
|
||||
const handleExport = () => {
|
||||
downLoadExcel('/admin/ip/back/export', {...queryParams})
|
||||
downLoadExcel('/ip/back/export', {...queryParams})
|
||||
}
|
||||
|
||||
//切换每页显示条数
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { fileURLToPath, URL } from "node:url";
|
||||
import { defineConfig } from "vite";
|
||||
import {fileURLToPath, URL} from "node:url";
|
||||
import {defineConfig} from "vite";
|
||||
import AutoImport from "unplugin-auto-import/vite";
|
||||
import Components from "unplugin-vue-components/vite";
|
||||
import { ElementPlusResolver } from "unplugin-vue-components/resolvers";
|
||||
import {ElementPlusResolver} from "unplugin-vue-components/resolvers";
|
||||
import Icons from "unplugin-icons/vite";
|
||||
import IconsResolver from "unplugin-icons/resolver";
|
||||
import vue from "@vitejs/plugin-vue";
|
||||
@@ -69,16 +69,19 @@ export default defineConfig({
|
||||
strictPort: false,
|
||||
open: true,
|
||||
proxy: {
|
||||
"/api/custom/": {
|
||||
target: "http://clay.frp.feashow.cn",
|
||||
// target: "http://10.7.127.57:8000",
|
||||
// "/api/custom/": {
|
||||
// target: "http://clay.frp.feashow.cn",
|
||||
// // target: "http://10.7.127.57:8000",
|
||||
// changeOrigin: true,
|
||||
// rewrite: (path) => path.replace(/^\/api/, ""),
|
||||
// },
|
||||
"/api": {
|
||||
// target: "http://fateverse-vue.frp.feashow.cn",
|
||||
// changeOrigin: true,
|
||||
target: "http://192.168.31.176:9010",
|
||||
changeOrigin: true,
|
||||
rewrite: (path) => path.replace(/^\/api/, ""),
|
||||
},
|
||||
"/api": {
|
||||
target: "http://fateverse-vue.frp.feashow.cn",
|
||||
changeOrigin: true,
|
||||
},
|
||||
"/api/notice-ws": {
|
||||
target: "ws://fateverse-vue.frp.feashow.cn/api/notice-ws",
|
||||
ws: true,
|
||||
|
||||
Reference in New Issue
Block a user