This commit is contained in:
dap
2024-12-09 08:10:10 +08:00
32 changed files with 249 additions and 146 deletions

View File

@@ -1,9 +0,0 @@
{
"editor.tabSize": 2,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit",
"source.fixAll.stylelint": "explicit"
}
}

View File

@@ -108,7 +108,13 @@ async function initComponentAdapter() {
return h(Button, { ...props, attrs, type: 'default' }, slots);
},
Divider,
IconPicker,
IconPicker: (props, { attrs, slots }) => {
return h(
IconPicker,
{ iconSlot: 'addonAfter', inputComponent: Input, ...props, ...attrs },
slots,
);
},
Input: withDefaultPlaceholder(Input, 'input'),
InputNumber: withDefaultPlaceholder(InputNumber, 'input'),
InputPassword: withDefaultPlaceholder(InputPassword, 'input'),

View File

@@ -10,6 +10,7 @@ import {
authenticateResponseInterceptor,
errorMessageResponseInterceptor,
RequestClient,
stringify,
} from '@vben/request';
import { useAccessStore } from '@vben/stores';
@@ -94,6 +95,23 @@ function createRequestClient(baseURL: string) {
// 添加全局clientId
config.headers.clientId = clientId;
/**
* 格式化get/delete参数
* 如果包含自定义的paramsSerializer则不走此逻辑
*/
if (
['DELETE', 'GET'].includes(config.method?.toUpperCase() || '') &&
config.params &&
!config.paramsSerializer
) {
/**
* 1. 格式化参数 微服务在传递区间时间选择(后端的params Map类型参数)需要格式化key 否则接收不到
* 2. 数组参数需要格式化 后端才能正常接收 会变成arr=1&arr=2&arr=3的格式来接收
*/
config.paramsSerializer = (params) =>
stringify(params, { arrayFormat: 'repeat' });
}
const { encrypt } = config;
// 全局开启请求加密功能 && 该请求开启 && 是post/put请求
if (

View File

@@ -68,7 +68,7 @@ export function renderJsonPreview(json: any) {
return <span>{json}</span>;
}
if (typeof json === 'object') {
return <JsonPreview data={json} />;
return <JsonPreview class="break-normal" data={json} />;
}
try {
const obj = JSON.parse(json);
@@ -76,7 +76,7 @@ export function renderJsonPreview(json: any) {
if (typeof obj !== 'object') {
return <span>{obj}</span>;
}
return <JsonPreview data={obj} />;
return <JsonPreview class="break-normal" data={obj} />;
} catch {
return <span>{json}</span>;
}

View File

@@ -157,12 +157,15 @@ export const descSchema: DescItem[] = [
field: 'method',
label: '方法',
},
/**
* 默认word-break: break-word;会导致json预览样式异常
*/
{
field: 'operParam',
label: '请求参数',
render(value) {
return (
<div class="max-h-[300px] overflow-y-auto">
<div class="max-h-[300px] w-full overflow-y-auto">
{renderJsonPreview(value)}
</div>
);
@@ -173,7 +176,7 @@ export const descSchema: DescItem[] = [
label: '响应参数',
render(value) {
return (
<div class="max-h-[300px] overflow-y-auto">
<div class="max-h-[300px] w-full overflow-y-auto">
{renderJsonPreview(value)}
</div>
);

View File

@@ -28,7 +28,7 @@ const [BasicForm, formApi] = useVbenForm({
layout: 'vertical',
schema: drawerSchema(),
showDefaultActions: false,
wrapperClass: 'grid-cols-2',
wrapperClass: 'grid-cols-2 gap-x-4',
});
function setupForm(update: boolean) {