接口白名单路由添加
This commit is contained in:
@@ -2,4 +2,4 @@
|
|||||||
ENV = 'development'
|
ENV = 'development'
|
||||||
|
|
||||||
# 本地环境接口地址
|
# 本地环境接口地址
|
||||||
VITE_API_URL = 'http://localhost:8888/'
|
VITE_API_URL = 'http://192.168.1.246:8000/'
|
||||||
@@ -8,6 +8,7 @@ export default {
|
|||||||
systemUser: '用户管理',
|
systemUser: '用户管理',
|
||||||
systemDept: '部门管理',
|
systemDept: '部门管理',
|
||||||
systemDic: '字典管理',
|
systemDic: '字典管理',
|
||||||
|
systemApiWhiteList: '接口白名单',
|
||||||
limits: '权限管理',
|
limits: '权限管理',
|
||||||
limitsFrontEnd: '前端控制',
|
limitsFrontEnd: '前端控制',
|
||||||
limitsFrontEndPage: '页面权限',
|
limitsFrontEndPage: '页面权限',
|
||||||
@@ -72,7 +73,7 @@ export default {
|
|||||||
tools: '工具类集合',
|
tools: '工具类集合',
|
||||||
layoutLinkView: '外链',
|
layoutLinkView: '外链',
|
||||||
layoutIfameView: '内嵌 iframe',
|
layoutIfameView: '内嵌 iframe',
|
||||||
demo1:'demo1'
|
demo1: 'demo1',
|
||||||
},
|
},
|
||||||
staticRoutes: {
|
staticRoutes: {
|
||||||
signIn: '登录',
|
signIn: '登录',
|
||||||
|
|||||||
@@ -137,6 +137,21 @@ export const dynamicRoutes: Array<RouteRecordRaw> = [
|
|||||||
icon: 'ele-SetUp',
|
icon: 'ele-SetUp',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: '/system/apiWhiteList',
|
||||||
|
name: 'apiWhiteList',
|
||||||
|
component: () => import('/@/views/system/apiWhiteList/index.vue'),
|
||||||
|
meta: {
|
||||||
|
title: 'message.router.systemApiWhiteList',
|
||||||
|
isLink: '',
|
||||||
|
isHide: false,
|
||||||
|
isKeepAlive: true,
|
||||||
|
isAffix: false,
|
||||||
|
isIframe: false,
|
||||||
|
roles: ['admin'],
|
||||||
|
icon: 'ele-SetUp',
|
||||||
|
},
|
||||||
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -1142,7 +1157,7 @@ export const dynamicRoutes: Array<RouteRecordRaw> = [
|
|||||||
roles: ['admin'],
|
roles: ['admin'],
|
||||||
icon: 'iconfont icon-neiqianshujuchucun',
|
icon: 'iconfont icon-neiqianshujuchucun',
|
||||||
},
|
},
|
||||||
}
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|||||||
92
web/src/views/system/apiWhiteList/index.vue
Normal file
92
web/src/views/system/apiWhiteList/index.vue
Normal file
@@ -0,0 +1,92 @@
|
|||||||
|
<template>
|
||||||
|
<fs-page>
|
||||||
|
<fs-crud ref="crudRef" v-bind="crudBinding" />
|
||||||
|
</fs-page>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" setup>
|
||||||
|
import { ref, onMounted } from 'vue';
|
||||||
|
import { useExpose, useCrud, CrudOptions, AddReq, DelReq, EditReq } from '@fast-crud/fast-crud';
|
||||||
|
import _ from 'lodash-es';
|
||||||
|
|
||||||
|
interface CreateCrudOptionsTypes {
|
||||||
|
crudOptions: CrudOptions;
|
||||||
|
}
|
||||||
|
|
||||||
|
//此处为crudOptions配置
|
||||||
|
const createCrudOptions = function (prop?: CrudOptions): CreateCrudOptionsTypes {
|
||||||
|
//本地模拟后台crud接口方法 ----开始
|
||||||
|
const records = [{ id: 1, name: 'Hello World' }];
|
||||||
|
const pageRequest = async (query: any) => {
|
||||||
|
return {
|
||||||
|
records,
|
||||||
|
currentPage: 1,
|
||||||
|
pageSize: 20,
|
||||||
|
total: records.length,
|
||||||
|
};
|
||||||
|
};
|
||||||
|
const editRequest = async (req: EditReq) => {
|
||||||
|
const target = _.find(records, (item) => {
|
||||||
|
return req.row.id === item.id;
|
||||||
|
});
|
||||||
|
_.merge(target, req.form);
|
||||||
|
return target;
|
||||||
|
};
|
||||||
|
const delRequest = async (req: DelReq) => {
|
||||||
|
_.remove(records, (item) => {
|
||||||
|
return item.id === req.row.id;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
const addRequest = async (req: AddReq) => {
|
||||||
|
const maxRecord = _.maxBy(records, (item) => {
|
||||||
|
return item.id;
|
||||||
|
});
|
||||||
|
req.form.id = (maxRecord?.id || 0) + 1;
|
||||||
|
records.push(req.form);
|
||||||
|
return req.form;
|
||||||
|
};
|
||||||
|
//本地模拟后台crud接口方法 ----结束
|
||||||
|
return {
|
||||||
|
crudOptions: {
|
||||||
|
request: {
|
||||||
|
pageRequest,
|
||||||
|
addRequest,
|
||||||
|
editRequest,
|
||||||
|
delRequest,
|
||||||
|
},
|
||||||
|
columns: {
|
||||||
|
name: {
|
||||||
|
title: '姓名',
|
||||||
|
type: 'text',
|
||||||
|
search: { show: true },
|
||||||
|
form: {
|
||||||
|
component: {
|
||||||
|
maxlength: 20,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
// crud组件的ref
|
||||||
|
const crudRef = ref();
|
||||||
|
// crud 配置的ref
|
||||||
|
const crudBinding = ref();
|
||||||
|
// 暴露的方法
|
||||||
|
const { expose } = useExpose({ crudRef, crudBinding });
|
||||||
|
// 你的crud配置
|
||||||
|
const { crudOptions } = createCrudOptions({ expose });
|
||||||
|
// 初始化crud配置
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-unused-vars
|
||||||
|
const { resetCrudOptions } = useCrud({ expose, crudOptions });
|
||||||
|
// 你可以调用此方法,重新初始化crud配置
|
||||||
|
// resetCrudOptions(options)
|
||||||
|
|
||||||
|
// 页面打开后获取列表数据
|
||||||
|
onMounted(() => {
|
||||||
|
expose.doRefresh();
|
||||||
|
});
|
||||||
|
</script>
|
||||||
Reference in New Issue
Block a user