This commit is contained in:
2024-08-21 11:03:31 +08:00
parent 934b3b7b74
commit e25627cda9
33 changed files with 204 additions and 176 deletions

View File

@@ -1,9 +1,6 @@
kind: pipeline kind: pipeline
type: docker type: docker
name: fateverse-vue name: SmartOpsWeb
platform:
os: linux
arch: arm64
steps: steps:
- name: build-package - name: build-package
image: node:16.20.0 image: node:16.20.0
@@ -32,60 +29,37 @@ steps:
- cp -r dist /app/build/$DRONE_REPO_NAME - cp -r dist /app/build/$DRONE_REPO_NAME
- name: build-docker # 制作docker镜像 - name: build-docker # 制作docker镜像
image: docker # 使用官方docker镜像 image: docker # 使用官方docker镜像
volumes: # 将容器内目录挂载到宿主机 volumes: # 将容器内目录挂载到宿主机
- name: docker - name: docker
path: /var/run/docker.sock # 挂载宿主机的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命令 commands: # 定义在Docker容器中执行的shell命令
- docker rmi -f $(docker images | grep $DRONE_REPO_NAME | awk '{print $3}')
- cat Dockerfile - cat Dockerfile
- sed -i 's/$REGISTRY/'"$REGISTRY"'/' deployment.yml - sed -i 's/$REGISTRY/'"$REGISTRY"'/' deployment.yml
- sed -i 's/$REGISTRY_NAMESPACE/'"$REGISTRY_NAMESPACE"'/' 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_REPO_NAME/'"$DRONE_REPO_NAME"'/' deployment.yml
- sed -i 's/$DRONE_COMMIT/'"$DRONE_COMMIT"'/' deployment.yml - sed -i 's/$DRONE_COMMIT/'"$DRONE_COMMIT"'/' deployment.yml
# docker登录,不能在脚本中登录,并且不能使用docker login -u -p # docker登录,不能在脚本中登录,并且不能使用docker login -u -p
- echo $DOCKER_PASSWORD | docker login $REGISTRY --username $DOCKER_USERNAME --password-stdin
- chmod +x docker.sh - chmod +x docker.sh
- cat docker.sh - cat docker.sh
- sh docker.sh - sh docker.sh
# 执行完脚本删除本次制作的docker镜像,避免多次后当前runner空间不足 # 执行完脚本删除本次制作的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: volumes:
- name: cache - name: cache
host: host:
path: /home/npm/cache path: /home/SmartOpsWeb/cache
- name: config # k8s对接的配置文件 - name: config # k8s对接的配置文件
host:
path: /home/kubect
- name: docker # 宿主机中的docker - name: docker # 宿主机中的docker
host: host:
path: /var/run/docker.sock path: /var/run/docker.sock
trigger: trigger:
branch: branch:
- prod # - prod
event: event:
- push - push

View File

@@ -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>Ŀ¼ ## <20><><EFBFBD><EFBFBD>Ŀ¼
```sh ```sh

View File

@@ -4,7 +4,7 @@
<meta charset="UTF-8"> <meta charset="UTF-8">
<link rel="icon" href="/favicon.ico"> <link rel="icon" href="/favicon.ico">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>SmartOpsWeb</title> <title>FateVerse</title>
</head> </head>
<body> <body>
<div id="app"></div> <div id="app"></div>

5
package-lock.json generated
View File

@@ -1,11 +1,11 @@
{ {
"name": "SmartOpsWeb", "name": "fateverse",
"version": "0.0.0", "version": "0.0.0",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "SmartOpsWeb", "name": "fateverse",
"version": "0.0.0", "version": "0.0.0",
"dependencies": { "dependencies": {
"@antv/g6": "^3.5.7", "@antv/g6": "^3.5.7",
@@ -38,6 +38,7 @@
"@codemirror/lang-sql": "^6.5.4", "@codemirror/lang-sql": "^6.5.4",
"@vitejs/plugin-vue": "^4.2.1", "@vitejs/plugin-vue": "^4.2.1",
"@vitejs/plugin-vue-jsx": "^3.0.1", "@vitejs/plugin-vue-jsx": "^3.0.1",
"lodash": "^4.17.21",
"unplugin-auto-import": "^0.15.3", "unplugin-auto-import": "^0.15.3",
"unplugin-vue-components": "^0.24.1", "unplugin-vue-components": "^0.24.1",
"vite": "^4.3.4", "vite": "^4.3.4",

View File

@@ -1,5 +1,5 @@
{ {
"name": "SmartOpsWeb", "name": "fateverse",
"version": "0.0.0", "version": "0.0.0",
"private": true, "private": true,
"scripts": { "scripts": {

View File

@@ -2,8 +2,8 @@ import request from "@/utils/request.js";
export const modifyUser=(data)=>{ export const modifyUser=(data)=>{
return request({ return request({
url:'/admin/user', url:'/user',
method:'put', method:'put',
data data
}) })
} }

View File

@@ -2,14 +2,14 @@ import request from '@/utils/request.js'
export const getCacheOpt = (cacheKey) => { export const getCacheOpt = (cacheKey) => {
return request({ return request({
url: '/admin/dict/data/option/'+ cacheKey, url: '/dict/data/option/'+ cacheKey,
method: 'get', method: 'get',
}) })
} }
export const getCacheType = (cacheKey) => { export const getCacheType = (cacheKey) => {
return request({ return request({
url: '/admin/dict/data/type/'+ cacheKey, url: '/dict/data/type/'+ cacheKey,
method: 'get', method: 'get',
}) })
} }

View File

@@ -66,3 +66,12 @@ export const deletePortal = (portalId) => {
method: "delete", method: "delete",
}); });
}; };
// 发布列表接口
export const publishPortal = (data) => {
return request({
url: "/custom/query/portal/list/publish",
method: "post",
data,
});
};

View File

@@ -3,7 +3,7 @@ import request from '@/utils/request.js'
//获取部门信息 //获取部门信息
export const getDeptList = (params) => { export const getDeptList = (params) => {
return request({ return request({
url: '/admin/dept', url: '/dept',
method: 'get', method: 'get',
params params
}) })
@@ -11,21 +11,21 @@ export const getDeptList = (params) => {
//获取增加时的部门列表 //获取增加时的部门列表
export const getDeptOption = () => { export const getDeptOption = () => {
return request({ return request({
url: '/admin/dept/option', url: '/dept/option',
method: 'get' method: 'get'
}) })
} }
//获取修改时的部门列表 //获取修改时的部门列表
export const getDeptExcludeOption = (deptId) => { export const getDeptExcludeOption = (deptId) => {
return request({ return request({
url: `/admin/dept/option/exclude/${deptId}`, url: `/dept/option/exclude/${deptId}`,
method: 'get' method: 'get'
}) })
} }
//新增部门 //新增部门
export const addDept = (data) => { export const addDept = (data) => {
return request({ return request({
url: '/admin/dept', url: '/dept',
method: 'post', method: 'post',
data data
}) })
@@ -33,7 +33,7 @@ export const addDept = (data) => {
//编辑部门 //编辑部门
export const editDept = (data) => { export const editDept = (data) => {
return request({ return request({
url: '/admin/dept', url: '/dept',
method: 'put', method: 'put',
data data
}) })
@@ -41,14 +41,14 @@ export const editDept = (data) => {
//查询部门详情 //查询部门详情
export const getDeptDetail = (deptId) => { export const getDeptDetail = (deptId) => {
return request({ return request({
url: `/admin/dept/${deptId}`, url: `/dept/${deptId}`,
method: "get" method: "get"
}); });
}; };
//删除部门 //删除部门
export const deleteDept = (deptId) => { export const deleteDept = (deptId) => {
return request({ return request({
url: `/admin/dept/${deptId}`, url: `/dept/${deptId}`,
method: "delete" method: "delete"
}); });
}; };

View File

@@ -3,7 +3,7 @@ import request from '@/utils/request.js'
// 获取list // 获取list
export const getIPBlackList = (params) => { export const getIPBlackList = (params) => {
return request({ return request({
url: '/admin/ip/back', url: '/ip/back',
method: 'get', method: 'get',
params params
}) })
@@ -12,7 +12,7 @@ export const getIPBlackList = (params) => {
// 新增 // 新增
export const addIPBlack = (data) => { export const addIPBlack = (data) => {
return request({ return request({
url: '/admin/ip/back', url: '/ip/back',
method: 'post', method: 'post',
data data
}) })
@@ -21,7 +21,7 @@ export const addIPBlack = (data) => {
// 修改 // 修改
export const editIPBlack = (data) => { export const editIPBlack = (data) => {
return request({ return request({
url: '/admin/ip/back', url: '/ip/back',
method: 'put', method: 'put',
data data
}) })
@@ -30,7 +30,7 @@ export const editIPBlack = (data) => {
// 删除 // 删除
export const delIPBlack = (ids) => { export const delIPBlack = (ids) => {
return request({ return request({
url: '/admin/ip/back/'+ids, url: '/ip/back/'+ids,
method: 'delete' method: 'delete'
}) })
} }
@@ -38,7 +38,7 @@ export const delIPBlack = (ids) => {
// 详情 // 详情
export const getIPBlackDetail = (id) => { export const getIPBlackDetail = (id) => {
return request({ return request({
url: '/admin/ip/back/'+id, url: '/ip/back/'+id,
method: 'get' method: 'get'
}) })
} }

View File

@@ -2,14 +2,14 @@ import request from '@/utils/request.js'
export const getCodeImg = () => { export const getCodeImg = () => {
return request({ return request({
url: '/auth/captchaImage', url: '/captchaImage',
method: 'get' method: 'get'
}) })
} }
export const login = (data) => { export const login = (data) => {
return request({ return request({
url: '/auth/login', url: '/login',
method: 'post', method: 'post',
data data
}) })
@@ -17,7 +17,7 @@ export const login = (data) => {
export const getUserInfo = () => { export const getUserInfo = () => {
return request({ return request({
url: '/auth/info', url: '/info',
method: 'get', method: 'get',
}) })
} }

View File

@@ -2,7 +2,7 @@ import request from "@/utils/request.js";
//查询在线用户 //查询在线用户
export const getOnlineList = (params) => { export const getOnlineList = (params) => {
return request({ return request({
url: "/admin/online/user", url: "/online/user",
method: "get", method: "get",
params params
}); });
@@ -11,7 +11,7 @@ export const getOnlineList = (params) => {
//强制退出用户 //强制退出用户
export const deleteOnlineUser= (tokenId) => { export const deleteOnlineUser= (tokenId) => {
return request({ return request({
url: '/admin/online/user/'+tokenId, url: '/online/user/'+tokenId,
method: "delete" method: "delete"
}); });
}; };

View File

@@ -3,7 +3,7 @@ import request from '@/utils/request.js'
//获取岗位信息 //获取岗位信息
export const getPostList = (params) => { export const getPostList = (params) => {
return request({ return request({
url: '/admin/post', url: '/post',
method: 'get', method: 'get',
params params
}) })
@@ -11,7 +11,7 @@ export const getPostList = (params) => {
//查询岗位详情 //查询岗位详情
export const getPostDetail = (postId) => { export const getPostDetail = (postId) => {
return request({ return request({
url: `/admin/post/info/${postId}`, url: `/post/info/${postId}`,
method: "get" method: "get"
}); });
}; };
@@ -19,7 +19,7 @@ export const getPostDetail = (postId) => {
//新增岗位 //新增岗位
export const addPost = (data) => { export const addPost = (data) => {
return request({ return request({
url: '/admin/post', url: '/post',
method: 'post', method: 'post',
data data
}) })
@@ -27,7 +27,7 @@ export const addPost = (data) => {
//编辑岗位 //编辑岗位
export const editPost = (data) => { export const editPost = (data) => {
return request({ return request({
url: '/admin/post', url: '/post',
method: 'put', method: 'put',
data data
}) })
@@ -35,14 +35,14 @@ export const editPost = (data) => {
//获取select下拉框数据 //获取select下拉框数据
export const getSelectOption = () => { export const getSelectOption = () => {
return request({ return request({
url: '/admin/post/option', url: '/post/option',
method: 'get' method: 'get'
}) })
} }
//删除角色信息 //删除角色信息
export const deletePost = (postId) => { export const deletePost = (postId) => {
return request({ return request({
url: `/admin/post/${postId}`, url: `/post/${postId}`,
method: "delete" method: "delete"
}); });
}; };

View File

@@ -2,7 +2,7 @@ import request from '@/utils/request.js'
export const getRoleList = (params) => { export const getRoleList = (params) => {
return request({ return request({
url: '/admin/role', url: '/role',
method: 'get', method: 'get',
params params
}) })
@@ -10,21 +10,21 @@ export const getRoleList = (params) => {
//查询角色option //查询角色option
export const getRoleOption = () => { export const getRoleOption = () => {
return request({ return request({
url: '/admin/role/option', url: '/role/option',
method: "get" method: "get"
}); });
}; };
//查询角色信息 //查询角色信息
export const getRoleDetail = (roleId) => { export const getRoleDetail = (roleId) => {
return request({ return request({
url: `/admin/role/${roleId}`, url: `/role/${roleId}`,
method: "get" method: "get"
}); });
}; };
//根据菜单id获取分配的角色信息 //根据菜单id获取分配的角色信息
export const getRoleInfoByMenuId = (params) => { export const getRoleInfoByMenuId = (params) => {
return request({ return request({
url: '/admin/role/menu', url: '/role/menu',
method: 'get', method: 'get',
params params
}) })
@@ -32,7 +32,7 @@ export const getRoleInfoByMenuId = (params) => {
//获取排除在外的角色 //获取排除在外的角色
export const getRoleExcludeMenuId = (params) => { export const getRoleExcludeMenuId = (params) => {
return request({ return request({
url: '/admin/role/menu/list', url: '/role/menu/list',
method: "get", method: "get",
params params
}); });
@@ -40,7 +40,7 @@ export const getRoleExcludeMenuId = (params) => {
// 新增角色 // 新增角色
export const addRole = (data) => { export const addRole = (data) => {
return request({ return request({
url: '/admin/role', url: '/role',
method: 'post', method: 'post',
data data
}) })
@@ -49,7 +49,7 @@ export const addRole = (data) => {
// 修改角色 // 修改角色
export const editRole = (data) => { export const editRole = (data) => {
return request({ return request({
url: '/admin/role', url: '/role',
method: 'put', method: 'put',
data data
}) })
@@ -57,7 +57,7 @@ export const editRole = (data) => {
//解除当前角色对应的所有菜单的绑定关系 //解除当前角色对应的所有菜单的绑定关系
export const unbindAllRole = (menuId) => { export const unbindAllRole = (menuId) => {
return request({ return request({
url: '/admin/role/all/unbind/menu', url: '/role/all/unbind/menu',
method: 'put', method: 'put',
data: { data: {
id: menuId id: menuId
@@ -67,7 +67,7 @@ export const unbindAllRole = (menuId) => {
// 解除角色与菜单之间的绑定状态 // 解除角色与菜单之间的绑定状态
export const cancelAuthorization = (menuId, roleIds) => { export const cancelAuthorization = (menuId, roleIds) => {
return request({ return request({
url: '/admin/role/unbind/menu', url: '/role/unbind/menu',
method: 'put', method: 'put',
data: { data: {
id: menuId, id: menuId,
@@ -78,7 +78,7 @@ export const cancelAuthorization = (menuId, roleIds) => {
//建立角色用户绑定关系 //建立角色用户绑定关系
export const bindRoleAndMenu = (menuId, roleIds) => { export const bindRoleAndMenu = (menuId, roleIds) => {
return request({ return request({
url: '/admin/role/bind/menu', url: '/role/bind/menu',
method: 'put', method: 'put',
data: { data: {
id: menuId, id: menuId,
@@ -89,7 +89,7 @@ export const bindRoleAndMenu = (menuId, roleIds) => {
//删除角色信息 //删除角色信息
export const deleteRole = (roleId) => { export const deleteRole = (roleId) => {
return request({ return request({
url: `/admin/role/${roleId}`, url: `/role/${roleId}`,
method: "delete" method: "delete"
}); });
}; };

View File

@@ -3,7 +3,7 @@ import request from '@/utils/request.js'
// 请求参数配置表list // 请求参数配置表list
export const getConfigList = (params) => { export const getConfigList = (params) => {
return request({ return request({
url: '/admin/config', url: '/config',
method: 'get', method: 'get',
params params
}) })
@@ -14,7 +14,7 @@ export const getConfigList = (params) => {
// 获取参数配置表详情 // 获取参数配置表详情
export const getConfigDetails = (configId) => { export const getConfigDetails = (configId) => {
return request({ return request({
url: '/admin/config/' + configId, url: '/config/' + configId,
method: 'get' method: 'get'
}) })
} }
@@ -22,7 +22,7 @@ export const getConfigDetails = (configId) => {
// 新增参数配置表 // 新增参数配置表
export const addConfig = (data) => { export const addConfig = (data) => {
return request({ return request({
url: '/admin/config', url: '/config',
method: 'post', method: 'post',
data data
}) })
@@ -31,7 +31,7 @@ export const addConfig = (data) => {
// 修改参数配置表 // 修改参数配置表
export const editConfig = (data) => { export const editConfig = (data) => {
return request({ return request({
url: '/admin/config', url: '/config',
method: 'put', method: 'put',
data data
}) })
@@ -40,7 +40,7 @@ export const editConfig = (data) => {
// 删除参数配置表 // 删除参数配置表
export const delConfig =(configId) => { export const delConfig =(configId) => {
return request({ return request({
url: '/admin/config/' + configId, url: '/config/' + configId,
method: 'delete' method: 'delete'
}) })
} }

View File

@@ -3,7 +3,7 @@ import request from '@/utils/request.js'
// 请求字典类型表list // 请求字典类型表list
export const getDictDataList = (params) => { export const getDictDataList = (params) => {
return request({ return request({
url: '/admin/dict/data', url: '/dict/data',
method: 'get', method: 'get',
params params
}) })
@@ -12,7 +12,7 @@ export const getDictDataList = (params) => {
// 获取字典数据表详情 // 获取字典数据表详情
export const getDictDataDetails = (dictCode) => { export const getDictDataDetails = (dictCode) => {
return request({ return request({
url: '/admin/dict/data/' + dictCode, url: '/dict/data/' + dictCode,
method: 'get' method: 'get'
}) })
} }
@@ -20,7 +20,7 @@ export const getDictDataDetails = (dictCode) => {
// 新增字典数据表 // 新增字典数据表
export const addDictData = (data) => { export const addDictData = (data) => {
return request({ return request({
url: '/admin/dict/data', url: '/dict/data',
method: 'post', method: 'post',
data data
}) })
@@ -29,7 +29,7 @@ export const addDictData = (data) => {
// 修改字典类型表 // 修改字典类型表
export const editDictData = (data) => { export const editDictData = (data) => {
return request({ return request({
url: '/admin/dict/data', url: '/dict/data',
method: 'put', method: 'put',
data data
}) })
@@ -38,7 +38,7 @@ export const editDictData = (data) => {
// 删除字典类型表 // 删除字典类型表
export const delDictData = (dictCode) => { export const delDictData = (dictCode) => {
return request({ return request({
url: `/admin/dict/data/${dictCode}`, url: `/dict/data/${dictCode}`,
method: 'delete' method: 'delete'
}) })
} }

View File

@@ -2,7 +2,7 @@ import request from '@/utils/request.js'
export const getDictOption = () => { export const getDictOption = () => {
return request({ return request({
url: '/admin/dict/type/option', url: '/dict/type/option',
method: 'get' method: 'get'
}) })
} }
@@ -10,7 +10,7 @@ export const getDictOption = () => {
// 请求字典类型表list // 请求字典类型表list
export const getDictTypeList = (params) => { export const getDictTypeList = (params) => {
return request({ return request({
url: '/admin/dict/type', url: '/dict/type',
method: 'get', method: 'get',
params params
}) })
@@ -19,7 +19,7 @@ export const getDictTypeList = (params) => {
// 获取字典类型表详情 // 获取字典类型表详情
export const getDictTypeDetails = (dictTypeId) => { export const getDictTypeDetails = (dictTypeId) => {
return request({ return request({
url: '/admin/dict/type/' + dictTypeId, url: '/dict/type/' + dictTypeId,
method: 'get' method: 'get'
}) })
} }
@@ -27,7 +27,7 @@ export const getDictTypeDetails = (dictTypeId) => {
// 新增字典类型表 // 新增字典类型表
export const addDictType = (data) => { export const addDictType = (data) => {
return request({ return request({
url: '/admin/dict/type', url: '/dict/type',
method: 'post', method: 'post',
data data
}) })
@@ -36,7 +36,7 @@ export const addDictType = (data) => {
// 修改字典类型表 // 修改字典类型表
export const editDictType = (data) => { export const editDictType = (data) => {
return request({ return request({
url: '/admin/dict/type', url: '/dict/type',
method: 'put', method: 'put',
data data
}) })
@@ -45,7 +45,7 @@ export const editDictType = (data) => {
// 删除字典类型表 // 删除字典类型表
export const delDictType =(dictTypeId) => { export const delDictType =(dictTypeId) => {
return request({ return request({
url: '/admin/dict/type/' + dictTypeId, url: '/dict/type/' + dictTypeId,
method: 'delete' method: 'delete'
}) })
} }

View File

@@ -2,14 +2,14 @@ import request from '@/utils/request.js'
export const getMappingList = (params) => { export const getMappingList = (params) => {
return request({ return request({
url: '/admin/mapping/switch', url: '/mapping/switch',
method: 'get', method: 'get',
params params
}) })
} }
export const editMappingSwitch = (data) => { export const editMappingSwitch = (data) => {
return request({ return request({
url: '/admin/mapping/switch', url: '/mapping/switch',
method: 'put', method: 'put',
data data
}) })

View File

@@ -2,7 +2,7 @@ import request from '@/utils/request'
export const getRouters = () => { export const getRouters = () => {
return request({ return request({
url: '/auth/router', url: '/router',
method: 'get' method: 'get'
}) })
} }

View File

@@ -2,7 +2,7 @@ import request from '@/utils/request.js'
export const getMenuList = (params) => { export const getMenuList = (params) => {
return request({ return request({
url: '/admin/menu', url: '/menu',
method: 'get', method: 'get',
params params
}) })
@@ -10,7 +10,7 @@ export const getMenuList = (params) => {
export const editMenu = (data) => { export const editMenu = (data) => {
return request({ return request({
url: '/admin/menu', url: '/menu',
method: 'put', method: 'put',
data data
}) })
@@ -18,7 +18,7 @@ export const editMenu = (data) => {
export const addMenu = (data) => { export const addMenu = (data) => {
return request({ return request({
url: '/admin/menu', url: '/menu',
method: 'post', method: 'post',
data data
}) })
@@ -26,28 +26,28 @@ export const addMenu = (data) => {
export const delMenu = (menuId) => { export const delMenu = (menuId) => {
return request({ return request({
url: '/admin/menu/'+menuId, url: '/menu/'+menuId,
method: 'delete' method: 'delete'
}) })
} }
export const getMenuInfo = (menuId) => { export const getMenuInfo = (menuId) => {
return request({ return request({
url: '/admin/menu/info/'+menuId, url: '/menu/info/'+menuId,
method: 'get' method: 'get'
}) })
} }
export const getMenuOpt = (excludeId=0) => { export const getMenuOpt = (excludeId=0) => {
return request({ return request({
url: '/admin/menu/option/'+excludeId, url: '/menu/option/'+excludeId,
method: 'get' method: 'get'
}) })
} }
export const getMenuOptRole = (roleId) => { export const getMenuOptRole = (roleId) => {
return request({ return request({
url: '/admin/menu/option/role/'+roleId, url: '/menu/option/role/'+roleId,
method: 'get' method: 'get'
}) })
} }

View File

@@ -2,7 +2,7 @@ import request from '@/utils/request.js'
export const getUserList = (params) => { export const getUserList = (params) => {
return request({ return request({
url: '/admin/user', url: '/user',
method: 'get', method: 'get',
params params
}) })
@@ -11,14 +11,14 @@ export const getUserList = (params) => {
//获取用户详情 //获取用户详情
export const getUserDetail = (userId) => { export const getUserDetail = (userId) => {
return request({ return request({
url: `/admin/user/info/${userId}`, url: `/user/info/${userId}`,
method: "get" method: "get"
}); });
}; };
// 新增用户 // 新增用户
export const addUser = (data) => { export const addUser = (data) => {
return request({ return request({
url: '/admin/user', url: '/user',
method: 'post', method: 'post',
data data
}) })
@@ -26,7 +26,7 @@ export const addUser = (data) => {
// 修改用户 // 修改用户
export const editUser = (data) => { export const editUser = (data) => {
return request({ return request({
url: '/admin/user', url: '/user',
method: 'put', method: 'put',
data data
}) })
@@ -35,14 +35,14 @@ export const editUser = (data) => {
//删除用户信息 //删除用户信息
export const deleteUser = (userId) => { export const deleteUser = (userId) => {
return request({ return request({
url: `/admin/user/${userId}`, url: `/user/${userId}`,
method: "delete" method: "delete"
}); });
}; };
//根据roleId获取用户信息 //根据roleId获取用户信息
export const getUserByRoleId = (roleId, params) => { export const getUserByRoleId = (roleId, params) => {
return request({ return request({
url: `/admin/user/role/${roleId}`, url: `/user/role/${roleId}`,
method: "get", method: "get",
params params
}); });
@@ -50,7 +50,7 @@ export const getUserByRoleId = (roleId, params) => {
//排除角色id获取用户信息 //排除角色id获取用户信息
export const getUserExcludeRoleId = (roleId, params) => { export const getUserExcludeRoleId = (roleId, params) => {
return request({ return request({
url: `/admin/user/role/exclude/${roleId}`, url: `/user/role/exclude/${roleId}`,
method: "get", method: "get",
params params
}); });
@@ -58,7 +58,7 @@ export const getUserExcludeRoleId = (roleId, params) => {
//建立角色用户绑定关系 //建立角色用户绑定关系
export const roleBindUser = (data) => { export const roleBindUser = (data) => {
return request({ return request({
url: '/admin/user/bind/role', url: '/user/bind/role',
method: 'put', method: 'put',
data data
}) })
@@ -66,7 +66,7 @@ export const roleBindUser = (data) => {
// 解除角色与用户之间的绑定状态 // 解除角色与用户之间的绑定状态
export const cancelAuthorization = (data) => { export const cancelAuthorization = (data) => {
return request({ return request({
url: '/admin/user/unbind/role', url: '/user/unbind/role',
method: 'put', method: 'put',
data data
}) })
@@ -74,7 +74,7 @@ export const cancelAuthorization = (data) => {
//解除当前角色对应的所有用户的绑定关系 //解除当前角色对应的所有用户的绑定关系
export const unbindAllUser = (roleId) => { export const unbindAllUser = (roleId) => {
return request({ return request({
url: '/admin/user/all/unbind/role', url: '/user/all/unbind/role',
method: 'put', method: 'put',
data: { data: {
id: roleId id: roleId
@@ -85,7 +85,7 @@ export const unbindAllUser = (roleId) => {
//根据岗位id获取分配的用户信息 //根据岗位id获取分配的用户信息
export const getUserInfoByPostId = (postId, params) => { export const getUserInfoByPostId = (postId, params) => {
return request({ return request({
url: `/admin/user/post/${postId}`, url: `/user/post/${postId}`,
method: 'get', method: 'get',
params params
}) })
@@ -93,7 +93,7 @@ export const getUserInfoByPostId = (postId, params) => {
//排除岗位id获取用户信息 //排除岗位id获取用户信息
export const getUserExcludePostId = (postId, params) => { export const getUserExcludePostId = (postId, params) => {
return request({ return request({
url: `/admin/user/post/exclude/${postId}`, url: `/user/post/exclude/${postId}`,
method: "get", method: "get",
params params
}); });
@@ -101,7 +101,7 @@ export const getUserExcludePostId = (postId, params) => {
//建立岗位与用户绑定关系 //建立岗位与用户绑定关系
export const postBindUser = (userIds, postId) => { export const postBindUser = (userIds, postId) => {
return request({ return request({
url: '/admin/user/bind/post', url: '/user/bind/post',
method: 'put', method: 'put',
data: { data: {
ids: userIds, ids: userIds,
@@ -112,7 +112,7 @@ export const postBindUser = (userIds, postId) => {
// 解除岗位与用户之间的绑定状态 // 解除岗位与用户之间的绑定状态
export const cancelPostAndUserAuthorization = (userIds, postId) => { export const cancelPostAndUserAuthorization = (userIds, postId) => {
return request({ return request({
url: '/admin/user/unbind/post', url: '/user/unbind/post',
method: 'put', method: 'put',
data: { data: {
ids: userIds, ids: userIds,
@@ -123,7 +123,7 @@ export const cancelPostAndUserAuthorization = (userIds, postId) => {
//解除当前岗位对应的所有用户的绑定关系 //解除当前岗位对应的所有用户的绑定关系
export const unbindAllUserByPost = (postId) => { export const unbindAllUserByPost = (postId) => {
return request({ return request({
url: '/admin/user/all/unbind/post', url: '/user/all/unbind/post',
method: 'put', method: 'put',
data: { data: {
id: postId id: postId

View File

@@ -3,7 +3,7 @@ import request from '@/utils/request.js'
//根据角色或者部门获取到对应的数据 //根据角色或者部门获取到对应的数据
export function getUserTree(type,chooseId){ export function getUserTree(type,chooseId){
return request({ return request({
url:`/admin/user/choose/${type}/${chooseId}`, url:`/user/choose/${type}/${chooseId}`,
method:'get' method:'get'
}) })
} }

View File

@@ -1,6 +1,6 @@
<template> <template>
<div class="logo" ref="logo"> <div class="logo" ref="logo">
<span v-if="!siderbarStore.isCollapse">SmartOpsWeb</span> <span v-if="!siderbarStore.isCollapse">FateVerse</span>
</div> </div>
<el-scrollbar :height="`calc(100vh - ${logoHeight}px)`" style="background-color: #ffffff"> <el-scrollbar :height="`calc(100vh - ${logoHeight}px)`" style="background-color: #ffffff">
<el-menu <el-menu

View File

@@ -20,35 +20,35 @@
* @returns * @returns
*/ */
export const useDebounce = function (func, wait = 1000, isImmediate = true) { export const useDebounce = function (func, wait = 1000, isImmediate = true) {
var timerId = null var timerId = null;
var flag = true var flag = true;
return function () { return function () {
let context = this let context = this;
let args = arguments let args = arguments;
clearTimeout(timerId) clearTimeout(timerId);
if (isImmediate) { if (isImmediate) {
if (flag) { if (flag) {
func.apply(context, args) func?.apply(context, args);
flag = false flag = false;
} }
timerId = setTimeout(function () { timerId = setTimeout(function () {
flag = true flag = true;
}, wait) }, wait);
} else { } else {
timerId = setTimeout(function () { timerId = setTimeout(function () {
func.apply(context, args) func?.apply(context, args);
}, wait) }, wait);
} }
} };
} };
export const tableHead = { export const tableHead = {
backgroundColor: '#F6F9FF', backgroundColor: "#F6F9FF",
color: '#3D3F46', color: "#3D3F46",
textAlign: 'center', textAlign: "center",
// lineHeight: '30px' // lineHeight: '30px'
} };
export const tabCell = { export const tabCell = {
textAlign: 'center', textAlign: "center",
} };

View File

@@ -75,7 +75,6 @@
:lazy="true" :lazy="true"
ref="singleTable" ref="singleTable"
v-loading="loading" v-loading="loading"
@select="handleSelect"
v-tabh v-tabh
> >
<el-table-column type="selection" width="55" /> <el-table-column type="selection" width="55" />
@@ -320,15 +319,15 @@ const handleMoreDelete = (adapterIds) => {
}; };
//勾选table数据行事件 //勾选table数据行事件
const handleSelect = async (selection) => { // const handleSelect = async (selection) => {
if (selection.length !== 0) { // if (selection.length !== 0) {
disabled.value = false; // disabled.value = false;
adapterIds.value = selection.map((item) => item.adapterId).join(); // adapterIds.value = selection.map((item) => item.adapterId).join();
adapterNameList.value = selection.map((item) => item.adapterName).join(); // adapterNameList.value = selection.map((item) => item.adapterName).join();
} else { // } else {
disabled.value = true; // disabled.value = true;
} // }
}; // };
//取消 //取消
const handleCancel = () => { const handleCancel = () => {
@@ -371,6 +370,16 @@ const handleSizeChange = async (val) => {
await getList(); await getList();
}; };
//重置搜索
const handleReset = () => {
console.log("重置~~");
};
// 导出
const handleExport = () => {
console.log("导出~~");
};
//点击页码进行分页功能 //点击页码进行分页功能
const handleCurrentChange = async (val) => { const handleCurrentChange = async (val) => {
pageInfo.pageNum = val; pageInfo.pageNum = val;

View File

@@ -67,7 +67,6 @@
:lazy="true" :lazy="true"
ref="singleTable" ref="singleTable"
v-loading="loading" v-loading="loading"
@select="handleSelect"
v-tabh v-tabh
> >
<el-table-column type="selection" width="55" /> <el-table-column type="selection" width="55" />
@@ -110,11 +109,11 @@
{{ scope.row.remark || "--" }} {{ scope.row.remark || "--" }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" width="240" align="center"> <el-table-column label="操作" width="350" align="center">
<template #default="scope"> <template #default="scope">
<el-button <el-button
type="primary" type="primary"
size="mini" size="small"
v-perm="['query:adapter:edit']" v-perm="['query:adapter:edit']"
@click="handleEdit(scope.row.adapterId)" @click="handleEdit(scope.row.adapterId)"
link link
@@ -122,7 +121,7 @@
</el-button> </el-button>
<el-button <el-button
type="primary" type="primary"
size="mini" size="small"
@click="handleEdit(scope.row)" @click="handleEdit(scope.row)"
link link
>编辑 >编辑
@@ -130,11 +129,19 @@
<el-button <el-button
v-if="scope.row.createDataAdapter" v-if="scope.row.createDataAdapter"
type="primary" type="primary"
size="mini" size="small"
@click="handleDesign(scope.row)" @click="handleDesign(scope.row)"
link link
>设计 >设计
</el-button> </el-button>
<el-button
v-if="scope.row.createDataAdapter"
type="primary"
size="small"
@click="handlePublish(scope.row.portalId)"
link
>上线
</el-button>
<popover-delete <popover-delete
:name="scope.row.portalName" :name="scope.row.portalName"
:type="'接口'" :type="'接口'"
@@ -324,6 +331,7 @@ import {
getPortalDetail, getPortalDetail,
updatePortal, updatePortal,
deletePortal, deletePortal,
publishPortal,
} from "@/api/custom-query/portal.js"; } from "@/api/custom-query/portal.js";
import Tag from "@/components/Tag.vue"; import Tag from "@/components/Tag.vue";
import { ElMessage, ElMessageBox } from "element-plus"; 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) => { const handleSubmit = async (instance) => {
await instance.validate((success, fields) => { await instance.validate((success, fields) => {
if (success) { if (success) {
@@ -673,6 +695,11 @@ const handleSelectQueryDetail = async (queryId) => {
} }
}; };
//重置搜索
const handleReset = () => {
console.log("重置~~");
};
// 适配器来源切换 // 适配器来源切换
const handleAdapterRadioChange = () => { const handleAdapterRadioChange = () => {
form.dataAdapter.type = null; form.dataAdapter.type = null;

View File

@@ -14,7 +14,7 @@
<el-col :span="6"> <el-col :span="6">
<div class="home-top-right"> <div class="home-top-right">
<el-image :src="coffee" style="height: 100px"/> <el-image :src="coffee" style="height: 100px"/>
<span>SmartOpsWeb </span> <span>FateVerse 缘境系统</span>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>

View File

@@ -6,7 +6,7 @@
:rules="rules" :rules="rules"
label-width="65px" label-width="65px"
> >
<h3>SmartOpsWeb</h3> <h3>FateVerse</h3>
<el-form-item prop="username" label="账号"> <el-form-item prop="username" label="账号">
<el-input v-model="loginForm.username" :prefix-icon="User" ></el-input> <el-input v-model="loginForm.username" :prefix-icon="User" ></el-input>
</el-form-item> </el-form-item>

View File

@@ -255,7 +255,7 @@ const handleEdit = async (configId) => {
} }
//导出excel //导出excel
const handleExport = () => { const handleExport = () => {
downLoadExcel('/admin/config/export', {...queryParams}) downLoadExcel('/config/export', {...queryParams})
} }
//勾选table数据行的 Checkbox //勾选table数据行的 Checkbox

View File

@@ -72,7 +72,7 @@ const data = reactive({
currentRender: ({row, index}) => { currentRender: ({row, index}) => {
return ( return (
<div> <div>
<el-Button type={'primary'} link <el-Button type={'primary'} link
onClick={()=>handleEdit(row)} onClick={()=>handleEdit(row)}
> >
编辑 编辑
@@ -83,7 +83,7 @@ const data = reactive({
} }
} }
], ],
api: '/admin/ip/back', api: '/ip/back',
params: {} params: {}
}, },
// search // search
@@ -181,7 +181,7 @@ const search = (val) => {
if(val.dateValue) { if(val.dateValue) {
params.startTime = val.dateValue[0] params.startTime = val.dateValue[0]
params.endTime = val.dateValue[1] params.endTime = val.dateValue[1]
} }
delete params.dateValue delete params.dateValue
data.tableConfig.params = params data.tableConfig.params = params
tableIns.value.refresh() tableIns.value.refresh()
@@ -208,11 +208,11 @@ const handleCancel = () => {
const handleExport = () => { const handleExport = () => {
const baseQuery = tableIns.value.getQuery() const baseQuery = tableIns.value.getQuery()
downLoadExcel('/admin/ip/back/export', {...baseQuery, ...data.tableConfig.params}) downLoadExcel('/ip/back/export', {...baseQuery, ...data.tableConfig.params})
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
</style> </style>

View File

@@ -558,7 +558,7 @@ const handleDictDataSubmit = async (instance) => {
//导出excel //导出excel
const handleExport = () => { const handleExport = () => {
downLoadExcel("/admin/dict/type/export", {...queryType}); downLoadExcel("/dict/type/export", {...queryType});
}; };
//切换每页显示条数 //切换每页显示条数

View File

@@ -172,7 +172,7 @@ const handleCancel = () => {
} }
const handleExport = () => { const handleExport = () => {
downLoadExcel('/admin/ip/back/export', {...queryParams}) downLoadExcel('/ip/back/export', {...queryParams})
} }
//切换每页显示条数 //切换每页显示条数

View File

@@ -1,8 +1,8 @@
import { fileURLToPath, URL } from "node:url"; import {fileURLToPath, URL} from "node:url";
import { defineConfig } from "vite"; import {defineConfig} from "vite";
import AutoImport from "unplugin-auto-import/vite"; import AutoImport from "unplugin-auto-import/vite";
import Components from "unplugin-vue-components/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 Icons from "unplugin-icons/vite";
import IconsResolver from "unplugin-icons/resolver"; import IconsResolver from "unplugin-icons/resolver";
import vue from "@vitejs/plugin-vue"; import vue from "@vitejs/plugin-vue";
@@ -69,16 +69,19 @@ export default defineConfig({
strictPort: false, strictPort: false,
open: true, open: true,
proxy: { proxy: {
"/api/custom/": { // "/api/custom/": {
target: "http://clay.frp.feashow.cn", // target: "http://clay.frp.feashow.cn",
// target: "http://10.7.127.57:8000", // // 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, changeOrigin: true,
rewrite: (path) => path.replace(/^\/api/, ""), rewrite: (path) => path.replace(/^\/api/, ""),
}, },
"/api": {
target: "http://fateverse-vue.frp.feashow.cn",
changeOrigin: true,
},
"/api/notice-ws": { "/api/notice-ws": {
target: "ws://fateverse-vue.frp.feashow.cn/api/notice-ws", target: "ws://fateverse-vue.frp.feashow.cn/api/notice-ws",
ws: true, ws: true,